Ú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.

Slides:



Advertisements
Hasonló előadás
Programozás III STRING-XML.
Advertisements

Programozás III OOP ALAPOK.
Intranet portál bemutató
K-Chat Dr. Szepesvári Csaba Kutatási Alelnök mindmaker.
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék Dr. Kulcsár Gyula egyetemi docens.
Technológiai fejlesztés a hatékony ellátás szolgálatában
Adminisztratív kérdések
A Microsoft rendszermenedzsment víziója A Dynamic Systems Initiative A System Definition Model Az üzemeltetésre tervezett szoftverek A SDM jelentősége.
3. A programozás eszközei, programozás-technikai alapismeretek
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
Microsoft fejlesztőeszközök a szakképzésben Farkas Bálint Visual Studio 2008.
Projektlabor, Projektmunka és Projekt szeminárium tapasztalatai és kérdései az informatika oktatásában az Eszterházy Károly Főiskolán dr. Kovács Emőd,
5. Előadás 1. rész Műszaki informatika.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Trendek a szoftveriparban: e-business és e-development Csontos Péter IQSOFT Rational e-development szakmai nap 2000 február 16.
Generatív programozás
Programozási nyelvek.
OBJEKTUMORIENTÁLT PROGRAM
Bevezetés a Java programozásba
Vizuális modellezés Uml és osztálydiagram UML eszközök

Ruby nyelv. Története Yukihiro Matsumoto (szül ápr. 4.) alkotta meg, az ideális script nyelv hosszú eredménytelen keresése után. A lehetséges jelöltek.
Java programozási nyelv 3. rész – Osztályok I.
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék Dr. Kulcsár Gyula egyetemi adjunktus.
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék 2012/13 1. félév 3. Előadás Dr. Kulcsár Gyula egyetemi docens.
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
Microsoft szoftverek a szakképzésben
Porkoláb Zoltán, Kozsik Tamás, Zsók Viktória,
Készítette: Keszthelyi Zsolt
Szombathely Dinamikus WEB programozás: PHP és JSP.
Programozási nyelvek – Programozási paradigmák
Bevezetés a C++ programozási nyelvbe
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Objektumorientált adatbázisok és szabványok Ispány Márton.
1 Informatikai Szakképzési Portál Rendszertervezés Hardver tervezés.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Célkitűzés: Információk téma-specifikus, különböző típusú forrásokból (internet, intranet.
Topológia felderítés hibrid hálózatokban
Domain-specifikus nyelvek a fejlesztésben Ráth István
Hernyák Zoltán Programozási Nyelvek II.
Rendszertervezés Alapfogalmak; Az informatikai rendszer
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Vállalati Informatikai Megoldások  VIM bemutató  Szolgáltatásaink  Projektjeink  Technológiánk  Kapcsolatok.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
BPM alapú robosztus e-Business alkalmazás fejlesztés VE Számítástudomány Alkalmazása Tsz. BME Méréstechnika és Információs Rendszerek Tsz. Balatontourist.
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
Objektumvezérelt rendszerek tervezése
Objektumvezérelt rendszerek tervezése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Okostelefon köztesréteg Dr. Bilicki Vilmos Szegedi Tudományegyetem.
Objektumvezérelt rendszerek tervezése 9.óra – Builder, Observer © Nagy Csaba.
Adamkó Attila UML2 Adamkó Attila
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
Programozási nyelvek – Programozási paradigmák Porkoláb Zoltán Eötvös Loránd Tudományegyetem, Informatikai Kar Programozási.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Assoc. Prof. Ján Gunčaga, PhD. Faculty of Education Catholic University in Ružomberok Nyílt forráskódú szoftverek és IKT az oktatásban.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Számítógépes alapismeretek
Hogyan írhatunk játékprogramokat?
Prog2, AspectJ bevezetés
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Hernyák Zoltán Programozási Nyelvek II.
Szoftvermetrikák és minőségmenedzsment Péter Előd
INFORMATIKA szeptember ELŐADÓ II. alkalom
INFORMATIKA október ELŐADÓ II. alkalom
MySQL története, részei, felhasználhatóság, PHPMyAdmin
Digitális Székelyföld Platform
Előadás másolata:

Ú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

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

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

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

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

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

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); }

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

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

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

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

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

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

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

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