Prog2, AspectJ bevezetés

Slides:



Advertisements
Hasonló előadás
DEIK nyári ösztöndíj jelentés: a KőPapírMetalFC ”lájtosított” 2D RCSS csapat bemutatása Dóczi Roland Debreceni Egyetem Informatikai kar Mérnök informatikus.
Advertisements

Licencelés Kovács Nóra Ker-Soft Kft.
Alapképzések a Debreceni Egyetem Informatikai Karán
Fantasztikus Programozás RobIGORika I.
Adminisztratív kérdések
3. A programozás eszközei, programozás-technikai alapismeretek
50 éves a szegedi informatika
É P Í T É S B E R U H Á Z Á S I II III IV Rostás Zoltán ÉPÍTÉSZETI PROGRAM GYAKORLAT.
Programozás.
Az American Telephone & Telegraph (AT&T) kifejlesztette az Unix operációs rendszert „C” nyelv.
Programozási nyelvek.
Tanszéki konzulens: Horváth Ákos Készítette: Kóródi Norbert.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Prog2, Java befejezés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Egyetemi élethelyzetek – Campus-lét a Debreceni Egyetemen május 29. DAB Székház, Debrecen Thomas Mann u. 49. Hallgatói mobilitás a Debreceni Egyetemen.
Magasszintű programozási nyelvek 1 BSc előadás
„High – tech networking” – szakmai konferencia informatikusoknak, szeptember 24., Debrecen, Kölcsey Központ,
Prog2, Java a gyakorlatban
Prog1, C++ a gyakorlatban
Jávácska Szakköri anyagok Bátfai Norbert
Prog2, Java tárgyalás Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Prog2, Software Engineering bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Prog2, AspectJ bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás
Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás
Magasszintű programozási nyelvek 2 BSc előadás
Prog2, Software Engineering bevezetés
Jávácska és Hangyácska INFO ÉRA 2004 Békéscsaba Bátfai Mária Erika, Debreceni Egyetem, Egyetemi és Nemzeti Könyvtár Bátfai Norbert,
Informatika matematika speciális tagozat - tematika évfolyam -
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
Java programozási nyelv 3. rész – Osztályok I.
Modellezés és tervezés c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Matematikai Intézet Mérnöki Informatikus MSc 9. Előadás és.
Porkoláb Zoltán, Kozsik Tamás, Zsók Viktória,
Programozási nyelvek – Programozási paradigmák
ISZAM III.évf. részére Bunkóczi László
Kivételkezelés a C++ nyelvben Bevezetés
Magasszintű programozási nyelvek 1 mérnök informatikus BSc előadás
Ú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.
Programozás. fordító (compiler): a program forrásszövegéből egy gépi kódú, futtatható programot (pl. EXE) állít elő, vagyis a programot lefordítja a gép.
Programozási nyelvek Páll Boglárka.
Jávácska – Internet csak gyerekeknek
Segédlet vizuális programozáshoz Kovács László
Two countries, one goal, joint success!
Matematika oktatás mérnök és informatikai képzésekben Ráckeve, március Pannon Egyetem (Veszprémi Egyetem, 1949) Bölcsészettudományi Kar Gazdaságtudományi.
Perjésiné Hámori Ildikó
Programozás. Programozási nyelvek: Gépi nyelv A számítástechnika őskorában egyedüli lehetőség volt a gép bitsorozattal való programozása. Minden processzor.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Konferencia Gödöllő Miről esik szó? Bevezető gondolatok Egy projekt az informatikában – Mit? – Kinek? – Milyen előnyökkel jár? Tudás és.
Informatikai gyakorlatok 11. évfolyam
Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert Debreceni Egyetem.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
DocBook Hogyan Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
A Java csodálatos világa Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ.
Első magyar EUCIP konferencia Plan modul október 20. Budapest.
Gábor Dénes Számítástechnikai Emlékverseny
Adatstruktúrák Algoritmusok Objektumok
Programozási nyelvek Programozási alapismeretek
Prog2, Software Engineering bevezetés
Hogyan írhatunk játékprogramokat?
Programozási nyelvek típusossága.
Microsoft SQL licenselés a gyakorlatban
Címdia mindig azonos betűméretben, és stílusban!
Előadás másolata:

Prog2, AspectJ bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus http://www.inf.unideb.hu/~nbatfai/ Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék batfai.norbert@inf.unideb.hu Skype: batfai.norbert Prog2_6.ppt, v.: 0.0.6, 2011. 12. 08. http://www.inf.unideb.hu/~nbatfai/ http://nehogy.fw.hu/ Az óra blogja: http://progpater.blog.hu/ A Nokia Ovi store-ban is elérhető: http://store.ovi.com/content/100794

Felhasználási engedély Bátfai Norbert Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék <nbatfai@inf.unideb.hu, nbatfai gmail com> Copyright © 2011, 2012 Bátfai Norbert E közlemény felhatalmazást ad önnek jelen dokumentum sokszorosítására, terjesztésére és/vagy módosítására a Szabad Szoftver Alapítvány által kiadott GNU Szabad Dokumentációs Licenc 1.2-es, vagy bármely azt követő verziójának feltételei alapján. Nem változtatható szakaszok: A szerzőről. Címlap szövegek: Programozó Páternoszter, Bátfai Norbert, Gép melletti fogyasztásra. Hátlap szövegek: GNU Jávácska, belépés a gépek mesés birodalmába. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being: A szerzőről, with the Front- Cover Texts being: Programozó Páternoszter, Bátfai Norbert, Gép melletti fogyasztásra, and with the Back-Cover Texts being: GNU Jávácska, belépés a gépek mesés birodalmába. http://www.gnu.hu/fdl.html

