Modellgetriebene Architektur - - Grundlagen, Vor- und ... · Aspekt meint eine Betrachtung des...

39
Modellgetriebene Architektur - Grundlagen, Vor- und Nachteile, Erfahrungen - Uwe Kuehn Freie Universität Berlin Seminar Ausgewählte Beiträge zum Softwareenineering, WS 2008/2009

Transcript of Modellgetriebene Architektur - - Grundlagen, Vor- und ... · Aspekt meint eine Betrachtung des...

Modellgetriebene Architektur- Grundlagen, Vor- und Nachteile, Erfahrungen -

Uwe KuehnFreie Universität Berlin

Seminar Ausgewählte Beiträge zum Softwareenineering, WS 2008/2009

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 2/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 3/39

Einführung

É Konzept wurde und wird von der Object Management Group (OMG)entwickelt

É Ziel der MDA ist die Qualitätsverbesserung der SoftwareÉ soll erreicht werden durch effiziente SoftwareentwicklungÉ das Vokabular besteht aus vielen Abkürzungen

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 4/39

Einführung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 5/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 6/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 7/39

Modell

DefinitionEin Modell stellt ein Abbild eines realen oder abstrakten Systemes darund weißt durch einen oder mehrere Aspekte eineAbstraktionsbeziehung/Analogie zum Ausgangssystem auf.

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 8/39

Modellarten bezüglich ihrer Form

É nicht formales ModellÉ wird durch natürliche Sprache beschrieben und übernimmt die damit

zusammenhängende UngenauigkeitÉ formales Modell

É wird durch formale Sprachen definiert und ist durch mathematischeVerfahren verifizierbar

É semiformales ModellÉ wird mit Hilfe strukturierter Formen der natürlichen Sprache und

grafischen Hilfsmitteln erzeugt

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 9/39

Modellarten bezüglich der Plattform

É Computation Independent Model (CIM)É Platform Independent Model (PIM)É Platform Model (PM)É Platform Specific Model(PSM)

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 10/39

weitere Modellarten

É hinsichtlich der DarstellungÉ grafisches ModellÉ textuelles Modell

É hinsichtlich der AutomatierungsmöglichkeitÉ maschinenlesbares ModellÉ menschenlesbares Modell

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 11/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 12/39

Meta-Modell

Wir reden bei einem Modell Mi+1, dann von einem Meta-Modell,wenn

É das Modell Mi+1 in einer Abstraktionsbeziehung zu einem anderenModell Mi steht und Mi+1 von Mi abstrahiert→ Mi+1 wird auch als Metaebene von Mi bezeichnet,

É das Modell Mi+1 Aussagen über das Modell Mi und nicht über dessenGegenstandsbereich macht,

É das Modell Mi als Instanz von Mi+1 verstanden werden kann,É beide Modelle können dieselbe konkrete Syntax verwenden, besitzen

dann aber eine unterschiedliche abstrakte Syntax bzw. Semantik

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 13/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 14/39

Sichtweisen(engl.: Viewpoints)

Perspektiven

sind Sichten auf ein Modell, die (alle) Aspekte einer Architektur abdecken.Die Perspektive bestimmt den oder die Aspekte unter der/denen die Sichtentsteht.

Sichtist eine Beschreibung für ein System unter einem oder mehrerenAspekten.

Aspekt

meint eine Betrachtung des Modells aus einem konkreten Blickwinkel(z.B. Klassendiagramm, Packagedigramm, Use-Case-Diagramm usw.).

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 15/39

Transformation

Modell-Kode-Transformation

É Resultat : kompilierbarer Programmkode, ausführbares ProgrammÉ aus einem modellierten Klassendiagramm werden automatisiert

„Programmskelette“ generiertÉ automatische Generierung von Getter-/Settermethoden nach Definition

der Instanzvariablen

É ist häufig in Entwicklungsumgebungen anzutreffen

Modell-Modell-Transformation

É Resultat : formales ModellÉ aus einem modellierten Klassendiagramm wird automatisiert ein

Entity-Relationship-Modell generiertÉ dient der Verfeinerung des ModellsÉ dient der Umsetzung auf unterschiedliche Plattformen

É Kernelement der MDA

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 16/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 17/39

Probleme 1

Wege zum Kode

É Vorlagen-orientiertÉ Muster-orientiertÉ Mapping/MarkingÉ Meta-Modell-orientiert

Transformationsaufwand

É es wird für jede Transformation ein Plattformmodell benötigtÉ Aufwand ist abhängig von :

É Spezialisierung der PlattformÉ Ausgangsmodell

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 18/39

Probleme 2

Plattform(un)abhängigkeit

É i.d.R. Transformation PIM+PM→PSMÉ PSM kann jedoch wieder PIM sein

Regenerierung

É Geschützte BereicheÉ Einsatz manueller und generierter Artefakte

Reverse Engineering

É scheint kein Thema in der MDA zu seinÉ eine Lösung dieses Problems hilft auch bei der Regenerierung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 19/39

Probleme 3

Frameworknutzung

É es gibt sehr viele Frameworks und ToolsÉ AndroMDA, ATL Transformation-based MMF, BITplan smart Generator,

Open Architect WareÉ IBM Rational Software Architect, Compuware OptimalJ, Interactive Objects

ArcStyler, Oracle Business Process ArchitectÉ Vergleich ist nur sehr schwer möglich

