Ogólna charakterystyka automatycznego programowania
From Obrona
Już z chwilą pojawienia sie pierwszych języków programowania (Algol, Fortran) powstało pojęcie automatycznego programowania. Wiązało sie to z ograniczoną wydajnością pracy programistów i nieporównywalnie szybszym rozwojem sprzętu komputerowego (szybkośc przetwarzania). W programach komputerowych zawarta jes pewna wiedza o problemie oraz metodzie jego rozwiązania. W automatycznym programowaniu wiedze tę należy nabyć do bazy wiedzy komputera aby komputer mogł ją wykorzystać do automatycznej syntezy programu. Wiedza pobierana jest z kodu źródłowego programu a wykorzystywany jest fakt, iż w programach powtarzają się te same komponenty strukturalne algorytmów.
Automatyczne programowanie wiąże sie z językami specyfikacji (metodami specyfikacji), dzięki którym komputer może zrozumieć dany język programowania i utworzyć w ten sposób algorytm rozwiązania. Możemy wyróżnić następujące metody specyfikacji:
- specyfikacja przez przykłady - komputer nabywa wiedzę poprzez podawane na wejście przykłady
- specyfikacja formalna - podana w sformalizowanej (ściśle określonej) postaci
- specyfikacja w języku naturalnym ograniczonym
- specyfikacja w języku VHLL (ang. Very High Level Language)
- specyfikacja przez dialog z użytkownikiem - specyfikacja odbywa sie poprzez serię pytań komputera i udzielanych przez człowieka odpowiedzi
- specyfikacja w języku naturalnym mająca postać poleceń użytkownika
Inne cechy AP:
- język w jakim komputer ma wygenerować program (ang. target language)
- dziedzina zastosowania - przetwarzanie symboliczne (operacje na listach, itp.)lub numeryczne (obliczenia)
- metody opercji ???