Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

58309303 Seminaari: Malliperustainen ohjelmistotuotanto (3 op)

Vastuuhenkilö

Assistentti Toni Ruokolainen (Toni.Ruokolainen(at)cs.Helsinki.FI)

Ajankohtaista

Kokoontumisajat ja -paikka

3.11.-8.12. ti 8-12 C220

Seminaariryhmän järjestäytymiskokouksen ohjelma 8.9.2009

Kuvaus

Malliperustainen ohjelmistotuotanto (engl. model-driven engineering, MDE) on nykyaikainen ohjelmistokehityksen menetelmä, jossa malleilla on ensisijainen rooli ohjelmistotuotannon artefaktina. Malli on tietyn kieliopin mukaan määritelty formaali kuvaus, joka esittää tutkittavan tai toteutettavan järjestelmän tietystä näkökulmasta käsin käyttäen tarpeeseen soveltuvaa abstraktiotasoa. Malliperustaisen ohjelmistuotannon menetelmillä voidaan automatisoida huomattava osa ohjelmiston kehityksen usein toistuvista rutiinitoimenpiteistä, kuten eri teknologiseen alustaan perustuvien toteutusten tuottaminen samasta ohjelmistosta.

Malleista tuotetaan ohjelmistoartefakteja automaattisilla mallimuunnoksilla. Niin kutsutut mallista-malliin (engl. model-to-model, M2M) muunnokset muuntavat malleja toisiksi malleiksi lisäämällä esimerkiksi teknologisia yksityiskohtia lähdemalliin. Mallista tekstiin (engl. model-to-text, M2T) muunnoksilla taas tuotetaan annetusta mallista ohjelmistoartefakteja kuten lähdekoodia, konfigurointitiedostoja tai tietokantakuvauksia. Mallien kudonnassa (engl. model weaving) taas yhdistetään kaksi tai useampia malleja uudenlaiseksi kokonaisuudeksi käyttäen hyväksi annettuja kudontasääntöjä. Tämän opintoseminaarin tarkoituksena on tutustuttaa opiskelijat malliperustaisen ohjelmistokehityksen perusteisiin, sovellusalueisiin ja työkalujen nykytilaan.

Seminaarin aihepiiri on jaettu kolmeen osioon, jotka käsittelevät malliperustaista ohjelmistotuotantoa eri näkökulmista.
  1. Ensimmäinen osio käsittelee malliperustaisen ohjelmistotuotannon taustaa ja teoriaa.
  2. Toisessa osiossa tutustutaan malliperustaisen ohjelmistotuotannon sovellusalueisiin, erikoisalueisiin ja metodologioihin, kuten malliperustaiset ohjelmistotuotantolinjat, malliperustainen palvelutuotanto tai aspektiorientoitunut mallintaminen.
  3. Kolmannessa osiossa käsitellään malliperustaisen ohjelmistotuotannon työkaluja konkreettisten esimerkkien ja demonstraatioiden avulla.

Kolmanteen osioon liittyviin töihin tullaan käyttämään teknologisena alustana pääasiassa openArchitectureWare nimistä malliperustaisen ohjelmistotuotannon kehystä. Työkalujen käyttöön tullaan antamaan tutoriaalimateriaalia ennen seminaarin alkua. Demonstraatiotöissä käsitellään yhteistä esimerkkitapausta eri näkökulmista ja ohjelmistöjärjestelmän elinkaaren vaiheista lähtien; esimerkkitapaus esitellään myöhemmin.

Seminaarin rakenne ja aihepiirit

  1. Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)
    • Mallit, järjestelmät ja mallien väliset suhteet (representaatio, konformanssi, laajentaminen, metatasot,...), abstraktiotasot (ontologiset / lingvistiset) ja näkökulmat (esim. MOF:in mukainen CIM / PIM / PSM)
    • Mallien kuvaaminen: abstrakti syntaksi (MOF, Ecore, KM3,...), konkreettinen syntaksi (UML profiilit, Eclipse GMF, TCS, XText...).
    • Mallitransformaatiot: M2M, M2T, mallien kudonta, transformaatiokielet (ATL, AMW, JET, XPand,...)
    • Mallirajoitteet (esim. OCL), mallien semantiikan määrittely, mallien validointi ja verifiointi
    "Model-Driven Engineering" "Principles, Standards and Tools for Model Engineering" "On the unification power of models"
  2. Malliperustaisen ohjelmistokehityksen sovellusalueet
    • Malliperustaiset ohjelmistotuotantolinjat (model-driven software product lines)
    • Aspektiorientointunut mallintaminen (aspect-oriented modelling)
    • Malliperustaisen ohjelmistotuotannon metodologiat (esim. Midas)
    • Malliperustainen palvelutuotanto
  3. Malliperustaisen ohjelmistokehityksen työkalut
      Käydään läpi openArchitectureWare-ohjelmiston toteuttamia työkaluja yhteisen esimerkkitapauksen pohjalta.

Esitietovaatimukset

