1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus értelemben vett objektum elvű programozás. Objektumelvűség ma. Az informatikus munkája inkább mérnöki munka. Technológia kell: módszer + szabványok + szervezés. Programfejlesztés = leírások készítése. A rendszerleírások aspektusai.(Példa:útkereszteződés, lámpa.) Követelmény interfész. Specifikációs interfész, tűzfal. A gép leírása. A domén leírása. (A formalizáció két fontos eleme: Deszignáció; Formális definíció).
2. előadás. 2.) A megoldandó probléma megfogalmazása. Feladat: miképpen írjuk le a mi világunkban jelentkező problémát és kevésbé a gép által végrehajtandó szoftver rendszer megtervezése. A világ jelenségei informálisan mutatkoznak meg, a szoftver fejlesztőjének kell a formalizálást kigondolnia. Formalizáció: Deszignációk (megnevezések). Formális definíciók. Modellek: analitikus modell, ikon modell, analóg modell. Szemléltető példák. Lift kijelző rendszer. Gyakorlati problémák megoldásának szemléltetése.
3. előadás. 3.) Modellezési relációs viszonyok. Feladat megosztás: Alkalmazási terület szakembere. Szoftverfejlesztő. A gyakorlati kérdések megoldása, szemléltető példa. Probléma dekompozíció és struktúrák leírása. Azonos domének kezelésének problémája. Példa: egy öntöző rendszer zsilipjének vezérlése.
4. előadás. 4.) Típusos kifejezések. Felírási formák. Jelentése. Kiértékelése. Aktualizálása. Alaptípusok. Származtatott típusok (magasabb típusok). Változók. Konstansok. Relációk. Függvények. Tömb. Típusos kifejezések rekurzív definíciója. Kifejezések felírási formája, kifejezések kiértékelése. Kifejezések szemantikája, szemantikai tartomány, Egy rendszer szemantikai tartománya. Értelmezés. Szemantika definíciója. Állapotok aktualizálása. S[s]( ) induktív definíciója.
5. előadás. 5.) A determinisztikus program, szintaxis. Alapfogalmak: állítás; Alaphalmazok. Az alaphalmazokon értelmezett szokásos kifejezések rekurzív definíciói. Behelyettesítés (substitution). s[u:=t] formális definíciója, kiterjesztések. A programot generáló grammatika. Operációs szemantika-definíciós módszer. A nyelvi szerkezetek szemantikája.
6. előadás. 6.) A determinisztikus program szemantikája. Parciális helyességi szemantika. Teljes helyességi szemantika. Szemléltető példák. Az iteráció induktív definíciója. A szemantika tulajdonságai. Szekvenciális tranzakciós diagram. A program vezérlési szerkezete. Tranzakciós diagramok ekvivalenciája.
7. előadás. 7.) Kommunikációs alapfogalmak, példák. XX. század: Robbanásszerű fejlődés az informatika területén. A szekvenciális program és a párhuzamos program közötti különbség. Konkurens program jellemzői. Kommunikációs hálózat: probléma és követelmény. Folyamat, közös használatú erőforrás. Kommunikáció. Kommunikáció sikeressége. Szinkronizáció. Kölcsönös kizárás Petterson példáinak elemzése. Kölcsönös kizárás Dijkstra példája az aktív várakozással történő szinkronizációra, elemzés. Bizonyos tulajdonságú objektum párhuzamos keresése felosztott adatbázisban, elemzés.
8. előadás. 8.) Diszjunkt párhuzamos struktúra. Determinisztikus komponenseket tartalmazó diszjunkt párhuzamos Program. Jelölések. Diszjunkt párhuzamos program szintaxisa. Gyenge értelemben vett determinisztikuság definíciója. A diszjunkt párhuzamos program gyenge értelemben determinisztikus, a bizonyítás gondolatmenete. Input-output ekvivalencia. Szekvencializáció. A szekvencializáció jelentése. A szekvencializációra vonatkozó állítás bizonyítása.
9. előadás. 9.a) Közös változóval rendelkező párhuzamos programszerkezet. Informális definíció. A párhuzamosan történő végrehajtás követelményei. A közös változóhoz való hozzáférések. Reynold féle kritérium. Atomi műveletek. Közös változóval rendelkező determinisztikus párhuzamos program szintaxisa, szemantika. Szemantikára vonatkozó lemmák. Atomi megvalósításra vonatkozó megközelítések. 9.b) Párhuzamos program szinkronizációval. Szintaxis. Szemantika. Szemantikára vonatkozó állítások. A Dijkstra féle szemafor utasítások, azok implementációi. A párhuzamos program parciális, gyenge teljes, teljes helyességi szemantikája.
10. előadás. 10.a) Termelő-fogyasztó modell. A probléma informális specifikációja. Megállapodás informális leírása. Megállapodás formális leírása. Az absztrakt program. Realizációk. A konkrét program. 10.b) Erőforrás közös használatának problémaköre. Kiéheztetés informális definíciója. Az erőforrás monopolizálásának definíciója. A kiéheztetés-mentes szinkronizáció problémája. A rendszer formális megfogalmazása végtelenített rendszerre. A kiéheztetés-mentesség feltételeinek formális megfogalmazása. Példák: Az adatbázis egy absztrakt modellje. Az absztrakt modell monopolizáció mentes változata.
12. előadás. 12.a) Kommunikáció csatornán keresztül osztott rendszer. Informális definíciók. Nem determinisztikus iteráció. Kommunikációs csatorna I/O utasításai. Illeszthetőség jelentése. Formális definíciók. 12.b) Komponens elvű programfejlesztés. Jones féle megközelítés. Komponens elvű programozás, ágensekkel. Megállapodás fejlődési formái. Ágens rendszer formális definíciója. Szemléltető példák. Korrekt tulajdonság: fair tulajdonság. Szemléltető példák elemzése. Gyenge fair követelmény. Példa az erős fair tulajdonságra. A fair programok szemantikájának definíciója.
11. előadás. 11.) Szekvenciális és párhuzamos nem determinisztikus program. A nem determinisztikusság és a párhuzamosság. Nem determinisztikus program, iterációs formák. Szintaxis. Az iteráció rekurzív definíciója. Párhuzamos nem determinisztikus program. Szemantika informális definíciója. Szemantika formális definíciója. Parciális, teljes helyességi szemantika formális definíciója. Szemantika definiálása tranzakciós diagram segítségével. Párhuzamos program nem determinisztikus programmá való áttranszformálása. Szemantika tulajdonságai.