infforum

Model Driven Architecture

Spezialisierung von Modellen durch Generatoren

Unternehmensberatung Know-how-Transfer zu Vorgehensmodellen - Methoden - Werkzeugen


Startseite Informatik Forum

Anforderungsanalyse

Prozess-Modellierung

Anwendungsentwicklung

Projektmanagement

plattformunabhängige Domänenmodell umwandeln mda cim pim psm ism mdd omg oma mof mdsd Aktivitäten Ableitung Muster plan Architektur Vergleich model driven architecture ism Erfahrung Entwicklungsumgebung object management group Programm Domäne Anleitung Aufgaben Problem Bedeutung Softwareentwicklung QS Abfolge Arbeitsablauf Vorgang Aktivität model driven Entwurf Verfahren Vorgehensweise activity Änderung CASE-Tool development Wissen Funktion Ablauf ERM model driven development Prozessoptimierung test consulting information framework Einführung Life-Cycle Informatik Phase Dokumentation Projektarbeit Pflichtenheft Objekt Systemanforderung Ergebnis Optimierung Projektablaufplan Software-System Systemarchitektur mapping Anforderungsmanagement Geschäftsprozess Arbeitsschritte CASE Erläuterung Computer Aided Software Engineering Informationssystem Zielsetzung Nutzen Ist-Analyse Geschäftsprozess Ablaufplan BPM Neuentwicklung Tester Funktionsanalyse Reengineering Ablaufplanung Systemintegration Arbeitspaket Situationsanalyse Funktionsmodell review parallel Software-Design Planung Testkonzept Wartung Leitfaden guide Zielkonflikt DV Schichten-Architektur Zusammenfassung Prozessentwicklung IDE Rollenkonzept

INffORUM Leistungen

Projekt-Beispiele

Kontakt zu INffORUM

plattformunabhängige Modellierung Model Driven Architecture Produktentwicklung lernen Beziehungen OO Softwareentwicklung modular Kompetenz diagram Vergleich OMA Domänenmodell Umwandlung Software-Entwurf best practices transition Komponenten Qualitätssicherung Experte skill Infrastruktur Pflege Konzeption Abgrenzung Transparenz Erklärung Plattformunabhängigkeit Berater

Ziele

Themen

SIP - Strategische Informationssystemplanung

GPM - Geschäftsprozess-Modellierung

Anforderungsanalyse Anforderungsmanagement

Vorgehensmodell

Methoden

Systemabgrenzung

PZR-Analyse

Problemanalyse / Schwachstellenanalyse

Zielanalyse

Restriktionsanalyse

Affinitätsanalyse

Durchführbarkeitsanalyse / Wirtschaftlichkeitsanalyse

Werkzeuge Requirements Engineering

objectiF RPM

Anwendungsentwicklung

Vorgehensmodelle

Wasserfall-Modell

Spiral-Modell

V-Modell

Evolutionäre / inkrementelle Vorgehen

RUP - Rational Unified Process

Agile Software-Entwicklung

MDA - Model Driven Architecture

Methoden

Methode SA - Strukturierte Analyse

Methode ESA - Essentielle System-Analyse

Methode SD - Strukturiertes Design

Methode ERM - Entity-Relationship-Modellierung

Methode RM - Relationen-Modellierung

Methode UML - Unified Modeling Language

Werkzeuge Software Engineering

case/4/0

Innovator

objectiF

Projekt-Management

Vorgehensmodell

Projektstrukturplanung

Aktivitätenplanung

Arbeitsplanung

Kapazitätsplanung / Ressourcenplanung

Change-Management

Konfigurations-Management

Methoden/Techniken

Netzplan-Technik

Balkenplan-Technik

Meilenstein-Trend-Analyse

Methoden Aufwandsschätzung

Methode NuWA - Nutzwertanalyse

Werkzeuge Projekt-Management

in-STEP BLUE

Primavera

Übersicht Leistungen

Organisationskonzepte

Studien, Gutachten

Auswahl Requirements Engineering (CARE) Tool

Auswahl Software Engineering (CASE) Tool

Auswahl Projekt-Management (PM) Tool

Projektleitung

Coaching IT-Projektleiter

Know-how-Transfer Projekte

Beratung und Unterstützung

Software Einsatz case/4/0

Software Einsatz Innovator

Software Einsatz ObjectiF

Projektbeispiele

Informationssystem-Planung

IV-Rahmenplanung Museum

Kommunikationsanalyse Versicherung

Organisation

ORG-BW-Gesamtmodell

Prozessmodellierung und Ablauf-Organisation Rating

Versionierung in der Logistik

Know-how-Transfer Software-Entwicklung

Vorgehensmodell Analyse
mit Einsatz case/4/0

Vorgehensmodell mit Word-Dokumentation