Kapcsoldó videók, videómagyarázatok és blogok Az előadás és a labor posztja ez(ek) A nagytestvér beleszőtt egy aspektust a csapatomba: http://progpater.blog.hu/2011/12/04/a_nagytestver_beleszott_egy_aspektust_a_csapatomba

Célok és tartalom Előadás Programozási paradigmák AspectJ nyelvi bevezetés: vágási pont, csatlakozási pont, tanács, átszövő vonatkozás. Labor Atan alapú robotfoci: Golden Team FC 0.0.4 szövés bevezetése Laborkártyák AspectJ kártyák Golden Team FC 0.0.4 kártyák Otthoni opcionális feladat Saját Atan alapú RCSS csapat fejlesztése (esetleg szövése, egységtesztelése) 100 fölött: GlassFish, Geronimo, Tomcat, Jboss EJB tesztek, fürtözés stb.

Minimális gyakorlati cél A hallgató el tudjon készíteni egy egyszerű szövést, például a saját robotfoci csapatába.

Minimális elméleti cél AOP alapelvek, használati esetek átszövő vonatkozásokra. AspectJ nyelv kapcsán: vágási pont, csatlakozási pont, tanács, átszövő vonatkozás.

Ism.: Java (eredet) Imperatív Objektum orientált és eljárás orientált paradigma mentén Aki Javában programoz OO programoz, de az egyszerű típusok, változó fogalom, kifejezések mint C-ben. http://www.tankonyvtar.hu/informatika/javat-tanitok-1-1-3-080904-2

Paradigmák néhány szóban Imperatív Struktúrált Eljárásorientált OO Eseményvezérelt (vs. komponens alapú) Komponens orientált (pl. CORBA) Szolgáltatás orientált (webszolgok, BPML, BPEL) Deklatarív

Problémamegoldás Funkcionális dekompozíció – MIT? (függvény) Adat dekompozíció – MIVEL? (objektum) A MIT hajlamosabb a változásra, mint a MIVEL!

Hogyan lehet jó programozókat „gyártani”? Az egyedfejlődés megismétli a törzsfejlődést (Haeckel) http://en.wikipedia.org/wiki/File:Haeckel_drawings.jpg

Hogyan lehet jó programozókat „gyártani”? „egyedfejlődés” /személyes/ (C-16, C-64, +4) Assembly, BASIC (IBM XT/AT) Turbo Pascal Mprolog Pascal C C++ Java AspectJ gimnázium egyetem „önképzés” „törzsfejlődés” Imperatív - Struktúrált - Eljárásorientált - OO - AOP … Assembly, Fortran, C, C++, Java, AspectJ, …

OO->AO

Házi használatra: „alma-körte tesztelés”

„alma-körte tesztelés” AspectJ-vel

AspectJ

Az aspektus Join point (csatlakozási pont) Pointcut (vágási pont) Advice (tanács) A csatlakozási pontok az eredeti programban vannak, ezeket az aspektus vágási pontjaival jelöljük ki.

AspectJ

AspectJ

AspectJ

AspectJ http://www.hiradastechnika.hu/data/upload/file/2010/HT2011_2_komplett.pdf

AspectJ http://www.inf.unideb.hu/~nbatfai/asz/

AspectJ http://www.inf.unideb.hu/~nbatfai/asz/

AspectJ Bátfai N., (2011), Van-e az objektum orientált programoknak anyanyelve: avagy egy analitikai szövés bevezetése, Híradástechnikai Szemle, Híradástechnika, 66. évf. 2. sz., 27-32, 2011. http://www.hiradastechnika.hu/data/upload/file/2010/HT2011_2_komplett.pdf

Gépi tudatosság http://arxiv.org/abs/1108.2865

COP http://arxiv.org/abs/1108.2865

COP http://arxiv.org/abs/1108.2865

COP http://arxiv.org/abs/1108.2865

COP http://arxiv.org/abs/1108.2865

COP http://arxiv.org/abs/1108.2865

A nagytestvér beleszőtt egy aspektust a csapatomba http://www.inf.unideb.hu/~nbatfai/mircsource/

A nagytestvér beleszőtt egy aspektust a csapatomba http://www.inf.unideb.hu/~nbatfai/mircsource/

A nagytestvér beleszőtt egy aspektust a csapatomba http://www.inf.unideb.hu/~nbatfai/mircsource/

Hol itt a jobb egérfogó? Hogyan tudnál válaszolni például az alábbi kérdésekre? A csapatod hányszor rúgott bele a labdába? Átlagosan mekkora erővel? Átlagosan merre? http://www.inf.unideb.hu/~nbatfai/mircsource/

Laborkártyák Mit szősz kis tanács?

Otthoni opcionális feladat Saját Atan alapú RCSS csapat fejlesztése. http://www.inf.unideb.hu/~nbatfai/PLB2011osz/tabella.html 100 fölött: GlassFish, Geronimo, Tomcat, Jboss EJB tesztek, fürtözés stb.

Kötelező olvasmány Ajánlott olvasmány NYJ NYJ NYJ NYJ Ajánlott olvasmány Russ Miles: AspectJ cookbook http://books.google.com/books?id=AKuBlJGl7iUC&printsec=frontcover&hl=hu&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false (LENGYEL LÁSZLÓ, LEVENDOVSZKY TIHAMÉR: Aspektus-orientált programozás) http://www.hiradastechnika.hu/data/upload/file/2005/2005_6/HT_0506a-5.pdf (Paller Gábor Javás cikkek) http://pallergabor.uw.hu/hu/java-app/