Book Description
Formal ADLs offer great potential to analyse the architecture of a system, predict the overall performance by using simulations, and allow to automatically generate parts of the implementation. Nevertheless, ADLs are rather not used in industrial practice since several problems hinder to exploit their potential to the full extend. This thesis elaborates the design of an ADL that copes with these impediments of ADLs in practice. Therefore, the design of a lightweight ADL is derived which also provides well defined extension points to be adapted to a certain domain or development process. Furthermore, it is investigated how architectural modeling can be enriched with agile development methods to support incremental modeling and the validation of system architectures. Therefore, a set detailed of requirements for architectural modeling and the simulation of system architectures is defined and MontiArc, a concrete ADL to model logical architectures of distributed, interactive systems, is derived. The language is based on the mathematical FOCUS [BS01] framework, which allows to simulate modeled systems in an event-based style. Code generators and a simulation framework provide means to continuously refine and test architectural models. To add new features or adapt the language to a new domain, a corresponding language extension method is presented to extend the syntax, language processing tools, and code generators of the ADL. A lightweight model library concept is presented which allows to develop and reuse component models and their implementation in a controlled and transparent way. The developed language, the simulator, and the language extension techniques have been examined in several case studies which either used or extended MontiArc.