Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.

Hasonló előadás


Az előadások a következő témára: "Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához."— Előadás másolata:

1

2 Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához

3 Programozáselmélet n Programmodellek n szekvenciális programok n rekurzív programok n nemdeterminisztikus elemek n párhuzamos programok n funkcionális programok n Programok szemantikája n transzlációs szemantika n attribútumnyelvtanok n operációs szemantika n denotációs szemantika n axiomatikus szemantika

4 Programozáselmélet Operációs szemantika Denotációs szemantika Axiomatikus szemantika Szekvenciális programok Rekurzió Nemdeterminisz- tikus elemek Párhuzamosság Funkcionális programok

5 Irodalom n Jan van Leeuwen ed.: Handbook of Theoretical Computer Science: Formal Models and Semantics, Elsevier Pub –P. Cousot: Methods and Logic for Proving Programs –H. P. Barendregt: Functional Programming and Lambda Calculus n H. R. Nielson - F. Nielson: Semantics with Applications: A Formal Introduction, n Kozma L. - Varga L.: A szoftvertechnológia elméleti kérdései, ELTE n Csörnyei Z.: Lambda-kalkulus, előadás jegyzet ELTE

6 Transzlációs szemantika Program Input adat Tárgyprogram Program output Transzlációs függvény Végrehajtás

7 Szövegkörnyezet n Nem hiszek a reinkarnációban. Már az előző életemben sem hittem benne. n Edd meg fiam a héját is! – mondta a sas a válogatós fiókájának. n Bizonytalan vagyok. Vagy mégsem?

8 Attribútumnyelvtan Komponensei: n G környezetfüggetlen nyelvtan n A attribútumok rendszere A nyelvtan nemterminális szimbólumaihoz attribútumokat (adott típusú változókat) rendelhetünk, Ezek tartalma lesz a jelentés egy- egy komponense. Az attribútumok kétfélék: szintetizáltak és örököltek. Az előbbiek a nemterminálisból levezetett szóból kinyer- hető jelentést, míg az utóbbiak a szövegkörnyezet jelentés- módosító hatásait tartalmazzák. n Pszemantikai egyenletek –Az egyenletekkel lehet definiálni a nyelvtan szabályaiban szereplő nemterminálisok attribútumai közti összefüggéseket

9 Egy mondat jelentésének meghatározása: A mondat szintaxisfájában szereplő nemterminálisok attribútumai annyi példányban szerepelnek, ahány példányban maga a nemterminális szerepel. Egy nemterminálisból levezetett részszó jelentését a nemterminális szintetizált attribútumai képviselik, amely függ a külső hatásokat megtestesítő örökölt attribútumuktól. Azaz a kiszámítás folyamatában az örökölt attribútumok az input adatok, a szintetizáltak az outputok. Az attribútumelőfordulások tartalmának meghatározása a szemantikai egyenletek alapján történik. Attribútumnyelvtan

10 Attribútumfüggőségek sémája p A q u B vx C y... Szintetizált attribútumok: q, v, y Örökölt attribútumok: p, u, x

11 Példa: Bináris valós konstansok n Környezetfüggetlen nyelvtan: n Attribútumok rendszere:

12 Példa: Bináris valós konstansok n Szemantikai egyenletek és a lokális függőség. S v r N v l r B v

13 Példa: Bináris valós konstansok n Szemantikai egyenletek és a lokális függőség r N v l 0 r B v 1

14 Szintaxisfa S N. N N B N NB0B B N 01 1

15 Attribútum előfordulások. S v r N v l r B v

16 Lokális attribútum függőségek. S v r N v l r B v

17 Globális attribútum függőségek. S v r N v l r B v

18 Attribútumok redukálása. S v r N v l r B v

19 Attribútumok kiértékelése. S v r N v l r B v

20 Operációs szemantika ProgramInput adat Eredmény Operációspecifikáció Az operációspecifikáció szokásos komponensei: n konfigurációk halmaza operációs reláció: bináris reláció a konfigurációk halmazán (a megtehető elemi operációk halmaza) n kezdő konfigurációk, végkonfigurációk

21 Denotációs szemantika Program Matematikai denotáció Jelentésfüggvény Az inputot és outputot, és a köztük lévő kapcsolatot kifejező matematikai objektum a matematika nyelvén megfogalmazva

22 Axiomatikus szemantika Magasabb absztrakciós szint: nem a program inputja és outputja közti kapcsolat közvetlen leírása a cél. n Feladat (pl. input- és output- feltételpár) n Helyességfogalmak (feladat és program viszonya) n Kalkulus a helyesség bizonyításához n A helyességet kifejező formulák n Axiómák, levezetési szabályok (pl. Hoare-kalkulus, Dijkstra-kalkulus stb.)

23 Pragmatika n - Nincs itt túl meleg? = Legyen szíves kinyitni az ablakot. - Mindjárt kinyitom az ablakot. n - Nem unja már? = Nagyon zavar, amit csinál, legyen szíves befejezni. - Ha zavarja, befejezem. n - Mi van itt, bolondok háza?! = Azonnal fejezzék be ezt a rendetlenkedést. - Elnézést, azonnal befejezzük. vagy - Igen, de mi itt csak látogatók vagyunk.


Letölteni ppt "Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához."

Hasonló előadás


Google Hirdetések