Opintoseminaari on osa maisterintutkinnon opintoja, joten osallistujilla tulee olla suoritettuna LuK-tutkinnon mukaiset opinnot. Seminaari on pääasiassa suunnattu ohjelmistojärjestelmien sekä hajautettujen järjestelmien ja tietoliikenteen linjojen opiskelijoille. Erityisesti suosittelemme joitakin seuraavista kursseista suoritetuiksi: Ohjelmistoarkkitehtuurit, Väliohjelmistot.

Seminaarin suoritusmuoto

Jokaiselta seminaariin osallistujalta odotetaan seuraavia suorituksia:

Lopuksi, katso myös laitoksen seminaariohjetta.

Materiaali

intranet

Taustamateriaalia

[1]
Colin Atkinson and Thomas Kühne. Model-driven development: A metamodeling foundation. IEEE Softw., 20(5):36-41, 2003.
[ bib ]

[2]
J. Bezivin, S. Hammoudi, D. Lopes, and F. Jouault. Applying MDA approach for Web service platform. Enterprise Distributed Object Computing Conference, 2004. EDOC 2004. Proceedings. Eighth IEEE International, pages 58-70, Sept. 2004.
[ bib ]

[3]
Jean Bézivin, Fabian Büttner, Martin Gogolla, Frederic Jouault, Ivan Kurtev, and Arne Lindow. Model Transformations? Transformation Models! In Model Driven Engineering Languages and Systems, volume 4199 of Lecture Notes in Computer Science, pages 440-453. Springer, 2006.
[ bib ]

[4]
Jean Bezivin, Frederic Jouault, and David Touzet. Principles, standards and tools for model engineering. In ICECCS '05: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05), pages 28-29, Washington, DC, USA, 2005. IEEE Computer Society.
[ bib | http ]

[5]
Jean Bézivin. On the unification power of models. Software and Systems Modeling, 4(2):171-188, May 2005.
[ bib ]

[6]
Paloma Cáceres, Valeria de Castro, Juan M. Vara, and Esperanza Marcos. Model transformations for hypertext modeling on web information systems. In SAC '06: Proceedings of the 2006 ACM symposium on Applied computing, pages 1232-1239, New York, NY, USA, 2006. ACM.
[ bib ]

[7]
David S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. OMG Press, 2003.
[ bib ]

[8]
Jeff Gray, Ted Bapty, Sandeep Neema, Douglas C. Schmidt, Aniruddha Gokhale, and Balachandran Natarajan. An Approach for Supporting Aspect-Oriented Domain Modeling. In Generative Programming and Component Engineering, volume 2830 of Lecture Notes in Computer Science. Springer-Verlag, 2003.
[ bib ]

[9]
Iris Groher and Markus Voelter. XWeave: models and aspects in concert. In AOM '07: Proceedings of the 10th international workshop on Aspect-oriented modeling, pages 35-40, New York, NY, USA, 2007. ACM.
[ bib ]

[10]
Carsten Köllmann, Lea Kutvonen, Peter Linington, and Arnor Solberg. An Aspect-Oriented Approach to Manage QoS Dependability Dimensions in Model Driven Development. In The 3rd International Workshop on Model-Driven Enterprise Information Systems (MDEIS 2007), 2007.
[ bib ]

[11]
Ioana Manolescu, Marco Brambilla, Stefano Ceri, Sara Comai, and Piero Fraternali. Model-driven design and deployment of service-enabled web applications. ACM Trans. Inter. Tech., 5(3):439-479, 2005.
[ bib | http ]

[12]
Simone Röttger and Steffen Zschaler. Model-Driven Development for Non-functional Properties: Refinement Through Model Transformation. In UML 2004, volume 3273 of Lecture Notes in Computer Science, pages 275-289. Springer-Verlag, 2004.
[ bib ]

[13]
Douglas C. Schmidt. Model-Driven Engineering. Computer, 39(2):25-31, February 2006.
[ bib ]

[14]
Devon Simmonds, Arnor Solberg, Raghu Reddy, Robert France, and Sudipto Ghosh. An Aspect Oriented Model Driven Framework. In Ninth IEEE International EDOC Enterprise Computing Conference (EDOC'05). IEEE Computer Society, 2005.
[ bib ]

[15]
Xavier Thirioux, Benoit Combemale, Xavier Crégut, and Pierre-Loïc Garoche. A Framework to Formalize the MDE Foundations. In Richard F. Paige and Jean Bézivin, editors, Workshop on Towers of Models co-located with TOOLS Europe, pages 14-30, June 2007.
[ bib ]

[16]
Markus Voelter and Iris Groher. Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In SPLC '07: Proceedings of the 11th International Software Product Line Conference, pages 233-242, Washington, DC, USA, 2007. IEEE Computer Society.
[ bib ]

[17]
Jon Whittle, Joao Araújo, and Ana Moreira. Composing aspect models with graph transformations. In EA '06: Proceedings of the 2006 international workshop on Early aspects at ICSE, pages 59-65, New York, NY, USA, 2006. ACM Press.
[ bib ]