• Keine Ergebnisse gefunden

Variabilität im modelbasierten Engineering von eingebetteten Systemen

N/A
N/A
Protected

Academic year: 2022

Aktie "Variabilität im modelbasierten Engineering von eingebetteten Systemen"

Copied!
9
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Variabilit¨at im modellbasierten Engineering von eingebetteten Systemen

Andreas Polzer RWTH Aachen University polzer@embedded.rwth-aachen.de

Goetz Botterweck Lero, University of Limerick

goetz.botteweck@lero.ie Iris Wangerin

RWTH Aachen University wangerin@embedded.rwth-aachen.de

Stefan Kowalewski RWTH Aachen University kowalewski@embedded.rwth-aachen.de Abstract:Die modellbasierte Entwicklung eingebetteter Systeme (MBE) mit Hilfe von Werkzeugen wie Simulink ist eine bekannte Vorgehensweise und in der industri- ellen Praxis weit verbreitet. Wenn diese Vorgehensweise auf eine Menge gleichartiger Systeme angewandt wird, k¨onnen Ans¨atze aus der modellbasierten Entwicklung und dem Produktlinien-Engineering kombiniert werden. Dabei stellen sich jedoch Heraus- forderungen bez¨uglich der Handhabung von Komplexit¨at und Integration bei bestehen- den Werkzeugketten. In diesem Artikel diskutieren wir, wie Konzepte und Techniken f¨ur modellgetriebene Software-Entwicklung dazu eingesetzt werden k¨onnen, um die- se Herausforderungen zu bew¨altigen. Wir pr¨asentieren unseren Ansatz einschließlich Techniken zur Integration von Simulink, Eclipse-basierten Frameworks und Variabi- lit¨atsmechanismen f¨ur Simulink-Modelle. Wir diskutieren den vorgestellten Ansatz und berichten ¨uber erste Erfahrungen aus der Erprobung mit einem autonomen Ein- parkassistenten sowie einem Rapid-Control-Prototyping System.

1 Einleitung

Bei der Entwicklung eingebetteter Systemen m¨ussen die Entwickler immer komplexere Systeme entwerfen und implementieren. Die steigende Komplexit¨at wird unter anderem durch vermehrten Funktionsumfang sowie eine zunehmende Verteilung und Vernetzung einschließlich den daf¨ur notwendigen Kommunikationsmechanismen verursacht. Es wer- den also Ans¨atze ben¨otigt, welche die Entwickler dabei unterst¨utzen, auch komplexe Sys- teme zu beherrschen und gleichzeitig Anforderungen und Qualit¨atskriterien wie z. B. Per- formanz und Zuverl¨assigkeit zu erf¨ullen.

Ein M¨oglichkeit ist hier die Verwendung von Modellen, mit den einhergehenden Mecha- nismen zur zweckgerichteten Abstraktion (Konzentration auf das Wesentliche, Ausblen- den von Nicht-Relevantem) und zur visuellen Repr¨asentation, die als Mittel zur Komple- xit¨atsbeherrschung eingesetzt werden k¨onnen. So ist inzwischen die modellbasierte Ent- wicklung mit Werkzeugen wie Matlab / Simulink in der industriellen Praxis weit verbreitet.

Sollen nun ganze Familien von ¨ahnlichen Systemen entwickelt werden, ist eine syste- matische Vorgehensweise, welche die Gemeinsamkeiten, aber auch die Unterschiede der

(2)

Systeme ber¨ucksichtigt, vorteilhaft [Par76]. Hier erscheint es sinnvoll, Ans¨atze der mo- dellbasierten Entwicklung eingebetteter Systeme auf der einen Seite und Ans¨atze aus dem Produktlinien-Engineering (PLE) zu kombinieren. Daher stellen sich, nach unserer An- sicht, folgende Herausforderungen:

Integration– Die etablierten Sprachen der modellbasierten Entwicklung eingebetteter Sys- teme m¨ussen mit den Mechanismen des PLE (Variabilit¨at, Produktableitung) integriert werden. Dabei sollen bew¨ahrte MBE-Verfahren (z.B. Simulation, Codegenerierung und -optimierung) anwendbar bleiben.

