@incollection{SeifertBeneken2005, author = {Seifert, T. and Beneken, Gerd}, title = {Evolution and Maintenance of MDA Applications}, series = {Model-Driven Software Development}, booktitle = {Model-Driven Software Development}, editor = {Beydeda, S. and Book, M. and Gruhn, V.}, publisher = {Springer}, address = {Berlin}, publisher = {Technische Hochschule Rosenheim}, year = {2005}, abstract = {Abstraction is the most basic principle of software engineering. Abstractions are provided by models. Modeling and model transformation constitute the core of model-driven development. Models can be refined and finally be transformed into a technical implementation, i.e., a software system. The aim of this book is to give an overview of the state of the art in model-driven software development. Achievements are considered from a conceptual point of view in the first part, while the second part describes technical advances and infrastructures. Finally, the third part summarizes experiences gained in actual projects employing model-driven development. Beydeda, Book and Gruhn put together the results from leading researchers in this area, both from industry and academia. The result is a collection of papers which gives both researchers and graduate students a comprehensive overview of current research issues and industrial forefront practice, as promoted by OMG's MDA initiative.}, language = {en} } @inproceedings{BenekenMarschallRausch2005, author = {Beneken, Gerd and Marschall, F. and Rausch, A.}, title = {A Model Framework Weaving Approach, In: Proceedings of the First Workshop on Models and Aspects - Handling Crosscutting Concerns in MDSD at the 19th European Conference on Object-Oriented Programming (ECOOP 2005)}, series = {19th European Conference on Object-Oriented Programming (ECOOP 2005)}, booktitle = {19th European Conference on Object-Oriented Programming (ECOOP 2005)}, year = {2005}, abstract = {Nowadays, in software development usually various models and description fragments are created. Some of these artifacts describe the core of the application, such as the data model or the user interaction model. Other artifacts describe cross-cutting concerns, such as security or the requirement: "every change of data has to be confirmed by the user, before it is written into the database". During the development process these artifacts are combined, transformed, and finally implemented manually or even automatically. For instance a designer may combine a model of a dialog component specifying an action, that changes data, with a common description of a generic confirm dialog. The integrated dialog description may be afterwards implemented by a programmer. The manual combination of both artifacts and the transformation of the combined description into code are errorprone and hard to change. Industry basically tests or actually uses two approaches for the combination today: 1. At the level of code and execution Aspect-Oriented Programming (AOP) is used [KLM+97]. An aspect defines a cross-cutting concern and the weaving instructions. A code weaver provides the actual weaving at compile or runtime. 2. At the level of design models and analysis models Model-Driven Software Development (MDSD) is used [KWB03]. A model in MDSD is a first class development artifact. Thus models are significantly more abstract than the implementation of code. However, these models cannot be executed. Hence, a abstract model is transformed into another, typically more detailed. A series of such transformations results in executable code. Thereby, a model transformer or a code generator reads some of the artifacts. The other artifacts and the combination rules are implemented in transformation rules or code generation templates (or somewhere else in the transformation / generation approach).}, language = {en} }