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 /10/17

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

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

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 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. aspect SimpleErrorLogging { Log log = new Log(); pointcut publicEntries(): receptions(public * com.xerox.printers.*.*(..)); after() throwing (Error e): publicEntries() { log.write(e); }

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

10 Egyéb AOP eszközök HyperJ DemeterJ Mozart ComposeJ ConcernJ
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 Jackpot 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 Csontos Péter Aitia Rt. pcsontos@aitia.ai
Aitia Inc.: Arificial Intelligence, Information Technology, Intelligent Agents


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