h1

h2

h3

h4

h5
h6
http://join2-wiki.gsi.de/foswiki/pub/Main/Artwork/join2_logo100x88.png

An extensible component & connector architecture description infrastructure for multi-platform modeling = Eine erweiterbare Komponenten- und Konnektor Architekturbeschreibungssprache zur Multi-Plattform Modellierung



VerantwortlichkeitsangabeAndreas Wortmann

ImpressumAachen : Shaker Verlag 2016

Umfang1 Online-Ressource (XIII, 290 Seiten) : Illustrationen, Diagramme

ISBN978-3-8440-4724-0

ReiheAachener Informatik-Berichte, Software Engineering ; 25


Dissertation, RWTH Aachen University, 2016

Auch veröffentlicht auf dem Publikationsserver der RWTH Aachen University


Genehmigende Fakultät
Fak01

Hauptberichter/Gutachter
;

Tag der mündlichen Prüfung/Habilitation
2016-07-12

Online
URN: urn:nbn:de:hbz:82-rwth-2016-084655
URL: https://publications.rwth-aachen.de/record/673020/files/673020.pdf
URL: https://publications.rwth-aachen.de/record/673020/files/673020.pdf?subformat=pdfa

Einrichtungen

  1. Lehrstuhl für Informatik 3 (Software Engineering) (121510)
  2. Fachgruppe Informatik (120000)

Inhaltliche Beschreibung (Schlagwörter)
architecture description languages (frei) ; code generation (frei) ; model transformation (frei) ; model-driven engineering (frei) ; software language engineering (frei)

Thematische Einordnung (Klassifikation)
DDC: 004

Kurzfassung
Die effiziente Softwareentwicklung komplexer System bedarf hoher Abstraktion, der Beteiligung von Experten aus verschiedenen Domänen, der Trennung von Belangen und eines hohen Grades an Wiederverwendung. Domänenexperten sind selten Softwareexperten und sollten daher befähigt werden Lösungen im Vokabular ihrer Domänen zu entwickeln. Um dies zu erreichen wurden in der modellgetriebenen Softwareentwicklung eine Vielzahl von domänenspezifischen Sprachen entwickelt Die erfolgreiche Integration domänenspezifischer Sprachen in Softwaresysteme bedarf einer angemessenen Trennung von Domänen- und Integrationsbelangen, wobei die Kopplung dieser Sprachen lose genug sein muss um deren Wiederverwendung in anderen Kontexten zu ermöglichen.Komponentenbasierte Softwareentwicklung versucht die Wiederverwendung von Software Kapselung von Funktionalitäten in Komponenten zu erhöhen. Dies ermöglicht Domänenexperten Lösungen unabhängig von Integrationsbelangen zu entwickeln. In komponentenbasierter Softwareentwicklung werden Komponenten üblicherweise durch Allzweck-Programmiersprachen beschrieben. Dies führt zu “unbeabsichtigten Komplexitäten” [FR07], welche darin bestehen Programmierdetails anstelle von Domänenproblemen zu lösen und führt dazu, dass die Lösungen nur zu bestimmten Zielplattformen kompatibel sind. Modellgetriebene Softwareentwicklung abstrahiert von Programmierdetails durch die Verwendung von Modellen als primäre Entwicklungsartefakte. Diesen können abstrakter und, durch Verwendung von Domänenvokabular, besser verständlich sein. Weiterhin können sie plattformunabhängig sein und durch Übersetzung in mehrere Allzweck-Programmiersprachen mit mehreren Plattformen wiederverwendet werden. Komponenten- und Konnektor Architekturbeschreibungssprachen kombinieren komponentenbasierte Softwareentwicklung mit modellgetriebener Softwareentwicklung zur Komposition von Softwarearchitekturen aus Komponentenmodellen. Diese Modelle verfügen über stabile Schnittstellen zur Trennung von Belangen, können Komponentenverhalten in angemessen domänenspezifischen Sprachen ausdrücken und ermöglichen eine automatisierte Übersetzung in plattformspezifische Artefakte. Gegenwärtige Forschung in der modellgetriebenen Entwicklung mit Architekturbeschreibungssprachen untersucht strukturelle Systemaspekte und erwartet Komponentenverhalten entweder in Form von Artefakten von Allzweck-Programmiersprachen oder in Form apriori festgelegter Modellierungssprachen. Ersteres führt zu unbeabsichtigten Komplexitäten, zweites erfordert dass Domänenexperten domänenfremde Sprachen lernen. Diese Dissertation präsentiert Konzepte für die Entwicklung komplexer Softwaresysteme mit austauschbaren Komponentenverhaltenssprachen. Diese Konzepte sind in einer Infrastruktur zur Modellierung von Software-Architekturen realisiert welche mehrere Modellierungssprachen umfasst. Sie unterstützt die agile Einbettung angemessener Verhaltenssprachen, Modell-zu-Modell Transformationen von plattformunabhängigen zu plattformspezifischen Softwarearchitekturen, und kompositionale Code Generatoren. Dies ermöglicht Domänenexperten die angemessensten Komponentenverhaltenssprachen zu verwenden und eine einzige, plattformunabhängige, Softwarearchitektur mit verschiedenen Plattformen wieder zu verwenden. Um dies zu erreichen, kombiniert diese Infrastruktur Erkenntnisse aus der Entwicklung von Software-Sprachen, Modell-zu-Modell Transformationen, und aus der Code Generator Entwicklung mit Komponenten- und Konnektor Architekturbeschreibungssprachen. Die wichtigsten Beiträge dieser Arbeit sind somit: - Konzepte für die die Integration domänenspezifischer Sprachen in Komponenten- und Konnektor Softwarearchitekturen zur Reduktion unbeabsichtigter Komplexitäten, Trennung von Belangen und Erleichterung von deren Wiederverwendung. - Eine Methodik zur Transformation plattformunabhängiger Softwarearchitekturen in plattformabhängige Softwarearchitekturen zur Erhöhung der Wiederverwendbarkeit von Komponenten und Architekturen. - Ein Konzept zur Wiederverwendung kompositionaler Code Generatoren für bestimmte Systemaspekte. - Eine Familie von Modellierungssprachen für die Architekturmodellierung mit austauschbaren Verhaltenssprachen. - Eine modellgetriebene Werkzeugkette die diese Konzepte realisiert. - Eine Evaluierung vorgestellter Konzepte in verschiedenen Kontexten. Die Anwendung dieser Methodiken erleichtert die Entwicklung komplexer Softwaresysteme durch Abstraktion von Programmierungsdetails, durch eine gründliche Trennung von Belangen und durch Wiederverwendung von Komponenten, Architekturen, domänenspezifischen Sprachen und Code Generatoren.

