Programare conceptuală

Programarea conceptuală este o abordare a programării descrisă de E.Kh. Tyugu în cartea cu același nume [1] . K. programarea presupune operarea cu concepte ( concepte ) descrise din punct de vedere al domeniului de studiu, ceea ce permite utilizarea calculatoarelor în stadiul de stabilire a problemei. O descriere suficient de precisă a problemei permite computerului să compună automat programe pentru rezolvarea acesteia. Trăsăturile caracteristice ale programării conceptuale sunt, de asemenea, utilizarea limbajului domeniului de studiu și utilizarea memoriei semantice pentru a acumula cunoștințe despre sarcinile de rezolvat.

Sarcina care intră în intrarea sistemului de programare conceptuală, scrisă în termeni de domeniu, este interpretată pe rețeaua semantică , care descrie modelul domeniului de studiu. Modulele de program pre-preparate și depanate asociate cu conceptele domeniului subiectului sunt apoi utilizate pentru a sintetiza o soluție gata făcută (sau a sintetiza un program care rezolvă o problemă) [2] . Cu alte cuvinte, k. programarea presupune existența unei baze de cunoștințe , care include componente elementare care vă permit să construiți o soluție a unei probleme arbitrare dintr-o anumită zonă de subiect.

Aplicație

Aplicarea ideilor de programare K. a fost inițial destinată proiectării dispozitivelor tehnice. În anii '90, logicianul american Wang Hao (Wong) a propus utilizarea programării K. pentru a modela comportamentul sistemelor sociale, economice și politice [3] .

Sisteme și limbaje de programare conceptuale

Prima implementare a principiilor programării conceptuale a fost sistemul PRIZ EU, iar implementarea limbajului a fost limbajul UTOPIST, dezvoltat la EC AS ESSR sub îndrumarea lui E.Kh. Tyugu în 1988 [4] . Un exemplu de program în limbajul UTOPIST arăta astfel:

<!-- nu este acceptat --> start K este un pătrat, latura = X. C este un cerc, diametrul = X. se știe că S = aria din K - aria din C. găsiți S prin X sfarsit

Acest exemplu arată că s-au făcut încercări de a apropia limbajul, prin aplicarea unor definiții macro, de forma unui limbaj natural.

La începutul anilor 2000, a apărut o abordare a programării cu un nume similar ( Programare conceptuală ). De asemenea, implică operarea asupra conceptelor care trebuie transpuse în reprezentări găsite în spațiul programului. Implementarea acestei abordări a fost realizată sub forma limbajului XL , ale cărui principale caracteristici sunt sintaxa și semantica extensibile.

În lucrări [5] [6] s-a încercat dezvoltarea ideilor inițiale de programare K. în direcția utilizării unui procesor lingvistic pentru procesarea programelor scrise în limbaj natural. În sistemul Nalaps, baza de cunoștințe de domeniu este descrisă sub formă de module de program - biblioteci de clase de limbaj Java cu marcare semantică a atributelor de clasă. Se analizează textul în limbaj natural care intră în sistem, rezultatul căruia este o reprezentare sintactic-semantică, conform căreia sistemul sintetizează și compilează apoi automat codul programului în limbajul Java.

Note

  1. Tyugu E. H. Programare conceptuală. M.: Nauka, 1984. 255 p.
  2. Ilyin A. V., Ilyin V. D. FORMALIZAREA CUNOAȘTERII DESPRE SARCINI: SARCINI OBIECTE DE CONSTRUCȚIE // Tehnologiile informației în management. Managementul sistemelor mari. Problema 34 . Preluat la 21 mai 2017. Arhivat din original la 17 aprilie 2018.
  3. Moskvitin, A. A. Rezolvarea problemelor pe computere: manual / A. A. Moskvitin. - Novosibirsk: SibGUTI, 2006. - 158 p.
  4. Sistem de programare instrumentală ES COMPUTER (PRIZ) / M.I. Kakhro, A.P. Kalya, Ann Haraldovici Tyugu. – Ed. al 2-lea, revizuit. si adauga. - Moscova: Finanțe și statistici, 1988. – 181 p. : scheme. - Bibliografie. la sfârşitul cărţii - In rusa. lang. - ISBN 5-279-00111-2
  5. Putilov G.P., Lebedev A.S., System of natural language conceptual programming Nalaps // Conferința științifică internațională Megaling 2009, pp. 65-66
  6. Lebedev, Andrei Sergheevici. Dezvoltarea și cercetarea unui sistem de programare conceptuală folosind un procesor lingvistic: disertație ... Cand.Tech.Sci.: 05.13.11 / Lebedev Andrey Sergeevich; [Locul de protecție: Mosk. stat Institutul de Electronică și Matematică].- Moscova, 2011.- 178 p.: ill. RSL OD, 61 11-5/1627

Literatură