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

Új programozási paradigmák a láthatáron (aspektus-orientált és intencionális programozás) Csontos Péter AITIA Informatikai Rt. 2002/10/17.

Hasonló előadás


Az előadások a következő témára: "Új programozási paradigmák a láthatáron (aspektus-orientált és intencionális programozás) Csontos Péter AITIA Informatikai Rt. 2002/10/17."— Előadás másolata:

1

2 Új programozási paradigmák a láthatáron (aspektus-orientált és intencionális programozás) Csontos Péter AITIA Informatikai Rt. 2002/10/17

3 Motiváció Szoftver krízis II. Hardver termelésSzoftver termelés

4 Problémák és új irányok Aspektusok és domain-ek absztrakciója Round-trip engineering és öröklött rendszerek Terv és kód éles határai AOP IP Meta- metamodellezés Ágensek Az OOP és az UML hiányosságai Megoldási javaslatok

5 AOP Új paradigma A 90-es évek közepén kezdett terjedni Aspektus: külön modul A programozás funkcionális megközelítésének reneszánsza (a use case-ekhez hasonlóan) Számos megközelítés és eszköz, legismertebbek: AspectJ, HyperJ

6 AspectJ bevezetés XEROX PARC fejlesztése Greg Kiczales: vezető kutató A Java természetes kiterjesztése –Forrás kompatibilitás –JVM kompatibilitás –Fejlesztőeszközök –Nyelv stílusa

7 Az AspectJ elemei Dynamic join point: atomi esemény –Metódushívás –Változó manipuláció –Kivétel dobás –Objektum inicializáció –Stb. Pointcut: összetett esemény Advice: viselkedés az esemény körül Aspect: moduláris egység –Aspektus precedencia –Aspektus öröklődés

8 AspectJ példa aspect SimpleErrorLogging { Log log = new Log(); pointcut publicEntries(): receptions(public * com.xerox.printers.*.*(..)); after() throwing (Error e): publicEntries() { log.write(e); } Példaprogram: az adott csomag minden osztályának minden publikus metódusában Error típusú kivétel dobása a logba való írást eredményez.

9 AspectJ fejlesztőeszközök AspectJ BrowserJBuilder kiterjesztés Egyebek: Forte kiterjesztés, emacs kiterjesztés

10 Egyéb AOP eszközök HyperJ –Multi-Dimensional Separation of Concerns, hiperterek –Ős: subject-oriented programming DemeterJ Mozart ComposeJ ConcernJ Változatok az AspectJ témára –C –C++ –C# –Perl –Python –Ruby –Smalltalk

11 IP bevezetés Microsoft Research projekt a 90-es években Vezető: Charles Simonyi –Hungarian notation –Word, Excel –PARC, WYSIWYG 2002 szeptember: Intentional Software Corporation –Társ: Greg Kiczales –Együttműködő partner: ELTE –Termék: 2003 végére várható Magyar változatok –Intencionális programozás –Szándék alapú programozás –Szándék-orientált programozás

12 IP célok A programozó eredeti szándékának minél jobb reprezentációja Terv és kód közötti határok elmosása Magas szintű, újra felhasználható, „mindent túlélő” absztrakciók létrehozása Domain-specifikus absztrakciók hatékony leírása Öröklött kód minél hatékonyabb felhasználása

13 Az IP elemei Intencionális program-fa Generikusság Grafikus editor a tervhez Generálás: csökkentett program-fa (R-code) Transzformációk: redukciós enzimek (maguk is a fa elemei) Öröklött kódot beolvasó enzimek

14 Az UML fejlődési irányai UML akció szemantika –teljes kód generálása UML-ből Teljes UML alapú szoftver platform –integrált terv és kód The Reuse Initiative JacZone WayPointer –ágensek, amelyek a tervezést segítik –Ivar Jacobson cége –Az RR és a RUP kiterjesztése

15 Egyéb projektek Eclipse Universal Modeler –IBM, HP, … –Az Eclipse általános fejlesztőeszközre épül –Az OMG XMI és MOF szabványait használja –Tetszőleges absztrakció modellezésére Jackpot –Sun –James Gosling –A NetBeans fejlesztőeszközre épül

16 Kérdések Aitia Inc.: Arificial Intelligence, Information Technology, Intelligent Agents Csontos Péter Aitia Rt. ???


Letölteni ppt "Új programozási paradigmák a láthatáron (aspektus-orientált és intencionális programozás) Csontos Péter AITIA Informatikai Rt. 2002/10/17."

Hasonló előadás


Google Hirdetések