Zus¨atzliche Komplexit¨at durch Variabilit¨at– Durch die Einf¨uhrung von Variabilit¨at steigt wieder die Komplexit¨at. Wenn beispielsweise ein Regelungssystem in verschiedenen Pro- dukten mit unterschiedlichen Sensoren verwendet wird, muss die steuernde Software zahl- reiche Varianten und Spezialf¨alle ber¨ucksichtigen und wird dadurch komplexer.

Konsistenz trotz Variabilit¨at– Ein entwickeltes Produkt und die darin enthaltene Softwa- re wird durch eine Vielzahl von Artefakten (z. B. Modellen, Tests oder Codefragmenten) beschrieben. Werden nun bei der Produktableitung Variabilit¨atsentscheidungen getroffen, beeinflusst dies unter Umst¨anden zahlreiche Artefakte, die durch Abh¨angigkeiten mitein- ander verbunden sind. Trotzdem sollen, im Sinne einer systematischen Vorgehensweise, alle produktrelevanten Artefakte konsistent (miteinander) bleiben.

Zur Beantwortung dieser Herausforderungen diskutieren wir, wie bekannte Verfahren der modellbasierten Entwicklung eingebetteter Systeme mit Ans¨atzen aus dem Produktlinien- Engineering kombiniert werden k¨onnen. Unser Ansatz basiert auf einer Integration von Simulink und Eclipse-basierten Frameworks. Dies erm¨oglicht uns (1) die ¨Uberf¨uhrung eines Simulink-Modells in die Eclipse-Welt (2) die Anwendung von vorhandenen Me- chanismen (z. B. zur Realisierung von Variabilit¨at und Produktableitung) und (3) die R¨ucktransformation zur Erzeugung eines nativen Simulink-Modells. Wir diskutieren den vorgestellten Ansatz und berichten ¨uber erste Erfahrungen aus der Erprobung mit einem autonomen Einparkassistenten sowie einem Rapid-Control-Prototyping System.

2 Grundlagen

Ziel des (Software-) Produktlinien-Engineerings (PLE) ist es, mit einem Minimum an technischer Varianz die spezifischen Anforderungen jedes einzelnen Anwenders bzw. Pro- duktes zu erf¨ullen. Dabei wird auf eine strategische Wiederverwendung (im Gegensatz zu einer opportunistischen) gezielt.

Bei PLE Ans¨atzen werden die Aktivit¨aten h¨aufig in zwei Bereiche unterteilt, vergleiche Abbildung 1. So unterscheiden Pohl et al. [PBvdL05] inDom¨anenentwicklung(engl. Do- main Engineering, Entwicklung der Produktlinie) undApplikationsentwicklung(engl. Ap- plication Engineering, Ableitung des Produkts). ¨Ahnlich identifizieren Clements und Nor- throp [CN02]Core Asset DevelopmentundProduct Developmentund erg¨anzen zus¨atzlich dasManagementals separaten Aktivit¨atsbereich.

In der Dom¨anenentwicklung werden zweierlei Artefakte erstellt: Erstens ein Modell, wel-

(3)

Featuremodell

Feature‐

konfiguration

Features Implementierung

Produkt‐

konfiguration

DomänenentwicklungApplikationsentwicklung

Feature‐

analyse Anforderungen

an die Produktlinie

Anforderungen an das Produkt

Implementierte Produktlinien‐

komponenten

Produkt Feature Implementa‐

tion

Produkt‐

ableitung

Abbildung 1: Software-Produktlinien-Engineering

ches die potentiellen Wahlm¨oglichkeiten und Variabilit¨at f¨ur Produkte beschreibt (z. B. ein Feature-Modell oder ein Variabilit¨atsmodell) und zweitens die eigentliche Implementation der Produktlinie (z. B. durch Software-Komponenten und eine Architektur, welche diese Komponenten in Beziehung gesetzt).

In der Applikationsentwicklung wird auf Grundlage der Anforderungen an das Pro- dukt zun¨achst entschieden, welche Merkmale gew¨unscht sind und entsprechende Varia- bilit¨atsentscheidungen getroffen. Mit Hilfe der so entstandenen Konfiguration wird aus den Produktlinien-Komponenten ein entsprechendes Produkt abgeleitet. Je nach Ansatz k¨onnen dabei unterschiedliche Strategien zur Anwendung kommen (z. B. Codegenerie- rung, Assemblierung vom Komponenten oder selektives Entfernen von Elementen).

