title: Model driven configuration management
Creators: name: Pindhofer, Walter
Publisher: name: :none
Year: 2009

description: Model Driven Configuration Management (MDCM) ist ein neuartiger Ansatz, sowohl Konfigurationen als auch Architekturen der Softwareentwicklung durch gemeinsame Modelle darzustellen. Diese Modelle sollen dann als Input für Konfigurationsmanagement (CM) Tools und als Basis für die modellgetriebene Generierung von Code oder Konfigurationsdateien verwendet werden können. Durch die Verschmelzung von Konfigurationsmanagement und modellgetriebener Softwareentwicklung (MDSD) reicht das Zielpublikum dieser Arbeit von Konfigurations-Managern bis hin zu Software-Architekten und Entwicklern. Alle diese Rollen haben mit denselben Problemen zu kämpfen: Redundanz und die daraus entstehende Fehleranfälligkeit und Inkonsistenz beziehungsweise die dadurch zusätzlich anfallende Arbeit. MDCM verwendet allgemeine plattform-unabhängige Modelle, um ein System zu beschreiben. Aus diesen Modellen werden dann über Transformatoren detaillierte Modelle generiert. Dieses Vorgehen kennt man bereits vom MDSD. MDCM erweitert dieses Vorgehen um Modelle, die Konfigurationen beschreiben. Dadurch kann das allgemeine Modell sowohl als Basis für plattform-spezifische Modelle als auch für konfigurations-spezifische Modelle verwendet werden. Das Konfigurations-Modell beschreibt die Konfigurations-Einheiten und deren Beziehungen, während das plattform-spezifische Modell die Software-Komponenten und deren Verbindungen beschreibt. Der Model Driven Configuration Editor (MDCE) wurde im Rahmen dieser Arbeit entwickelt, um das Arbeiten mit und Generieren von Modellen zu vereinfachen. Der MDCE ermöglicht es, fertige Konfigurationen sowie das Grundgerüst von Applikationen zu generieren. Mit Hilfe von MDSD und auch des Editors soll die Zusammenarbeit zwischen Entwicklern/ Architekten und Konfigurations-Managern verbessert werden. Der Software Architekt soll dabei bei der Erstellung von Modellen unterstützt werden. Außerdem soll die Kommunikation zwischen Entwicklern und Konfigurations-Manager durch die einheitlichen Modelle verbessert werden. Letzterer profitiert außerdem von der Möglichkeit, aus den Modellen fertige Konfigurationen bzw. Input für CM Tools zu generieren. Kriterien für eine gute Lösung beinhalten die Verminderung von Redundanz im Entwicklungsprozess, ein Vorgehensmodell basierend auf der Idee von MDCM und durchgängigen, flexiblen und erweiterbaren Tool-Support für alle Arbeitsvorgänge. Diese Kriterien sollen durch folgende Entwicklungen erreicht werden: • MDCM - ein Konzept zur Verschmelzung von Konfigurations-Management und modellgetriebener Softwareentwicklung • ein Prozessmodell für MDCM • ein flexibler Ansatz bzw. ein Vorgehensmodell, einen Editor für MDCM zu entwickeln • der MDCE, ein Prototyp für Tool-Support des MDCM Prozesses.
description: Model Driven Configuration Management (MDCM) deals with the concept of representing configurations and software development architectures using models based on common modeling languages like UML. These models can be used as an input for configuration management (CM) suites, as a foundation for an Model Driven Software Development (MDSD) workflow or to generate configuration files for different purposes. As a result of merging CM and MDSD, the target audience ranges from software developer to configuration manager. Even though there is a brief explanation of all used technologies, previous knowledge in CM, MDSD and UML will help to understand the covered topics. Each role mentioned above has to fight with the usual problems of software development: redundancy and error-proneness, inconsistency and the resulting higher amount of work. The main approach of MDCM is to use primary general models as a foundation for generating other more detailed models by using transformations. This procedure is also used by MDSD, but MDCM enhances this approach with models describing configurations. Based on a primary, platform independent model, a model for configurations and software development can be generated. The model for configuration management includes information on the configuration items and their relations and the model for software development defines the software components (classes, packages and methods). All the needed functionality like writing and transforming the models, is provided by the Model Driven Configuration Editor (MDCE), which is one big achievement of this work. It offers easy modelling of the configuration items and software components as well as the generation of models and application skeletons. This approach reduces redundancy and increases the cooperation between development and configuration management. MDCM and the editor support the software architect on creating the models for the development system and on coordinating those concepts with the configuration manager. The latter will benefit from the import of the configuration models to the CM suite provided by MDCE. And the software developer can use the code generation and MDSD functionality of MDCE to automatise parts of his work. Criteria for a good solution contain less redundancy, a procedure model for the development processes and tool support for all workflows, which should be easy to use and individually extendable. This work tries to accomplish these targets through the following achievements: • a concept for merging CM and MDSD called MDCM • a process model for MDCM • the model driven configuration editor MDCE • instructions how to create and enhance the MDCE