Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGyula Fodor Megváltozta több, mint 10 éve
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.