3 Ansatz

Im Folgenden werden wir unseren Ansatz zur modellbasierten Ableitung von Produktli- nien mit Hilfe von Eclipse-basierten Frameworks vorstellen. Als Grundlage dient der in Abbildung 2 dargestellte Prozess.

Grundlage f¨ur die Beschreibung und Verarbeitung der notwendigen Modelle sind Spra- chen. Diese sind teilweise durch das Framework vorgegeben (Features, Mappings).

Zus¨atzlich dazu haben wir mit Hilfe einer Grammatik f¨ur unseren Ansatz eine Sprache SLbeschrieben. Mittels des aus der Grammatik generierten Parsers sind wir in der Lage, Instanzen der propriet¨aren Sprache vonSimulinkzu lesen und weiterzuverarbeiten.

In der Dom¨anenentwickung wird zun¨achst im Rahmen derFeatureanalyse einFeatu- remodell erstellt und dann in weiteren Prozessschritten - implementiert und mit der Implementation verkn¨upft.

(4)

Mapping

Feature‐

Metamodell

Feature‐

modell

Feature‐

konfiguration

Features Implementierung

Feature‐

konfigura‐

tion

DomänenentwicklungApplikationsentwicklungSprache

Feature‐

analyse Product Line

Requirements

Produkt Anforderungen

Simulink

Produkt‐

ableitung

Textuelle DSL DSLs (als EMF Modell)

SL Metamodell

1

5

ausführbares Programm 6

Mapping‐

modell B

Mapping‐

Metamodell

Domain‐

Simulinkmodell (*.sl) Cd

Domain‐

Simulinkmodell (*.mdl) Dd

Applikations‐

Simulinkmodell (*.sl) Ca

Applikations‐

Simulinkmodell (*.mdl) Da mdl2sl

Transformation 3 Feature‐

mapping Ad

Aa

Code‐

generierung 8 sl2mdl

Generator 7

Feature Implementa‐

tion 2 4

Instanz von

Prozess Artefakt Datenfluss

Legende

Abbildung 2: Schematische Darstellung der modellbasierten Produktableitung

Die Applikationsentwicklung beginnt mit dem Prozess derKonfiguration der eineFea- turekonfiguration a liefert, welche das gew¨unschte Produkt spezifiziert. Die eigentliche Produktableitung findet im C-f¨ormigen Datenfluss (Prozesse , und ) statt: Die Imple- mentation der Features wird zun¨achst durch dasDomain Simulinkmodell(Dd) beschrieben.

Die Transformation ¨uberf¨uhrt das Modell aus der propriet¨aren Simulink-Sprache in ein

¨aquivalentes SL-ModellCd. Dieses wird dann, entsprechend den Angaben in der Konfigu- ration a und dem Mapping-Modell , in ein produktspezifisches ApplikationsmodellCa

abgeleitet. Zum Abschluss l¨asst die Transformation daraus wieder ein Matlab / Simulink konformes ModellDaentstehen.

3.1 Integration von Simulink und Eclipse-basierten Frameworks

Um die Transformationen vom variantenreichen Simulinkmodell in ein produktspezifi- sches Simulinkmodell durchzuf¨uhren verwenden wir Mechanismen aus Eclipse-basierten Frameworks, insbesondere dem Eclipse Modeling Framework (EMF) und openArchitec- tureWare (oAW).

(5)

oAW Xtext erm¨oglicht die Definition einer textuellen dom¨anenspezifischen Sprache (DSL). Wir nutzen diesen Mechanismus um eine Grammatik f¨ur die propriet¨are Sprache zu definieren, in der Simulink-Modelle gespeichert werden. Auf dieser Grundlage k¨onnen dann folgende Artefakte generiert bzw. Mechanismen verwendet werden:

Ecore Metamodell Aus der Grammatik wird automatisch auch ein Ecore-Metamodell erzeugt, welches wiederum in anderen EMF-Mechanismen eingesetzt werden kann.

Editoren Es werden Editoren f¨ur Simulink-Modelle abgeleitet. Diese bieten viele Funk- tionen professioneller Editoren, wie Syntax Highlighting, Code Completion oder einen Struktur¨uberblick.

