58303309 Reflektiiviset väliohjelmistot (2ov)
Huom! Seminaarin aloitusaika ja kokoontumisaika poikkeavat opinto-oppaassa ilmoitetusta!Väliohjelmistot tarjoavat ohjelmointivälineitä ja järjestelmäpalveluita, jotka avustavat sovellusohjelmia ratkaisemaan hajautukseen ja kommunikointiin liittyviä ongelmia. Väliohjelmistopalvelut sijoittuvat käyttöjärjestelmä- ja tietoliikennepalveluiden päälle, sovelluskerroksen alle.
Reflektiivisyys on järjestelmän ominaisuus kyetä tekemään päätelmiä omasta tilastaan ja muuttamaan tätä tilaa. Reflektiivisen järjestelmän olennaisia piirteitä ovat
- välineet kuvata metainformaation avulla eksplisiittisesti järjestelmän rakennetta ja toimintaa (esimerkiksi IDL-rajapintakuvauset ovat tällaista metainformaatiota)
- välineet tutkia järjestelmän ylläpitämää metainformaatiota (esimerkiksi "CORBA interface repository" tai "trading service" tarjoavat mahdollisuuden selailla kuvauksia)
- välineet tehdä muutoksia metainformaatioon järjestelmän toiminnan aikana
- toiminnot, jotka rajoittavat tai laajentavat järjestelmän toimintaa siten, että se vastaa (muuttunutta) metainformaatiota.
Seminaarissa käsitellään muutaman tutkimusprojektin ja -ohjelmiston valossa tapoja reflektiivisen väliohjelmiston ongelmien ratkaisemiseen.
Seminaari on opintoseminaari.
Seminaarin esitietovaatimukset
Seminaariin osallistuminen edellyttää tieteellisen kirjoittamisen kurssin suoritusta ja perustietoja tietoliikenteestä, käyttöjärjestelmistä ja hajautetuista järjestelmistä.
Seminaarin suorittaminen ja työmuodot
Seminaarin suorittamiseen sisältyy seuraavat tehtävät:
- Tiivistelmä seminaarityön sisällöstä.
Tiivistelmä on noin 1-2 sivuinen tiivistelmä (extended abstract)
kirjallisuusluetteloineen. Tiivistelmät julkaistaan seminaarin
www-sivulla 2 viikkoa seminaarisarjan alkamisen jälkeen.
- Kirjallinen esitys, noin 15-20 sivua.
Teksit julkaistaan seminaarin www-sivuilla viikkoa ennen esitystä.
Formaatteina ps tai pdf.
- Suullinen esitys.
Esityksen mitta on noin 70 minuuttia, loppu ajasta on
varattu keskustelulle.
- Aktiivinen osallistuminen ryhmän keskusteluun.
Keskusteluunkin voi valmistautua!
- Palautteen antaminen muille seminaariosallistujille tehdyistä seminaaritöistä. Kunkin istunnon lopuksi kukin kirjaa nimettömänä muutaman vahvan ja muutaman heikon kohdan esillä olleesta työstä (kirjallinen esitys, suullinen esitys, jäsentely, kalvot, ...).
Kts myös laitoksen seminaariohjetta.
Seminaarin ohjelma ja aikataulu
Seminaarisarja aloitetaan maanantaina 15.9 klo 12-14 salissa B450. Huomaa ennakkotiedoista poikkeava kellonaika!
Ohjelma
Seminaari on suomenkielinen. Alla aihepiirit englanninkielisinä, jotta yhteys taustakirjallisuuden terminologiaan säilyy. Suomennokset termeille seuraavat ...
- 15.9. 2003 ma klo 12-14 Aloitusistunto
- Reflektiivisyydestä, väliohjelmistoista ja reflektiivisistä väliohjelmistoista
- Seminaarin organisointi
- Aiheiden esittely
- Aiheiden jako
- Lukutehtäväksi: Emm00, Cou03
- Työskentelytauko - henkilökohtaiset tapaamiset sopimuksen mukaan
- 6.10.2003 Tiivistelmien määräaika - ei kokoontumista
- 13.10.2003 ma klo 12-14 Computational reflection - Alexander Tamm
- Introduction of the basic concepts of computational reflection (reification, inspection, reflection, tower of reflection), reflective architecture, use of separate metaobjects, metaobject protocol idea, distinction between procedural and declarative reflection, base-level & meta-level,
- Initial references: Mae87, BlCo??, MaJa96, (ChMa93)
- Tiivistelmä
- Seminaaritutkielma
- 20.10.2003 ma klo 12-14 Open implementations & metaobject protocols
- Janne Savukoski
- Idea of open implementation, moving from procedural reflection to declarative reflection, using external metaobjects with support from object frameworks, strategies
- Initial references: MaLe97, (ChMa93), KiLL97, (http://www2.parc.com/csl/groups/sda/projects/oi/workshop-94/ - foil for the workshop on open implementations)
- Tiivistelmä
- Seminaaritutkielma
- 27.10.2003 ma klo 12-14 Aspects and reflection - Tuomas Nurmela
- How different viewpoints to a complex system can be programmed separately and the aspects weaved into a single runtime system using reflection mechanisms.
- Initial references: Sul01, KiLM97,
- Tiivistelmä
- Seminaaritutkielma
- 10.11.2003 ma klo 12-14 Integrating metainformation management and reflection in
middleware - Janne Metso
- As background some ideas on metainformation in middleware: Component frameworks, dynamic binding, trading, type repositories, interface repositories, implementation repositories QoS management, with initial references: Kut02, EdPa95, (CoBl00)
- Focus on how this metainformation can be seen as metadata management services and used for reflective management in common middleware platforms.
- Initial references: CoBl00, KoCa00,BlBl00
- Tiivistelmä
- Seminaaritutkielma
- 24.11.2003 ma klo 12-14 QoS management in middleware - Pasi Vettenranta
- QoS management illustrates how contracts can be negotiated and established for communication between objects, how conformance to the contract is monitored in a running system, and how reflection can be triggered by failures to conform.
- Initial references: QuO project, other material??
- Tiivistelmä
- Seminaaritutkielma
- 1.12.2003 ma klo 12-14 Adaptive middleware for (context or) mobility-aware
applications - Jouni Ojanen
- Ideas on how location or capability profiles of mobile terminals can be acquired and used for selecting appropriate components to a component framework; how applications are supported by an adaptive middleware.
- Initial references: HaHo99, NaCo01, CaBl02, BlCo00
- Tiivistelmä
- Seminaaritutkielma
- 1.12.2003 ma klo 14-16 Reflective features of K2 middleware
platform - Sampsa Ojala
- One of the projects below
- Tiivistelmä
- Seminaaritutkielma
- 8.12.2003 ma klo 12-14 Architectural reflection - Toni Ruokolainen
- What do we mean by architectural reflection, strategies, topological reflection, ...
- Initial references: CaSa99, AML
- Tiivistelmä
- Seminaaritutkielma
- 8.12.2003 ma klo 14-16 Final discussion, summary
- As a group prepare a summary on
- What is meant by "reflective middleware"?
- What are the techniques of reflection discussed?
- What are the application areas of reflection discussed?
- What are the benefits of reflection?
- Views and visions on future of reflective middleware?
- Additional refernences: Pem??
- As a group prepare a summary on
Vapaat aiheet
- Metainformation in middleware?
- Possible split
- ideas on metainformation in middleware: Component frameworks, dynamic binding, trading, type repositories, interface repositories, implementation repositories QoS management, with initial references: Kut02, EdPa95, (CoBl00)
- Distributed group management
- Another illustration on how runtime system behaviour can be manipulated by reflection.
- Initial references: SaCo01
- 1.12.2003 ma klo 12-14 Reflective features of "X" middleware
platform
- Commercial platforms
- Security in reflective middleware
- Ideas on how security related protocols can be separated from the application objects and formed into pluggable, infrastructure supported protocols.
- Initial references: Workshop on Security and Middleware to appear, CaQi98, WeSt00, other??
Materiaalia
Articles
Listan viitteet eivät ole kaikin osin täydellisiä. Lähteet löytyvät myös verkosta, linkkilista ja julkaisupaikkatiedot täydentyvät mahdollisimman pian.
- BlBl00 Blair, G., Blair, L., Issarny, V., Tuma, P., Zarras, A., The Role of Software Architecture in Constraining Adaptation in Component-based Middleware Platforms, Proceedings of Middleware 2000, IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, Hudson River Valley (NY), USA. Springer Verlag, LNCS, 2000.
- BlCo??Gordon S. Blair, Geoff Coulson, Case for Reflective middleware
- BaCo01 Gordon S. Blair, Geof Coulson, Anders Andersen, Lynne Blair, Michael Clarke, Fabio Costa, Hector Duran-Limon, Tom Fitzpatrick, Lee Johnston, Rui moreira, Nikos Parlavantzas, and Katia Saikoski: The Design and Implementation of Open ORB 2. DSONLINE 2, 6.
- BlCo00 G. S. Blair, Geoff Coulson, Anders Andersen, Lynne Blair, Mike Clarke, Fabio Costa, Hector Duran, Nikos Parlavantzas, Katia Saikoski,, A Principled Approach to Supporting Adaptation is Distributed Mobile Environments, International Symposium on Software Engineering for Parallel and Distributed Systems, Limerick, Ireland, 2000.
- CaBl02 L. Capra, G. S. Blair, C. Mascolo, W. Emmerich and P. Grace. "Exploiting Reflection in Mobile Computing Middleware". ACM SIGMOBILE Mobile Computing and Communications Review, 6(4):34-44
- CaSa99Cazzola, W.; Savigni, A.; Sosio, A.; Tisato, F., Rule-based strategic reflection: observing and modifying behaviour at the architectural level. 14th IEEE International Conference on Automated Software Engineering, 1999.
- CaQi98Roy Campbell, Tin Qian, Dynamic Agent-based Security Architecture for Mobile Computers. Second International Conference on Parallel and Distributed Computinging and Networks (PDCN'98), Dec 1998, Australia.
- CeAn02 Romulo Cerqueira, Sidney Ansaloni, Orlando Loques, Alexandre Sztajnberg, Deploying Non-Functional Aspects by Contract The 2nd Workshop on Reflective and Adaptive Middleware.
- ChMa93Shigeru Chiba, Takashi Masuda, Designing an Extensible Distributed Language with a Meta-Level Architecture. Lecture Notes in Computer Science, 1993.
- CoBl00 Costa, F. M., Blair, G., Integrating Meta-Information Management and Reflection in Middleware. International Symposium on Distributed Objects and Applications, 2000.
- Cou03 Geoff Coulson, What is Reflective Middleware? IEEE Distributed Systems ONLINE
- David Edmond, Mike Papazoglou, Zahir Tari, An Overview of Reflection and Its Use in Cooperation. International Journal of Cooperative Information Systems, 1995.
- Wolfgang Emmerich, Software engineering and middleware: A roadmap. ACM Proceedings of the conference on The future of Software engineering, 2000.
- HaHo99 A. Harter, A. Hopper, P. Steggles, A. Ward, P. Webster, The Anatomy of Context-Aware Application. Proceedings of the 5th Annual ACM/IEEE International Conference on Mobile Computing and Networking (MOBICOM'99), 1999.
- KiLL97G. Kiczales, J. Lamping, C V. Lopes, C. Maeda, A. Mendhekar, G. Murphy: Open Implementation Design Guidelines. Proceedings of the 1997 international conference on Software engineering, 1997, pp. 481 - 490.
- KiLM97 Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Christina Videreira Lopes, Jean-Marc Loingtier, John Irwin, Aspect-oriented Programming. Proceedings of the European conference on Object-Oriented Programming, 1997 - ECOOP97.
- KoCa00Fabio Kon, Roy Campbell, M. Dennis Mickunas, Klara Nahrstedt, and Francisco J. Ballesteros. 2K: A Distributed Operating System for Dynamic Heterogeneous Environments. 9th IEEE International Symposium on High Performance Distributed Computing. Pittsburgh. August 1-4, 2000.
- KoRo00F. Kon, M. Roman, P. Liu, J. Mao, T. Yamane, L.C. Magalhaes, R.H. Campbell, Monitoring, Security and Dynamic Configuration with the dynamic TAO Reflective ORB Middleware2000, LNCS 1795, 121-143.
- Kut02Kutvonen, L., Automated management of inter-organisational applications. EDOC 2002.
- Mae87 Pattie Maes, Concepts and Experiments in Computational Reflection. Proceedings of the 2nd Conference on Object-oriented programming systems, languages and applications (OOPSLA'87), 147-156, 1987. (Classical reference)
- MaLe97 Chris Maeda, Arthur Lee, Gail Murphy, Gregor Kiczales, Open implementation analysis and design. ACM 1997.
- MaJa96 J. Malenfant, M. Jacques and F.-N. Demers, A Tutorial on Behavioral Reflection and its Implementation
- MoUrA. L. Moura, C. Ururahy, R. Cerqueira, N. Rodrigues, Dynamic Support for Distributed Auto-Adaptive Applications. The 2nd Workshop on Reflective and Adaptive Middleware?? / 22nd International Conference on Distributed Computing Systems Workshops (ICDCSW '02)
- NaCo01Hani Naguib, George Coulouris, Scott Mitchell, Middleware support for context-aware multimedia applications. DAIS 2001.
- Pem?? Duncan Pemberton, What can reflective middleware offer organisations?
- SaCo01 Katia B. Saikoski and Geoff Coulson, Experiences with OpenORB's Compositional Meta-Model and Groups of Components. Workshop on Experience with Reflective Systems 2001. In conjunction with Reflection2001.
- Sul01 Gregory T. Sullivan, Aspect-oriented programming using Reflection and Metaobject protocols. CACM October 2001.
- WeSt00Ian Welch, Robert Stround, Using Reflection as a Mechanism for Enforcing Security Policies in Mobile Code ESORICS 2000.
Conferences, workshops, journals
- The 2nd Workshop on Reflective and Adaptive Middleware
- REFLECTION2001 - The Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
- REFLECTION2000 - ECOOP'2000 Workshop on Reflection and Metalevel Architectures
- Middleware 2000 Workshop on Reflective Middleware
- REFLECTION'99 - Second International Conference on Meta-Level Architectures and Reflection. Lecture Notes in Computer Science 1616 Springer 1999 - list of contents
- reflection'96
- OOPSLA'99 Workshop on Object Oriented Reflection and Software Engineering
- ECOOP'98 Workshop on Reflective Object-Oriented Programming and Systems, Number XIV workshop on the list of contents
- OOPSLA'98 workshop on Reflective Programming in C++ and Java
- Middleware2003
- Middleware2001
- Middleware2000
- DAIS2003
- DAIS2001
- DAIS1999
- DOA 1999-2003
- COOPIS 1999-2003
- EDOC 1997-2002
- ERSADS2001, 1999
- Workshop on Reliable and Secure Middleware 2003 Part of the Distributed Objects and Applications (DOA) 2003, November 2003
- ACM Conferences and workshops (joint search engine)
- ACM Journals (joint search engine)
- IEEE transactions on Mobile computing
- IEEE Pervasive computing
- IEEE Journal on Selected Areas in Communications
- IEEE Transactions on Software Engineering
- Proceedings of Active Middleware Services, 2001, 2002, 2003
- Workshop on Electronic commerce and web-based applications/middleware, 1999 in IEEE International confernece on distributed computing systems
Projects
Lista ei pyri olemaan kattava.
- Reflection in Open Distributed Systems; Distributed Multimedia Research Group, Computing Department, Lancaster University, UK
- 2K - A Component-Based Network-Centric Operating System for the Next Millennium
- MULTE, UniK and University of Trommo
- DIMMA
- QuO
- Aster
- TAO
- mChaRM
- Jonathan
- SOFA
- R-RIO
- Arctic beans
- Cherubim
Linkkejä ulos
"Autoratiivinen" kokoelma reflektiivisiin väliohjelmistoihin liittyvästä materiaalista, mukaanlukien lista projekteista.
Lea.Kutvonen@cs.Helsinki.FI