Forschungsbericht 2010 - Hochschule Ingolstadt
Forschungsbericht 2010 - Hochschule Ingolstadt
Forschungsbericht 2010 - Hochschule Ingolstadt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kompetenzfeld<br />
Fahrzeugmechatronik<br />
AtomsPro — Effizienzsteigerung bei der Entwicklung von betriebswirt-<br />
schaftlicher Software basierend auf modellgetriebener Software-Entwicklung<br />
einführunG<br />
Der Ansatz der modellgetriebenen Software-Entwicklung<br />
(model driven software development, MDSD) stellt einen<br />
immer wichtiger werdenden Faktor in der Erstellung umfangreicher<br />
betriebswirtschaftlicher Software dar. Mit<br />
MDSD kann ein deutlicher Beitrag hinsichtlich der Erfolgsfaktoren<br />
wie Flexibilität, Wartbarkeit, Anpassbarkeit<br />
und Einhaltung von Lieferterminen geleistet werden. Das<br />
Projekt AtomsPro zielt darauf ab, konsequent Aspekte<br />
der Domänenmodellierung und Software-Architektur zu<br />
vereinen. Hierzu werden Ausdrucksmittel geschaffen, die<br />
es Domänenexperten erlauben, eine aktive Rolle in der<br />
Software-Entwicklung einzunehmen. Die herausfordernde<br />
Zielsetzung besteht darin, den Generierungsanteil in<br />
Software-Systemen signifikant zu erhöhen und dabei<br />
gleichzeitig die Wartbarkeit der Systeme zu gewährleisten.<br />
probleMstellunG<br />
Globalisierte Märkte fordern schnelles und flexibles<br />
Agieren, um unter erheblichem Kostendruck die Wettbewerbsfähigkeit<br />
zu erhalten. Die Fähigkeit der agilen<br />
Anpassung des Domänenwissens (z. B. im Bereich Logistik)<br />
bei gleichzeitiger Nachführung in die IT-Systeme<br />
entscheidet in signifikanter Weise über den Unternehmenserfolg.<br />
Jedoch sehen sich seit einigen Jahrzehnten<br />
Unternehmen einem kritisch zu bewertenden Trend gegenüber,<br />
nämlich der starren, unidirektionalen Migration<br />
von Domänenwissen in ihre IT-Systeme. Folglich werden<br />
Fachexperten als Erzeuger und Halter von Domänenwissen<br />
immer abhängiger von Software-Entwicklern bzw.<br />
Software-Architekten. Darüber hinaus werden industrielle<br />
Software-Systeme üblicherweise unter hohem Projektdruck<br />
und Kostenspargesichtspunkten erstellt. Häufig<br />
werden dabei Strukturierungsrichtlinien außer Acht gelassen,<br />
was die effiziente Wartbarkeit im weiteren Lebenszyklus<br />
schwer möglich macht. Das ist insbesondere kritisch,<br />
da ein signifikanter Teil der Gesamtkosten (englisch: total<br />
cost of ownership, TCO) für Wartung und Anpassung anfallen.<br />
ZielsetZunG<br />
Das Ziel von AtomsPro ist es, eine Methode zur kosteneffizienten<br />
Erstellung und Wartung von verteilter Software<br />
samt Werkzeugunterstützung zu entwickeln. Dabei kommen<br />
Beschreibungsmittel zum Einsatz, die es ermöglichen,<br />
auf einem auch für Nicht-Software-Entwicklungsexperten<br />
anwendbaren Abstraktionsniveau ausreichend<br />
formale maschinenverarbeitbare Applikationsspezifikationen<br />
zu erstellen. Hierbei bilden diese Spezifikationen<br />
gepaart mit Artefakten basierend auf einer innovativen<br />
Methode zur Software-Architekturbeschreibung die Eingangsdaten<br />
für den nachgelagerten Transformationsprozess<br />
(automatische Code-Generierung für die dezidierte<br />
Zielplattform). Dadurch soll der Anteil an automatisch generierten<br />
Code-Artefakten gesteigert werden, was einen<br />
signifikanten Effizienzgewinn bedeutet.<br />
Atomspro<br />
Der Ausgangspunkt für die automatische Code-Generierung<br />
ist eine abstrakte UML-basierte Beschreibung der<br />
Anwendung, die sich aus verschiedenen Sichten zusammensetzt<br />
(Abbildung 1). Ein UML-Anwendungsfalldiagramm<br />
beschreibt die in der Anwendung auftretenden<br />
Anwendungsfälle. Dabei wird jeder Anwendungsfall<br />
in einem Modell durch ein Aktivitätsmodell konkretisiert,<br />
welches Kontrollflüsse und Dialog-Interaktionen<br />
Abbildung 1<br />
AtomsPro Methode<br />
beschreibt. Objekte leiten sich aus einem UML-Klassenmodell<br />
ab und können je nach zugrundegelegtem Architekturmodell<br />
verschiedene Aufgaben übernehmen. Da<br />
viele Applikationen die Möglichkeit der direkten Benutzer-<br />
interaktion verlangen, ist es möglich, eine Benutzeroberfläche<br />
mittels eines Modells für Benutzerschnittstellen<br />
(User Interface model, UI-Modell) frei zu spezifizieren. Um<br />
die Ausdrucksmächtigkeit von UI-Modellen zu erhöhen,