Werkzeug-Einführung Innovator

Simulation Tour de France (mit Download)

Cockpit - Steuerung der Simulation

Mitarbeiter-Profil

Kontakt

Impressum

Unsere Kompetenz

Model Driven Architecture

Die von der Object Management Group (OMG) definierte Model Driven Architecture (MDA) stellt eine Erweiterung der OMA (Object Management Architecture) dar. Diese Erweiterung ist im Wesentlichen durch die Integration von Modellierungsstandards (UML, XMI, MOF, …) bestimmt.
Die OMG betont mit dem Prozessmodell MDA die Trennung von

  • umgangssprachlicher Beschreibung (CIM - Computation Independent Model),

  • Plattform-unabhängigen Modellen (PIM - Platform Independent Model),

  • Plattform-spezifischen Modellen (PSM - Platform Specific Model) und

  • Code-Modell - (ISM - Implementation Specific Model).

bei der Software-Entwicklung (MDSD - Model Driven Software Development). Die OMG setzt dabei auf die Automatisierung der Überführung zwischen dem Plattform-unabhängigen Modell und beliebigen Plattform-spezifischen (technischen) Modellen.
Zu den weiteren Anforderungen an das Vorgehensmodell der Model Driven Architecture gehört, dass die Generierung des Codes aus dem Plattform-spezifischen Modell bzw. dem Code-Modell automatisiert erfolgen muss.

weiterführende
externe Links

OMA - Object Management Architecture (engl.)

Prozessauswirkungen von MDSD

Durch die Trennung der Verantwortlichkeiten (Separation of Concerns) für fachliche und technische Inhalte eines IV-Systems soll

  • eine strikte Trennung der langlebigen (fachlichen) von den kurzlebigen (technischen) Aspekten erreicht und somit eine Anpassung an den Wandel der Technologie erleichtert werden;

  • das Prinzip der Abstraktion zur Handhabung von Komplexität in der Softwareentwicklung intensiver eingesetzt werden;

  • eine Verbesserung im Einsatz von Spezialisten des jeweiligen Gebietes des Systementwicklung möglich sein und

  • ein höheres Maß an Automatisierung bei der Software-Erstellung und an Wartbarkeit durch den Einsatz der Generatoren erreicht werden.

Im Platform Independent Model (PIM) der MDA werden Business-Logik und Funktionalität ohne Berücksichtigung einer möglichen Implementierung mit Hilfe der Unified Modeling Language (UML) beschrieben. Dabei können und sollen Branchen- oder Themen-spezifische Standard-Modelle (Domain-Specific Core Model, Domänenmodell) als Basis für die Software-Entwicklung verwendet werden. Diese Domänen-Modelle stellen eine weitere Abstraktion der zu gestaltenden IV-Systeme dar.
Das Plattform-unabhängige Modell enthält nicht nur die statischen Informationen (zum Beispiel über die Darstellung im Use Case Diagramm bzw. Klassen-Diagramm), sondern auch die dynamischen Aspekte (zum Beispiel über Aktivitäts-Diagramm, Sequenz-Diagramm und Zustands-Diagramm), die über ein Werkzeug in das Plattform-spezifische Modell überführt werden müssen.
 

Wesentlich für Core Model und PIM ist dabei, dass die Beschreibung in der Nutzung der UML vollständig formalisiert ist und so für die Transformation in ein nachfolgendes Modell eine Automatisierung durch ein Tool möglich wird. Die Festlegungen für die Transformation werden über ein UML-Profil in Form von Stereotypen, Tagged Values und Constraints getroffen.


