Konceptuel programmering

Konceptuel programmering er en tilgang til programmering beskrevet af E.Kh. Tyugu i bogen af ​​samme navn [1] . K. programmering indebærer at arbejde med begreber ( koncepter ) beskrevet i forhold til fagområdet, hvilket gør det muligt at bruge computere på det stadie, hvor problemet stilles. En tilstrækkelig præcis beskrivelse af problemet gør det muligt for computeren automatisk at sammensætte programmer til at løse det. Karakteristiske træk ved konceptuel programmering er også brugen af ​​fagområdets sprog og brug af semantisk hukommelse med henblik på at opsamle viden om de opgaver, der løses.

Opgaven, der kommer ind i det konceptuelle programmeringssystems input, skrevet i forhold til emneområdet, fortolkes på det semantiske netværk , som beskriver modellen for emneområdet. Forberedte og debuggede programmoduler knyttet til fagområdets begreber bruges derefter til at syntetisere en færdiglavet løsning (eller syntetisere et program, der løser et problem) [2] . Med andre ord forudsætter k. programmering eksistensen af ​​en videnbase , som omfatter elementære komponenter, der giver dig mulighed for at bygge en løsning af et vilkårligt problem for et givet emneområde ud fra dem.

Ansøgning

Anvendelsen af ​​ideerne om K. programmering var oprindeligt beregnet til design af tekniske enheder. I 90'erne foreslog den amerikanske logiker Wang Hao (Wong) brugen af ​​K. programmering til at modellere adfærden af ​​sociale, økonomiske og politiske systemer [3] .

Konceptuelle programmeringssystemer og sprog

Den første implementering af principperne for konceptuel programmering var PRIZ EU-systemet, og sprogimplementeringen var det UTOPISTISKE sprog, udviklet ved EC AS ESSR under vejledning af E.Kh. Tyugu i 1988 [4] . Et eksempel på et program i UTOPIST-sproget så således ud:

<!-- ikke understøttet --> Start K er et kvadrat, side = X. C er en cirkel, diameter = X. det er kendt, at S = areal fra K - areal fra C. find S ved X slutningen

Dette eksempel viser, at man ved at anvende makrodefinitioner forsøgte at bringe sproget tættere på formen af ​​et naturligt sprog.

I begyndelsen af ​​2000'erne opstod en tilgang til programmering med et lignende navn ( Concept programmering ). Det involverer også at operere på begreber , der skal omsættes til repræsentationer, der findes i programrummet. Implementeringen af ​​denne tilgang blev lavet i form af XL-sproget , hvis hovedtræk er udvidelig syntaks og semantik.

I værker [5] [6] blev der gjort et forsøg på at udvikle de indledende ideer om K. programmering i retning af at bruge en sproglig processor til at behandle programmer skrevet i naturligt sprog. I Nalaps-systemet er domænevidenbasen beskrevet i form af programmoduler - Java -sprogklassebiblioteker med semantisk opmærkning af klasseattributter. Den naturlige sprogtekst, der kommer ind i systemet, analyseres, hvoraf resultatet er en syntaktisk-semantisk repræsentation, hvorefter systemet så automatisk syntetiserer og kompilerer programkoden i Java-sproget.

Noter

  1. Tyugu E. H. Konceptuel programmering. M.: Nauka, 1984. 255 s.
  2. Ilyin A. V., Ilyin V. D. FORMALISERING AF VIDEN OM OPGAVER: OPGAVER BYGGEFORMÅL // Informationsteknologier i ledelse. Ledelse af store systemer. Udgave 34 . Hentet 21. maj 2017. Arkiveret fra originalen 17. april 2018.
  3. Moskvitin, A. A. Problemløsning på computere: lærebog / A. A. Moskvitin. - Novosibirsk: SibGUTI, 2006. - 158 s.
  4. Instrumental programmeringssystem ES COMPUTER (PRIZ) / M.I. Kakhro, A.P. Kalya, Ann Haraldovich Tyugu. – Ed. 2., revideret. og tilføje. - Moskva: Finans og statistik, 1988. – 181 s. : ordninger. - Bibliografi. i slutningen af ​​bogen - På russisk. lang. - ISBN 5-279-00111-2
  5. Putilov G.P., Lebedev A.S., System of natural language conceptual programming Nalaps // International videnskabelig konference Megaling 2009, s. 65-66
  6. Lebedev, Andrey Sergeevich. Udvikling og forskning af et konceptuelt programmeringssystem ved hjælp af en sproglig processor: afhandling ... Cand.Tech.Sci.: 05.13.11 / Lebedev Andrey Sergeevich; [Beskyttelsessted: Mosk. stat Institut for Elektronik og Matematik].- Moskva, 2011.- 178 s.: ill. RSL OD, 61 11-5/1627

Litteratur