Praxis der Forschung SS15/Extending the Palladio Component Model using Profiles and Stereotypes

Aus SDQ-Wiki

BibTeX Eintrag

@inproceedings{kramer2012b,
	Abstract = {Extending metamodels to account for new concerns has a major influence
	on existing instances, transformations and tools. To minimize the
	impact on existing artefacts, various techniques for extending a
	metamodel are available, for example, decorators and annotations.
	The Palladio Component Model (PCM) is a metamodel for predicting
	quality of component-based software architectures. It is continuously
	extended in order to be applicable in originally unexpected domains
	and settings. Nevertheless, a common extension approach for the PCM
	and for the tools built on top of it is still missing. In this paper,
	we propose a lightweight extension approach for the PCM based on
	profiles and stereotypes to close this gap. Our approach is going
	to reduce the development effort for new PCM extensions by handling
	both the definition and use of extensions in a generic way. Due to
	a strict separation of the PCM, its extension domains, and the connections
	in between, the approach also increases the interoperability of PCM
	extensions.},
	Address = {Karlsruhe},
	Author = {Max E. Kramer and Zoya Durdik and Michael Hauck and J{\"o}rg Henss and Martin K{\"u}ster and Philipp Merkle and Andreas Rentschler},
	Booktitle = {Palladio Days 2012 Proceedings (appeared as technical report)},
	Editor = {Steffen Becker and Jens Happe and Anne Koziolek and Ralf Reussner},
	Pages = {7--15},
	Publisher = {KIT, Faculty of Informatics},
	Series = {Karlsruhe Reports in Informatics ; 2012,21},
	Tags = {workshop},
	Title = {{Extending the Palladio Component Model using Profiles and Stereotypes}},
	Url = {http://digbib.ubka.uni-karlsruhe.de/volltexte/documents/2350659},
	Year = {2012},
	Bdsk-Url-1 = {http://digbib.ubka.uni-karlsruhe.de/volltexte/documents/2350659}}

Abstract

Extending metamodels to account for new concerns has a major influence on existing instances, transformations and tools. To minimize the impact on existing artefacts, var- ious techniques for extending a metamodel are available, for example, decorators and annotations. The Palladio Component Model (PCM) is a metamodel for predicting quality of component- based software architectures. It is continuously extended in order to be applicable in originally unexpected domains and settings. Nevertheless, a common extension approach for the PCM and for the tools built on top of it is still missing. In this paper, we propose a lightweight extension approach for the PCM based on profiles and stereotypes to close this gap. Our approach is going to reduce the development effort for new PCM extensions by handling both the definition and use of extensions in a generic way. Due to a strict separation of the PCM, its extension domains, and the connections in between, the approach also increases the interoperability of PCM extensions.

Eigene Zusammenfassung

  • DSLs werden für bestimmten Zweck eingesetzt und beschrieben ein Problem sehr gut. Jedoch werden durch die spezifische Beschreibung eines Problem mögliche Erweiterungen in der Zukunft dadurch deutlich erschwert.
  • mehrere DSL zusammenfügen ist ein schwieriges Vorgehen, da:
    • die Sprachen auf der Ebene der abstrakten Syntax zusammengebracht werden müssen. Dadurch ergeben sich Abhängigkeiten untereinander.
    • die Tools müssen angepasst werden, da diese auf eine konkrete Syntax ausgelegt sind.
  • Eine Möglichkeit zum Erweitern einer DSL ist das Definieren eines Core Metamodells und die Erweiterungen treten in der Form eines Dekorators auf. Dadurch ergibt sich:
    • Es wird ein Editor für den Core benötigt.
    • Für jede Erweiterung wird ebenfalls ein eigener Editor benötigt.
    • Die Pflege und das Erstellen der Editoren ist sehr zeitaufwändig.
  • Weitere Möglichkeit wären Annotations. Diese erlauben das Hinzufügen von Information zu jedem Modellelement. Diese Erweiterungen müssen zur Laufzeit interpretiert werden. Dadurch ergeben sich Probleme, da unter EMF keine Syntax zur Entwicklungszeit geprüft werden kann. Außerdem leidet die Typsicherheit darunter.
  • All diese Probleme treffen auch auf das Palladio Component Model zu. Schön wäre eine Lösung, mit der die Editoren nicht neu erstellt werden müssten.
  • Mit Profilen und Stereotypen ist ein solcher generischer Erweiterungsmechanismus möglich. Diese sind bekannt aus der UML.
    • Anforderungen an den Erweiterungsmechanismus:
      • type-safe
      • non-invasive
      • lightweight
      • flexible
      • intuitive
      • composable
    • Es werden Ideen aus Modellen mit dem Dekoriererpattern verwendet, jedoch werden bei dieser Lösung keine Editoren erneut generiert/erstellt werden.
  • In der UML gibt es die sogenannten Profile, welche auf ein Modell angewandt werden können. Profile sind eine Art Package, in dem mehrere Stereotypen zusammengefasst sind. Mit einem Stereotyp kann eine Klasse erweitert werden.
  • Für EMF-basierte Modelle wurde dieser Ansatz ebenfalls von Langer et. al. entwickelt und EMF Profiles genannt. Dieses funktioniert folgendermaßen:
    • Profile erbt von Ecore EPackage, Stereotype von Ecore EClass
    • Dadurch ergibt sich, dass das Profilemodel auf der selben Ebene wie das eigentliche Metamodell in Ecore definiert ist. Die Instanz daraus auf der selben Ebene wie die Instanz des eigentlichen Metamodells.
    • Stereotypen können auf mehrere Metaklassen angewandt werden, somit handelt es sich um einen mächtigen Mechanismus für das Spezifizieren von Erweiterungen in DSLs.

Conclusion

  • Palladio Erweiterungen können einheitlich spezifiziert werden.
  • Erweiterungen können in Palladio registriert werden.
  • Die Grundmodelle (Basemodels) und die Erweiterungen werden strikt getrennt.
  • Palladio Bench kann folglich auch in Zukunft weiter genutzt werden, egal in welche Richtung es erweitert werden sollte.
  • Der Decorator Ansatz kann ohne Probleme durch Profile ersetzt werden.
  • Anforderungen an den Erweiterungsmechanismus werden erfüllt.

Notizen

Verweise