Automatyczne programowanie


original:http://www.cs.utexas.edu/~novak/autop.html

Automatyczne programowanie jest zdefiniowany jako syntezę programu ze specyfikacją. Jeśli automatyczne programowanie ma być użyteczny, specyfikacja musi być mniejsza i łatwiej napisać niż program byłoby, gdyby napisany w typowym języku programowania.

Nasze podejście do automatycznego programowania opiera się na ponowne wykorzystywanie podstawowych algorytmów poprzez poglądów. Ogólny algorytm wykonuje pewne zadania, takie jak sortowanie połączonej listy rekordów, opartą na abstrakcyjnych opisów danych, na których działa program. Widok opisuje, w jaki sposób rzeczywiste dane aplikacji odpowiada abstrakcyjnych danych, wykorzystywanych w ogólnej algorytmu. Biorąc pod uwagę pogląd, ogólny algorytm może być specjalizuje się w procesie kompilacji produkować wersję algorytmu, który wykonuje algorytm bezpośrednio na danych aplikacji.

Graficzny interfejs użytkownika ułatwiają użytkownikowi tworzyć widoki danych aplikacji. Biorąc pod uwagę widok, jeden z algorytmów biblioteki zdefiniowanych dla tego widoku mogą być specjalistyczne do pracy z danymi aplikacji. Specjalistyczne programy mogą być produkowane w wielu językach (Lisp, C, C + +, Java lub Pascal) z jednej kopii ogólnych algorytmów.

Związane system pozwala Program należy określić graficznie poprzez podłączenie diagramów, które reprezentują dane, prawa fizyczne i modeli matematycznych.

On-line demonstracje tych programów są avialable poniżej.

Odwiedzin

Publikacje

CS 394P: Automatyczne programowanie

Prezentacje oprogramowania:
Uwaga: wersje X demos (po lewej stronie) mogą być bardziej wiarygodne, wymagają one serwera X (np. Cygwin pod Windows). W WeirdX wersje (po stronie prawej) może być używany z dowolnej przeglądarki internetowej.

Automatyczny Server Programowanie: tworzenie programów w Lisp, C, C + +, Java lub Pascal. [WeirdX wersja]
VIP demo: pisanie programów i robić fizykę, podłączając diagramów. [WeirdX wersja]
Serwer graficzny Programowanie: tworzenie programów w Lisp, C, C + +, Java lub Pascal. [WeirdX wersja]
Demo konwersji jednostek: konwersji jednostek miary. [Wersja X]