Die Plattform-spezifischen Modelle (PSM) der MDA beinhalten die notwendigen Erweiterungen (Definitionen von Typen, Stereotypen, spezielle Klassen, dynamisches Verhalten, ...) der jeweiligen Ziel-Umgebung (CORBA /C++, J2EE/JAVA, .NET/C#, ...) und werden ebenfalls unter Verwendung der UML in einer vorgegebenen Formalisierung beschrieben. Ein PSM wird durch das ihm zugrunde liegende Meta-Modell genau auf eine technische Umgebung ausgerichtet.
Ein Plattform-spezifisches Modell stellt eine Spezialisierung des PIM dar. Das bedeutet, dass im PSM vorgenommene Erweiterungen den Definitionen im abstrakten Modell (PIM) nicht widersprechen dürfen.

Zu einem Plattform-spezifischen Modell bzw. zu dessen Generierung aus einem PIM gehören Annotationen, die für die Abbildung definierter Eigenschaften aus dem PIM in neue Eigenschaften des PSM benötigt werden.

Für die Umsetzung zwischen PIM und PSM wird im Vorgehensmodell der MDA der XML-Dialekt XMI (XML Metadata Interchange) vorgeschlagen. Auf dieser Basis existieren bereits Generatoren für die Software-Erstellung hinsichtlich unterschiedlicher Plattformen.

Die Generierung eines PSM aus einem PIM erfordert im Vorgehensmodell der MDA einerseits ein fundiertes Wissen über den Aufbau und die technischen Eigenschaften der Zielumgebung. Anderseits muss das Plattform-unabhängige Modell alle notwendigen Informationen für eine eindeutige Umsetzung in Plattform-spezifische Artefakte enthalten.
Dabei können für eine Zielumgebung abhängig vom Typ der Anwendung auch verschiedene Formen der Generierung sinnvoll sein.

Die Generatoren in einer Software-Entwicklungsumgebung sollten gemäß der OMG Meta Object Facility (MOF) aufgebaut sein. Ein MOF-Generator muss die Meta-Modelle von Quell- und Zielumgebung kennen und die Inhalte auf beiden Seiten verwalten können.

Die Generierung von Code aus einem Plattform-spezifischen Modell soll im Vorgehen der Model Driven Architecture zur Steigerung der Qualität und Verbesserung der Wartbarkeit beitragen. Fehler im Quell-Code können überwiegend durch Korrekturen am Generator bereinigt werden und wirken sich damit auf alle weiteren Generierungen ähnlicher Code-Bausteine aus. Der Aufwand wird für Tests reduziert.

Bei der Generierung des Codes aus dem Plattform-spezifischen Modell ist es jedoch auch Bedingung, vom Entwickler individuell hinzugefügte Code-Teile bei nachfolgenden Generierungen zu erhalten.

Insgesamt zeigt sich in dem Ansatz der Model Driven Architecture eine starke Differenzierung in den Rollen in der Software-Entwicklung. Für den IV-Entwicklungsprozess können eine Vielzahl von Spezialisten in ihren jeweiligen Gebieten eingesetzt werden. Diese Aufteilung nach Rollen ist in einem Prozessmodell nicht unbedingt neu. Durch den Einsatz leistungsfähiger Generatoren für die Überführung der Modelle (PIM nach PSM, PSM nach Code) ist dieser Weg jedoch weniger anfällig für den Verlust von Informationen bei der Kommunikation zwischen den unterschiedlichen Sprachwelten von Analytikern, Prozess-Modellierern, Software-Architekten und Modul-Designer.

Eine Erweiterung im MDA-Prozess besteht in der Systematisierung des Requirements Management. Hier kann in einem Computation Independent Model (CIM) eine umgangssprachliche Beschreibung, Verwaltung, Verifikation und Validierung der Anwender-Anforderungen erfolgen. Die Erstellung des Platform Independent Model kann mit der Selektion der umzusetzenden Anforderungen aus dem CIM starten.

Beim Model Driven Software Development (MDSD, auch MDD) in einem konkreten Projekt ist es notwendig, im ersten Schritt die Software-Architektur zu definieren, um dann darauf aufbauend eine Definition der UML-Profile für die jeweiligen Modelle (PIM und PSM) und die Transformation zu erstellen. Will man einen eigenen Generator für die Transformation entwickeln, empfiehlt es sich, für auswählte Funktionen der Anwendung eine Referenz-Implementierung ohne Generator zu erstellen. Diese kann dann mit den Ergebnissen der Generierung abgeglichen werden.

Zum Vorgehensmodell der Model Driven Architecture in der Anwendungsentwicklung / IV-Prozessmanagement bietet INffORUM

  • die Definition oder Weiterentwicklung eines unternehmenseigenen Vorgehens,

  • die Einbindung der geeigneten Werkzeuge für das Model Driven Development (zum Beispiel Innovator, objectiF),

  • die Regeln für das Prozess-Management und die Erstellung einer Arbeitsanleitung für die Anwendungsentwickler sowie

  • den zugehörigen Know-how-Transfer in Form von Schulungsmaßnahmen (Seminar, Workshop, Tutorial), Coaching und Beratung im Projekt.
    Das Training zur MDA, sowohl Seminar als auch Workshop und Tutorial können dabei auf den speziellen Bedarf einer Projekt-Gruppe zugeschnittenen werden.

XMI (XML Metadata Interchange)

Gewinnen Sie durch Model Driven Development Zeit und steigern Sie die Qualität Ihrer Produkte. Aus einem Modell generierte Software entspricht in höherem Maße Ihren Ansprüchen als Software, die nur durch Einhaltung vorgegebener Regeln und die Nutzung von Templates entstanden ist. Erhöhen Sie die Wirtschaftlichkeit Ihrer IT-Projekte durch die Nutzung des MDA-Ansatzes und durch den Einsatz geeigneter Werkzeuge.

Profitieren Sie in Ihrem IT-Projekt von den langjährigen Erfahrungen der INffORUM Berater.