Általános | Önéletrajz | Publikációk | Tárgyak | In English
2008/2009 tavaszi félév
Komponens alapú szoftverfejlesztés
Programozási módszertan elmélete
Formális szemantika szeminárium
Konkurens programozás Pascal-FC nyelven
Temporális logikák alkalmazásai
A TÁRGY NEVE:
Formális szemantika |
|||||||
Célja: A
programozási nyelvek szemantikájának formalizálása. A szemantikai leírások csoportosítása
a felhasználói körök szerint. Az egyes alkalmazási területek bemutatása
példákon keresztül. |
|||||||
Tartalmi
ismeretek: A szemantikai leírások osztályozása: átmenet a
szintaxistól a szemantikához, valódi szemantika definíciók. Fordítás attribútum-nyelvtanok
alapján. Kétszintű nyelvtanok. Denotációs vagy matematikai szemantikák
elméleti háttere és alkalmazásaik. Operációs vagy műveleti szemantikák és
alkalmazásaik. A szemantikai leírások összehasonlítása. |
|||||||
Kialakítandó
készségek: A programozási nyelvek szemantikai leírásának megértése.
Készség szintű használata a különböző alkalmazási területeken. A programozási
nyelvek elméleti hátterének mélyebb megértése. |
|||||||
Összes
óraszám[1]: 60 |
|||||||
A tantárgy
kredit értéke[2]: 2 |
|||||||
tanítási-tanulási
órák típusa |
előadás |
laboratóriumi gyakorlat |
tantermi gyakorlat |
önálló tanulás |
|||
félévi óraszám |
30 |
|
|
30 |
|||
a számonkérés módja |
kollokvium |
|
|
|
|||
heti óraszám |
|
|
|
|
|||
előzmény
tárgyak |
név |
összes
óraszám |
rövid
tartalom |
||||
|
|
|
|
||||
Irodalom: H. R. Nielson, and F. Nielson: Semantics with Applications.
A Formal Introduction. John
Wiley &Sons Ltd., 1992. McIver, A., Morgan, C.: Programming Methodology.
Springer-Verlag, 2003. |
|||||||
Ajánlott irodalom: Pagan, F. G. : Formal Specification of Programming Languages: A Panoramic
Primer. Prentice Hall, INC. , 1981. Gordon, M. J. C.: The Denotational Description of Programming Languages.
Springer-Verlag, 1979. |
|||||||
A TÁRGY NEVE:
Szintézis és verifikáció |
|||||||
Célja: Programok helyességét
bizonyító és helyes programokat előállítását szolgáló módszerek
megismertetése és alkalmazása szekvenciális és párhuzamos programozási
környezetben. |
|||||||
Tartalmi
ismeretek: A helyes szekvenciális program fogalma. Szekvenciális
helyességbizonyítási módszerek. Párhuzamos és konkurens program fogalma.
Párhuzamos programok vizsgálata viselkedéselemzéssel. Párhuzamos programok
helyességbizonyítási módszerei. Konkurens programok szintézis módszerei.
Kontraktusok szerepe a helyességbizonyításban. Ágens alapú rendszerek és
kontraktusok. |
|||||||
Kialakítandó
készségek: Programok helyességének bizonyítására és helyes programok
származtatására vonatkozó módszerek készség szintű elsajátítása szekvenciális
és párhuzamos programozási környezetben. Az absztrakciós készség fejlesztése
a helyes programrendszerek létrehozásában. |
|||||||
Összes
óraszám[3]: 60 |
|||||||
A tantárgy
kredit értéke[4]: 2 |
|||||||
tanítási-tanulási
órák típusa |
előadás |
laboratóriumi gyakorlat |
tantermi gyakorlat |
önálló tanulás |
|||
félévi óraszám |
30 |
|
|
30 |
|||
a számonkérés módja |
kollokvium |
|
|
|
|||
heti óraszám |
2 |
|
|
|
|||
előzmény
tárgyak |
név |
összes
óraszám |
rövid
tartalom |
||||
|
|
|
|
||||
Irodalom: Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései. ELTE Eötvös
kiadó, 2006. Manna, Z.: Programozáselmélet. Műszaki könyvkiadó, 1981. |
|||||||
Ajánlott irodalom: Kröger, F.: Temporal Logic of Programs. Springer-Verlag, 1987. McIver, A., Morgan, C.: Programming Methodology.
Springer-Verlag, 2003. |
|||||||
A TÁRGY NEVE:
Komponens alapú szoftverfejlesztés |
|||||||
Célja: A komponens
alapú szoftverfejlesztés alapfogalmainak, módszerének, eszközeinek bemutatása
és az alkalmazás készségének kialakítása |
|||||||
Tartalmi
ismeretek: A komponens alapú szoftverfejlesztés fogalma,
összetevői. Komponens könyvtár, komponens modellek, szoftverarchitektúrák,
egy konkrét programfejlesztési modell bemutatása. Egy eszköz megismerése
verifikált rendszer létrehozására komponensekből. Komponensek verifikációja
temporális logikai specifikáció esetén |
|||||||
Kialakítandó
készségek: A komponens alapú szoftverfejlesztés elméleti
problémáinak megértése és gyakorlati alkalmazása. Eszközök használata
verifikált rendszerek létrehozására. Az absztrakciós készség növelése az
alkalmazói rendszerek teljes életciklusában. |
|||||||
Összes óraszám[5]: 90 |
|||||||
A tantárgy
kredit értéke[6]: 3 |
|||||||
tanítási-tanulási
órák típusa |
előadás |
laboratóriumi gyakorlat |
tantermi gyakorlat |
önálló tanulás |
|||
félévi óraszám |
30 |
|
|
60 |
|||
a számonkérés módja |
kollokvium |
|
|
|
|||
heti óraszám |
2 |
|
|
|
|||
előzmény
tárgyak |
név |
összes
óraszám |
rövid
tartalom |
||||
|
|
|
|
||||
Irodalom: Bass, L., Clements P., Kazman R.: Software Architecture
in Practice. Addison-Wesley, 2003. Clarke, E. M. Jr., Grumberg, O., Peled, D. A.: Model
Checking. The MIT Press, 1999. Gross, H-G.: Component-based Software Testing with UML.
Springer-Verlag, 2005. |
|||||||
Ajánlott irodalom: Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései. ELTE Eötvös
kiadó, 2006. Kröger, F.: Temporal Logic of Programs. Springer-Verlag, 1987. McIver, A., Morgan, C.: Programming Methodology. Springer-Verlag, 2005. Meyer, G. B.: Object-Oriented Software Construction, Second edition.
Prentice Hall, 1997. Nyékyné Gaizler Judit eds.: Java 2 útikalauz programozóknak. ELTE TTK
Hallgatói Alapítvány, 1999. Sike Sándor, Varga László: Szoftvertechnológia és UML. ELTE Eötvös
kiadó, 2003. |
|||||||
Szak: |
Programtervező
matematikus IV. évfolyam |
||||||||||||
Tantárgy
félévigénye: |
2 félév |
||||||||||||
Tantárgy heti
óraszáma: |
2 + 2 |
||||||||||||
Eloadók: |
Varga László
professzor emeritus és |
||||||||||||
|
|
||||||||||||
A tantárgy
tematikája: |
|||||||||||||
|
|||||||||||||
|
|
||||||||||||
Ajánlott irodalom: |
|
Programozási
módszertan elmélete I.
VIZSGATEMATIKA
2008.
május
1.
A szoftvertechnológia fogalma, programfejlesztési modellek.
Az objektum elvű programozás legfontosabb fogalmai. Az absztrakt adattípus
fogalma.
2.
Absztrakt adattípus egy matematikai modellje. Példák. Az
algebrák közötti homomorfizmus.
3. Absztrakt
adattípusok és univerzális algebrák. Az algebrai specifikáció alapfogalmai,
szignatúra morfizmus, specifikáció morfizmus.
4. Az adattípus
osztályának specifikációja. Példák.
5. Az adattípus
osztálya specifikációjának elemzése. Tételek származtatása és bizonyítási
módszereik. Példák.
6. A kettős
specifikációval kapcsolatos alapfogalmak. A reprezentációs függvény implicit és
explicit definíciója. A kettős sorra vonatkozó eredmények.
7. Kettős
specifikáció: algebrai absztrakt és algebrai konkrét specifikáció, a
megvalósítás helyességére vonatkozó tételek.
8. Az absztrakt
adattípusok elő- és utófeltételes valamint procedurális specifikációi. Kettős
specifikáció: elő- és utófeltételes absztrakt, procedurális konkrét
specifikáció, a megvalósítás helyessége.
9. Kettős
specifikáció: elő- és utófeltételes absztrakt, elő- és utófeltételes konkrét
specifikáció, a megvalósítás helyessége. Az Alphard nyelv eszközei.
10. Kettős
specifikáció: algebrai absztrakt, elő- és utófeltételes konkrét specifikáció, a
megvalósítás helyessége.
11. Szekvenciális
programok helyességének fogalmai: valódi programok fogalma, a strukturált
programok szintaxisa, a nem determinisztikus programok szintaxisa és
szemantikája.
12. Valódi
programok teljes helyességének bizonyítása Floyd módszerével.
13. Floyd
módszerének formális definiciója.
14. Programok
helyességbizonyítása Hoare módszerével. Az iteráció következtetési szabályának
helyességére vonatkozó tétel.
15. A Hoare-módszer
teljességi tétele.
16. Az adattípus
egy komplex leírása: a kétféle öröklődés kifejezése az osztály modellben.
Szak: |
Programtervező
matematikus |
||
Tantárgy
félévigénye: |
1 félév |
||
Tantárgy heti
óraszáma: |
2 |
||
|
|
||
A tantárgy
tematikája: |
A programozási
nyelvek szemantikája területén elért legújabb eredmények áttekintése a
szakirodalom alapján. |
||
|
|
||
Ajánlott irodalom: |
|
Szak: |
Programtervező
matematikus |
||||||||
Tantárgy
félévigénye: |
1 félév |
||||||||
Tantárgy heti
óraszáma: |
2 óra előadás |
||||||||
Számonkérés módja: |
kollokvium |
||||||||
|
|
||||||||
A tantárgy
tematikája: |
|
||||||||
|
|
||||||||
Ajánlott irodalom: |
|
Szak: |
Az előadást bárki
felveheti. |
||||||
Tantárgy
félévigénye: |
1 félév |
||||||
Tantárgy heti
óraszáma: |
2 óra előadás |
||||||
|
|
||||||
A tantárgy
tematikája: |
|||||||
|
|||||||
|
|
||||||
Ajánlott irodalom: |
|
Szak: |
Programtervező
matematikus, doktoranduszok |
||||||||
Tantárgy
félévigénye: |
1 félév |
||||||||
Tantárgy heti
óraszáma: |
2 óra előadás |
||||||||
Számonkérés módja: |
kollokvium |
||||||||
|
|
||||||||
Előismeret: |
|||||||||
|
|||||||||
|
|
||||||||
Oktatási célkitűzés: |
|||||||||
|
|||||||||
|
|
||||||||
Tematika: |
|||||||||
|
|||||||||
|
|
||||||||
Ajánlott irodalom: |
|
[1] Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma +önálló tanulás becsült óraszáma
[2] A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével számolni:
kredit = összes óraszám/30
[3] Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma +önálló tanulás becsült óraszáma
[4] A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével számolni:
kredit = összes óraszám/30
[5] Összes óraszám = félévi előadások +gyakorlatok+ laboratóriumi gyakorlatok száma +önálló tanulás becsült óraszáma
[6] A tantárgy kredit értékét célszerű az alábbi képlet kerekített értékével számolni:
kredit = összes óraszám/30