Efficient software engineering for complex systems requires abstraction, expertise from multiple domains, separation of concerns, and reuse. Domain experts are rarely software engineers and should be enabled to formulate solutions using their domain’s vocabulary instead of general-purpose programming languages (GPLs). The successful integration of domain-specific languages (DSLs) into a software system requires a separation of concerns between domain issues and integration issues while retaining a loose enough coupling to support reusing a DSL in different contexts. Component-based software engineering (CBSE) aims to increase software reuse and separation of concerns by encapsulating functionalities in components. This enables domain experts to develop solutions separated from integration concerns. Usually components are artifacts of GPLs, which gives rise to accidental complexities [FR07] and ties these to specific target platforms. Model-driven engineering (MDE) abstracts from programming by lifting models to primary development artifacts. Models can be more abstract and better comprehensible by using domain vocabulary instead of a GPL. Furthermore, they can be platform-independent and translated into GPLs for different target platforms. Component & connector (C&C) architecture description languages (ADLs) combine CBSE and MDE to enable composition of software architectures from component models. Such models define stable interfaces required to separate domain concerns from integration concerns. They can also employ the most appropriate DSLs to describe component behavior and support translation into GPL artifacts specific to different target platforms. Current research in MDE with ADLs focuses on structural modeling and requires component behavior either in terms of GPL artifacts or fixed component behavior languages. The former gives rise to accidental complexities, the latter demands that domain experts learn modeling languages foreign to their domain.This thesis presents concepts for engineering complex software systems with exchangeable component behavior languages that enable contribution of domains experts using the most appropriate DSLs. The concepts are realized in a software architecture modeling infrastructure that comprises multiple modeling languages to develop applications based on C&C software architectures with exchangeable component behavior languages. It supports model-to-model transformations from platform-independent to platform-specific software architectures and compositional code generation. With this, it enables domain experts to (re-)use the most appropriate component behavior languages and facilitates composition of domain solutions through encapsulation in components. It also enables reusing a single platform-independent software architecture with multiple platforms. To this effect, it combines results from software language engineering, model transformations, and code generator development to C&C ADLs. The main contributions of this thesis are: - Concepts to integrate domain-specific languages into component & connector software architectures to reduce accidental complexities, separate concerns, and facilitate their reuse. - Methodical guidance to transform platform-independent into platform-specific architectures minor effort to increase reuse of components and architectures. - Concepts of reusable compositional code generators for specific system aspects. - A family of modeling languages to support architecture development with exchangeable behavior DSLs. - A model-driven infrastructure, based on an extensible component & connector architecture description language that realizes these concepts. - An evaluation of presented concepts in multiple contexts. Employing these methodologies facilitates engineering of complex software systems by abstracting from programming issues, separating concerns, and reusing components, domain-specific languages, as well as code generators.

OpenAccess:
Download fulltext PDF Download fulltext PDF (PDFA)
(additional files)

Dokumenttyp
Dissertation / PhD Thesis

Format
online, print

Sprache
English

Externe Identnummern
HBZ: HT019150639

Interne Identnummern
RWTH-2016-08465
Datensatz-ID: 673020

Beteiligte Länder
Germany

 GO


OpenAccess

QR Code for this record

The record appears in these collections:
Document types > Theses > Ph.D. Theses
Faculty of Mathematics, Computer Science and Natural Sciences (Fac.1) > Department of Computer Science
Publication server / Open Access
Public records
Publications database
120000
121510

 Record created 2016-10-26, last modified 2023-04-08