É Ausstattungsmerkmale der Tools/FrameworksÉ nach Lizenz, IDE-Integrierung, UML-Support,É XMI-Support, Importfunktionen, Regenerierung,É OCL-Support, MDA-Rollen, Zielsprachen und -architekturen etc.

É pragmatische Einteilung der Transformationsarten nach [2]É Modelltransformation zwischen verschiedenen SerialisierungsversionenÉ endogene Transformation MMQ = MMZÉ exogene Transformation MMQ sehr ähnlich MMZÉ exogene Transformation MMQ ⊂MMZ oder MMQ ⊃MMZÉ exogene Transformation MMQ ⊂MMx und MMZ ⊂MMxÉ bedingungsfreie exogene TransformationÉ Spezialfall Transformation Modell in Meta-Modell

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 20/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 21/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 22/39

Rollenverteilung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 23/39

Anzahl der Mitarbeiter

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 24/39

Modellverteilung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 25/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 26/39

Aufgabenerledigung mit MDA

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 27/39

Aufgabenerledigung mit MDA

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 28/39

Probleme Modellbasierte Entwicklung

Ablehnung

É Organization culture does not like modelingÉ Semantics of models different from those of programming languages

used for implementationÉ Modeling languages are not expressive enoughÉ Modeling language hard to understandÉ Have had bad experiences with modelingÉ Do not trust companies will continue to support their tools

Zustimmung

É Models become out of date and inconsistent with codeÉ Models cannot be easily exchanged between tools

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 29/39

Probleme Modellbasierte Entwicklung

Gleichheit mit Tendenz Zustimmung

É Modeling tools are ’heavyweight’ (to install, learn, configure, use)É Code generated from a modeling tool not of the kind I would likeÉ You cannot describe the kinds of details that need to be implementedÉ Creating and editing a model is slowÉ Modeling tools change, models become obsoleteÉ Modeling tools lack features I need or wantÉ Modeling tools hide too many details that would be visible in the

source codeÉ Modeling tools are too expensiveÉ Modeling tools do not allow be to analyze my design in ways I would

want

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 30/39

Probleme Kodebasierte Entwicklung

Zustimmung

É Hard to see overall designÉ Hard to understand behavior of systemÉ Code becomes of poorer quality over timeÉ Too difficult to restructure system when neededÉ Difficult to change code without adding bugs

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 31/39

Probleme Kodebasierte Entwicklung

Ablehnung

É Changing code takes too much timeÉ Our programming language leads to complex codeÉ More skill is required than is available to develop high quality codeÉ Programming languages are not expressive enoughÉ Organization culture does not like the code-centric approachÉ Our programming language is likely to become obsolete

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 32/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 33/39

openArchitectureWare

Quellen 11.01.2009

É http://oaw.itemis.de/openarchitectureware/2837/downloadsÉ http://oaw.itemis.de/openarchitectureware/662/ressourcenÉ http://www.openarchitectureware.org/staticpages/index.php

/download_samples

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 34/39

Überblick

Einführung

Grundlagen der MDADas ModellDas Meta-ModellTransformationen

Probleme

ErfahrungenUptake of Modeling Practices in SMEsModel-Centric Versus Code-Centric Software Development

Praktisches Beispiel

Zusammenfassung

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 35/39

Zusammenfassung 1

Die MDA i.S. der Softwareentwicklung

É stellt einen systematischen Ansatz zur Entwicklung vonSoftware-Systemen zur Verfügung

É hohe Formalisierung der verschiedenen ModelleÉ schrittweises transformieren der Modelle

É minimieren der QualistätsrisikenÉ maximieren der Automatisierung

É Architektur ist eng mit Sichten und Perspektiven verbundenÉ Aspekte des Software-Systems werden umfassend berücksichtigtÉ am Schluss der Transformation möglichst wenig bzw. keine

Ergänzungen nötig

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 36/39

Zusammenfassung 2

Vorteile

É Design leicht überschaubarÉ Funktionsweise des Systems ist leicht nachvollziehbarÉ Umgestaltung des Systems ist einfacherÉ keine/weniger Fehler bei späterer Fehlerkorrektur

Nachteile

É Modelle können mit der Zeit inkonsistent werdenÉ Modelle können nicht immer zwischen mehreren Tools ausgetauscht

werdenÉ Tools sind sehr umfangreichÉ teilweise großer Overhead

É hinsichtlich der Erlangung von ExpertenwissenÉ nötige Software/Tools und Anpassung dieserÉ Vorarbeit/Planung, z.B. Anpassung des Softwareentwicklungsprozesses

an MDA,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 37/39

Für weitere Recherchen I

Roland Petrasch, Oliver MeimbergModel Driven Architecture.dpunkt.verlag, 2006.

Jean Bézivin, Erwan Breton, Grégoire Dupé, Patrick ValduriezThe ATL Transformation-based Model Management FrameworkResearch Report University of Nantes, 2003.

Christer Thörn, Thomas GustafsonUptake of Modeling Practices in SMEsModeling in Software Engineering(MiSE) 08 May 10-11, ACM, 2008.

Andrew Forward, Timothy C. LethbridgeProblems and Opportunities for Model-Centric Versus Code-CentricSoftware Development: A Survey of Software ProfessionalsModeling in Software Engineering(MiSE) 08 May 10-11, ACM, 2008.

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 38/39

Das Letzte

Fragen, Sorgen, Nöte ?

Ich bedanke mich für die Aufmerksamkeit.

,

FU Berlin, Modellgetriebene Architektur, BSE WS 2008/2009 39/39