Import/Export durch die Grammatik und das Metamodell ist es m¨oglich, ein Simulink- Modell aus dem propriet¨aren Simulinkformat in eine Repr¨asentation innerhalb der Eclipse-Welt zu ¨uberf¨uhren und so f¨ur die Anwendung diverser EMF-basierter Me- chanismen zu ¨offnen. Ebenso ist eine R¨ucktransformation zur (Neu-) Erzeugung eines nativen Simulink-Modells m¨oglich.

Modelltransformationen Sind die Simulink-Modell erstmal in ein EMF-Modell

¨uberf¨uhrt k¨onnen diverse Mechanismen angewendet werden. Beispielsweise k¨onnen wir eine Modelltransformationen verwenden, um Elemente hinzuzuf¨ugen oder zu manipulieren.

Diese Komponenten sind wichtige Grundlage f¨ur unseren Ansatz. Herzst¨uck f¨ur die Produktableitung ist jedoch die Anwendung der Konfigurationsentscheidungen auf das Simulink-Modell. Den daf¨ur verwendeten Mechanismus werden wir im folgenden Ab- schnitt diskutieren.

3.2 Negative Variabilit¨at durch Modelltransformation (Xvar)

Ein m¨oglicher Ansatz zur Transformation einer variantenreichen Implementierung einer Produktlinie in ein Produkt ist negative Variabilit¨at [VG07]. Ausgehend von einem Modell, dass alle m¨oglichen Implementierungen enth¨alt, wird durch L¨oschen bestimmter Teile das fertige Produkt abgeleitet. Entscheidung, welche Elemente entfernt werden m¨ussen basiert dabei auf einer Konfiguration, welche die gew¨unschten Features festlegt.

In unserem Ansatz wird die Produktlinie durch ein Simulink-Modell repr¨asentiert, welches alle Varianten vereint (150%-Modell). Die verschiedenen Feature werden durch Bl¨ocke in- nerhalb des Modells implementiert. Alternative Features werden mit einenSwitch-Block verbunden, der den entsprechenden Ausgang w¨ahlt. Optionale Features, die ohne Alterna- tive im Produkt vorhanden sein k¨onnen, werden gegebenenfalls ohne Ersatz gel¨oscht.

Mittels oAW Xvar haben wir diese L¨oschung von Bl¨ocken im Simulink-Modell reali- siert. Dazu ist es notwendig, eine Konfiguration als pure::variants Variantenmodell oder als einfache Textdatei zu erstellen. Die Zuordnung der dort gew¨ahlten Features zu den ent- sprechenden Elementen im Simulink-Modell erfolgt durch ein weiteres Modell (Mapping- oder auch Dependency-Modell).

(6)

Abbildung 3: Modell des autonomen Einparkassistenten

Bei normaler Vorgehensweise referenzieren diese Mappings aufeinzelne Instanzenvon Simulink-Elementen. Das Erstellen dieser Mappings kann sich aber als sehr aufwendig herausstellen. Um eine Vereinfachung dieser Vorgehensweise zu erreichen, haben wir auch mit Mechanismen experimentiert, die Feature nicht einzelnen Instanzen, sondern Gruppen oderTypen von Simulink-Elementen zuordnen. Beispielsweise k¨onnen auf diese Weise alleScopeoderDisplayBl¨ocke im Produkt belassen oder entfernt werden, um eine De- bugfunktion zu aktivieren oder zu entfernen.

4 Anwendungsbeispiel

Der im Kapitel 3 vorgestellte Ansatz wurde am Beispiel eines modellbasiert entwickelten Einparkassistenten umgesetzt. Der Assistent wurde mit dem Modellierungs- und Simu- lationswerkzeug Matlab/Simulink entwickelt und enth¨alt die notwendige Anbindung an Sensoren und Aktuatoren, ein Modell des Assistenten realisiert im Werkzeug Stateflow und ein Modell der Strecke zur Simulation (siehe Abblidung 3).

Das Modell ist hierarchisch aufgebaut und enth¨alt auf verschiedenen Ebenen Scope- Bl¨ocke um das Modellverhalten w¨ahrend der Simulation ¨uberpr¨ufen zu k¨onnen. W¨ahrend der Simulation kann das Modell mit einem Eingabeger¨at beeinflusst werden. Das Stre- ckenmodell (Plant) simuliert eine Umgebung mit Parkl¨ucken. Die Simulation beschr¨ankt sich auf die L¨ange der Parkl¨ucke.

