Model Driven Architecture (MDA) Interpretasjon og kritikk Ragnhild Kobro Runde (Ifi, UiO) Veileder: Ketil Stølen (Ifi/SINTEF) Stuntlunsj SINTEF
Oversikt Bakgrunn/utgangspunkt for presentasjonen MDA stuntlunsj SINTEF Hva er MDA? Systemutvikling med MDA Mappinger Begrepet modell-drevet Konklusjon Kilder Det offisielle dokumentet Model Driven Architecture (MDA). Document number ormsc/2001-07-01 (http://www.omg.org/cgi-bin/doc?ormsc/2001-07-01) Generell informasjon hentet fra http://www.omg.org/mda/
Hva er MDA? MDA = Model Driven Architecture Standard for å: Løse problemer knyttet til integrasjon. Skrive spesifikasjoner. Utvikle applikasjoner. Sentralt skille: Spesifikasjon av funksjonalitet. Implementasjon av denne ved hjelp av en konkret teknologi.
Utvikling med MDA MDA stuntlunsj SINTEF Modell = representasjon av en del av funksjonen, strukturen og/eller oppførselen til et system. Lag plattform uavhengige modeller Generer plattform spesifikke modeller Konstruer og test implementasjoner To typer modeller: Plattform-uavhengige (PIM): logisk struktur og funksjonalitet Plattform-spesifikke (PSM): hvordan funksjonaliteten implementeres Plattform = teknologiske detaljer som er irrelevante i forhold til den fundamentale funksjonaliteten.
Utvikling med MDA II Abstraksjon = skjuling av irrelevante detaljer. Spesielt brukes zooming for å vise/forenkle detaljer om MDA stuntlunsj SINTEF objektstrukturer: sammensatte interaksjoner: Synsvinkel = fokuserer på ett aspekt ved systemet, definert ved et abstraksjons-kriterium.
Hvorfor skillet PIM/PSM? Integrasjon: Enklere å relatere plattform-uavhengige modeller. Portabilitet: Samme PIM kan implementeres med ulike teknologier. Enklere å resonnere rundt en PIM.
Integrasjon MDA stuntlunsj SINTEF OMG: CORBA plattform-uavhengige domene-spesifikasjoner. Infrastruktur/felles tjenester: Viktige for alle applikasjoner uansett domene. Eksempler: persistens transaksjonshåndtering sikkerhet... Vil på sikt bli definert ved hjelp av UML-modeller på PIM-nivå. Integrasjon av applikasjoner, samt bruk av felles tjenester, vil primært skje ved å relatere de plattform-uavhengige modellene.
Mappinger MDA stuntlunsj SINTEF Mapping = sett med regler og teknikker for å modifisere en modell for å få en annen modell. Fire kategorier: PIM utvider, filtrerer, spesialiserer abstraherer eksisterende implementasjon fra logisk modell til konkret teknologi PSM komponent realisering
Modell-drevet forslag til definisjon En systemutviklingsprosess er modell-drevet hvis: Utviklingen skjer primært ved hjelp av modeller (i UML). Modeller står sentralt også ved vedlikehold og videreutvikling. Vi har modeller på ulikt abstraksjonsnivå og fra ulike synsvinkler. Modell-relasjoner angir mønstre for overganger mellom modeller.
MDA-guide Definisjoner (arbeidsnotat) Modell = Beskrivelse/spesifikasjon av et system med omgivelse. Uttrykt som kombinasjon av tegninger og tekst i et modelleringsspråk eller naturlig språk. Modell-drevet: MDA er en tilnærming til systemutvikling, med økt vekt på modeller. Den er modell-drevet fordi den gir et middel for å bruke modeller til å styre forståelse, design, konstruksjon, vedlikehold og modifikasjon. Arkitektur = Spesifikasjon av systemets deler og forbindelser, med regler for interaksjon mellom delene ved hjelp av forbindelsene.
MDA spesifiserer tre synsvinkler: MDA-guide Synsvinkler Beregnings-uavhengig: Systemet med omgivelse, skjuler detaljer om systemets struktur. Plattform-uavhengig: Funksjonen til systemet, skjuler plattform-spesifikke detaljer. Plattform-spesifikk: Kombinerer den plattform-uavhengige synsvinklen med detaljer om en spesifikk plattform.
Konklusjon MDA er foreløpig en visjon om systemutvikling. En klar definisjon på modell-drevet arkitektur mangler. Generelt inneholder det offisielle MDA-dokumentet mye fine ord, men lite konkret. Den kommende MDA-guiden kan forhåpentligvis hjelpe på noe av dette.