Adaptable code generation of consistent and customizable data-centric applications with MontiDEx
Authors
More about the book
Information systems are software systems addressing current demands for harvesting, storing, and manipulating structured information. A part of information systems are client applications (called data-centric applications) with a graphical user interface (GUI) to execute CRUD operations and display the managed data. The development and prototyping of such software systems contain multiple common development tasks such as implementing a data structure, which is a source-code-representation of the managed data, realizing a GUI, and providing access to a persistence infrastructure. Model-driven development (MDD) aims to reduce the development effort and development costs by exploiting platform-independent models as primary development artifacts. Each model is an instance of a domain-specific language (DSL) describing (parts of) a software system. MDD tools transform a model into executable source code. Effective MDD of data-centric prototypes requires generating executable prototypes from DSLs supporting underspecification to describe managed data. These concerns are also influenced by customization concerns of the generated source code to support agile software development. Similar challenges have to be addressed in MDD of data-centric development. Additionally, overhead introduced by maintaining DSLs and MDD tools has to be avoided to improve developer's acceptance. Moreover, adaptation mechanisms for MDD tools to enable framework-like and standalone use have to be provided. The goal of this thesis is to improve development efficiency by reducing the aforementioned necessary manual implementation tasks providing a language family, code generators, lightweight methods, and mechanisms to customize generated source code and adapt the code generator.