Das Modell wird mit Hilfe des WerkzeugsXTextin einexmi-Datei umgewandelt. Dazu wurde eine Grammatik entwickelt, die zwischen allgemeinen Bl¨ocken, Subsystemen und Debug-Bl¨ocken unterscheidet. Diese Grammatik dient als Eingabe um eine Transforma- tion von einer Simulink Datei.mdlnach der.xmizu definieren. Zus¨atzlich wird noch ein Metamodell generiert, welches in Form einerecore-Datei abgespeichert wird.

Um Variabilit¨at imxmi-Modell zu binden und damit einen konkreten Einparkassistenen abzuleiten wird das Werkzeugxvarverwendet. Diese Werkzeug transformiert einexmi-

(7)

Datei in eine angepasstexmi-Datei, aufgrund von Verkn¨upfungen zwischen ausgew¨ahlten Feature und Implementierungselementen. Ein Metamodell definiert die Verkn¨upfung als ein Element einesDependency-Modells, das einmodelElementsund einemfeatureenth¨alt.

DasmodelElementswird in demxmi-Implentierungsmodell bestimmt und dient zur Iden- tifizierung von Simulinkbl¨ocken (repr¨asentiert derxmi-Datei). Dasfeaturewird als Zei- chenkette (Name) hinterlegt. Die Steuerung der Produktableitung erfolgt ¨uber eine Kon- figurationsdatei. Diese enth¨alt den Featurename und ein Steuerzeichen, das kennzeichnet, ob ein Feature aktiviert ist (z. B.:’FeatureName +’).

Die R¨ucktransformation erfolgt mit dem Werkzeugxpand. Als Eingabe wird ein beliebiges xmi-Modell verwendet, dass demecoreMetamodell entspricht. Die einzelnen Elemente des Modells werden regelbasiert wieder in Elemente eines Simulinkmodells ¨ubersetzt und in einer Datei gespeichert.

5 Related Work

In fr¨uheren Arbeiten [PKB09] haben sich die Autoren bereits mit Variabilit¨atsmanagement im Zusammenhang mit dem modellbasierten Entwurf von eingebetteten Systemen besch¨aftigt. Der dortige Ansatz fokussiert spezielle Techniken f¨ur die Handhabung von Variabilit¨at in mikrocontroller-basierten Regelungssysteme und verwendet Mechanismen des kommerziellen Werkzeugs pure::variants [Pur]. Im Gegensatz dazu zielt der hier vor- gestellte Ansatz auf die Verwendung von Open-Source-Frameworks.

V¨olter und Groher [VG07] nutzen aspektorientierte und modellgetriebene Techniken, um Produkte abzuleiten. Sie verwenden, ¨ahnlich wie der hier vorgestellte Ansatz, Mechanis- men von openArchitectureWare [ope] und demonstrieren dies anhand einer Beispiel-SPL von Smart Home Anwendungen.

Bei der Handhabung von Variabilit¨at in Modellen und dom¨anen-spezifischen Sprachen, ist eine wichtige Herausforderung die Zuordnung von Features (bzw. Variationspunkten) zu den entsprechenden Elementen in den Implementationsartefakten (z. B. Teilen eines Modells oder Codefragmenten). Czarnecki und Antkiewicz [CA05] benutzen dazu Mo- delltemplates, bei denen Filterregeln f¨ur Modellelemente mit Hilfe von OCL beschrieben werden. In fr¨uheren Arbeiten haben die Autoren dieses Beitrags [BLT09, BOT07] Mo- delltransformationen in ATL [EFa] genutzt, um ¨ahnliche Zuordnungen zu realisieren. Fea- tureMapper [HKW08] erlaubt die Zuordnung von Features zu beliebigen EMF-basierten Modellen [EFb]. K¨astner et al. [KAK08] verwenden, um Codefragmente entsprechende ihrer Zuordnung zu Features entsprechend einzuf¨arben.

6 Diskussion

Der in diesem Bericht vorgestellte Ansatz kombiniert Verfahren aus den Bereichen Pro- duktlinien und modellgetriebene Software-Entwicklung zur Entwicklung eingebetteter

(8)

Systeme. Ziel ist es, (1) die modellbasierte Entwicklung eingebetteter Systeme um Me- chanismen f¨urVariabilit¨atzu erweitern und (2) Grundlagen f¨ur eine gleichzeitigeKom- plexit¨atsbeherrschungzu legen.

Die Umsetzung der Produktlinienmechanismen erfolgt auf Grundlage des Eclipse Mode- ling Frameworks (EMF) [EFb] sowie openArchitectureWare (oAW) [ope]. Mit Hilfe dieser Frameworks wurde eine Grammatik implementiert, die es erlaubt, die propriet¨are Sprache der Simulink-Modelle in ein EMF-Modell umzuwandeln. Das dabei zus¨atzlich generier- te Metamodell dient weiteren Werkzeugen als Grundlage, z. B. bei der Umsetzung von Variabilit¨atsmechanismen und der R¨ucktransformation in Simulink-Modelle.

Der gezeigte Ansatz wurde an einem modellbasierten autonomen Einparkassistenten ge- testet. Das zugeh¨orige Simulink-Modell besteht aus 10.000 Zeilen Quelltext und wur- de mit Subsystemen und Busstrukturen modelliert. Der Einparkvorgang ist mittels eines Stateflow-Automaten umgesetzt, der eine feste Trajektorie abf¨ahrt und diese dynamisch an die Umgebung anpasst. Ein Versuchstr¨ager kann mit diesem Modell autonom einparken.

Bei unserem Vorgehen hat sich gezeigt, dass man durch die Transformation von Mat- lab / Simulink-Modellen in ein offenes Modell einfache Transformationsmechanismen ver- wenden kann, um Variabilit¨atsmechnismen bei eingebetteten Systemen zu realisieren.

Durch die Definition von Grammatiken f¨ur verschiedene Sprachen ist es m¨oglich, die Me- chanismen konsistent auf alle Modelle anzuwenden. Dies ist notwendig, da bei der modell- basierten Entwicklung eingebetteter Systeme fast immer eine Werkzeugkette eingesetzt wird, die Informationen und Fragmente aus verschiedenen Quellen zur lauff¨ahigen Im- plementation zusammensetzt. Eine konsistente Anwendung der Variabilit¨atsmechanismen (gleichzeitige Beeinflussung von Simulink-Modell, Schnittstellenbeschreibung und Doku- mentation) haben wir bereits in fr¨uheren Arbeiten [PKB09] zeigen k¨onnen.

Als weitere Vorteil hat sich gezeigt, dass durch geeignete Beeinflussung des Metamodells die Verkn¨upfung von Feature und Implementierung vereinfacht werden kann. So k¨onnen etwa Variabilit¨atsmechanismen alle Instanzen einesTypsvon Bl¨ocken beeinflussen, z. B.

um alle Debugbl¨ocken zu entfernen.

Die Beschr¨ankungen des Ansatzes sehen wir in der noch unzureichenden Unterst¨utzung der Entwicklung von Produktlinien durch die verwendeten Werkzeuge. So ist etwa eine di- rekte Integration unseres Ansatzes in das Modellierungswerkzeug bisher nicht vorgesehen, so dass eine gleichzeitige Beeinflussung von Simulink-Modellen durch Matlab / Simulink und das Variantenmanagementframework nicht m¨oglich ist.

Weiterhin haben wir beim Entwurf der Grammatik eine Abw¨agung zwischen Wieder- verwendbarkeit und semantischem Niveau zu treffen. Entweder wir nutzen allgemeine Konzepte (System,Block) oder spezifischere Konzepte auf einem h¨oheren semantischen Niveau (Oszilloskop). Im ersteren Fall ist die Wahrscheinlichkeit h¨oher, dass die Gram- matik auch noch mit der n¨achsten Simulink-Version funktioniert. Im zweiten Fall sind m¨achtigere Operationen m¨oglich, da auf spezifischere Konzepte referenziert werden kann.

Durch die Integration von Simulink und EMF/oAW k¨onnen nun weitere Mechanismen auf Simulink angewendet werden. Diese M¨oglichkeiten werden wir in weiteren Arbeiten weiter ausloten. Dazu geh¨oren beispielsweise Verfahren zur automatischen Pr¨ufung der Modellstruktur, zur Beeinflussung von Schnittstellen und zur einfacheren Verkn¨upfung

(9)

von Features und Implementation. Auf Grundlage von Erfahrungen in anderen Projekten, sehen f¨ur diese Mechanismen Potential bei Modellen, die viele Eing¨ange und Ausg¨ange haben, welche der Produktkonfiguration beeinflusst werden. In diesem Bereich rechnen wir damit, dass sich durch die Anwendung der genannten Mechanismen die Qualit¨at eines Produktes und der Aufwand f¨ur die Produktableitung g¨unstig beeinflussen lassen.

Literatur

[BLT09] Goetz Botterweck, Kwanwoo Lee und Steffen Thiel. Automating Product Derivation in Software Product Line Engineering. InProceedings of Software Engineering 2009 (SE09), Kaiserslautern, Germany, March 2009.

[BOT07] Goetz Botterweck, Liam O’Brien und Steffen Thiel. Model-driven Derivation of Pro- duct Architectures. InProceedings of ASE 2007, Seiten 469–472, Atlanta, GA, USA, 2007.

[CA05] Krzysztof Czarnecki und Michal Antkiewicz. Mapping Features to Models: A Template Approach Based on Superimposed Variants. InGPCE’05, 2005.

[CN02] Paul Clements und Linda M. Northrop.Software Product Lines: Practices and Patterns.

The SEI series in software engineering. Addison-Wesley, Boston, MA, USA, 2002.

[EFa] Eclipse-Foundation. ATL (ATLAS Transformation Language). http://www.

eclipse.org/m2m/atl/.

[EFb] Eclipse-Foundation. EMF - Eclipse Modelling Framework. http://www.

eclipse.org/modeling/emf/.

[HKW08] Florian Heidenreich, Jan Kopcsek und Christian Wende. FeatureMapper: mapping fea- tures to models. InICSE Companion ’08: Companion of the 13th international confe- rence on Software engineering, Seiten 943–944, New York, NY, USA, 2008. ACM.

[KAK08] Christian K¨astner, Sven Apel und Martin Kuhlemann. Granularity in Software Product Lines. InProceedings of the 30th International Conference on Software Engineering (ICSE), Seiten 311–320, New York, NY, USA, Mai 2008. ACM.

[ope] openarchitectureware.org - Official Open Architecture Ware Homepage. http://

www.openarchitectureware.org/.

[Par76] D. Parnas. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, SE-2(1):1–9, March 1976.

[PBvdL05] Klaus Pohl, Guenter Boeckle und Frank van der Linden. Software Product Line Engi- neering : Foundations, Principles, and Techniques. Springer, New York, NY, 2005.

[PKB09] Andreas Polzer, Stefan Kowalewski und Goetz Botterweck. Applying Software Product Line Techniques in Model-based Embedded Systems Engineering. InMOMPES 2009, Workshop at ICSE 2009, Vancouver, Canada, May 2009.

[Pur] Pure::systems. pure::variants Connector for Simulink.http://www.mathworks.

com/products/connections/product_main.html?prod_id=732.

[VG07] Markus Voelter und Iris Groher. Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. InSPLC 2007, Kyoto, Japan, September 2007.

Referenzen

ÄHNLICHE DOKUMENTE

 Termine werden im Juni bekannt gegeben (mind. drei Termine über die vorlesungsfreie

 Welche wahrnehmungspsychologische Aspekte werden durch die Pattern

 << Bitten Sie ihren Partner eines der genannten Prinzipien genauer zu erklären>>..  Was sind

 Erstellen Sie eine Operation zum Hinzufügen eines Elementes am Anfang der Liste.  Erstellen Sie eine Operation zum Entfernen des

 Eine Semantik für eine Sprache L ist ein Tupel (D, [[.]]) aus einer semantische Domäne und einer Abbildung [[.]]: L → D, der semantischen Abbildungsfunktion..  Die

 Native zeigt an, dass die Operation in einem geladenen Shared Object File gesucht werden soll (oder DLL)..  Die Namen werden für das Shared Object

 Bitte melden Sie sich durch Abgabe des leeren Protokolls spätestens zwei Wochen vor der Prüfung bei Frau Joschko an.

 Wenn eine Stelle geändert wird, müssen viele (weit entfernte) Code-Stellen mit angepasst werden.  Wenn der Code geändert wird, ergeben sich