ECSA 2023
Mon 18 - Fri 22 September 2023 Istanbul, Turkey

Experience shows a clear synergy from the use of domain-specific modeling languages in architecture-centric software development. Embodying the architecture and domain concepts in a modeling language makes the architecture more visible at all levels of development, makes it easy to learn, and can ensure it is followed.

This tutorial will teach participants about domain-specific modeling languages, how to create them for a particular domain and architecture, and how to provide tool support for modeling with them, learning stepwise through practical demonstrations. We will look at some existing Architecture Definition Languages and see how they have been made progressively more specific to a given problem domain, and similarly look at some domain-specific languages and see how they encapsulate or are targeted at a particular architecture. The benefits and synergy of this combination will be examined in comparison to more generic languages, and guidelines given for when each approach is best used.

Including domain concepts in the modeling language raises the level of abstraction away from the code, but also makes models more specific. This improves the ability to know exactly what a model means, and thus be able to translate the models into accurate code — whether manually or by specifying how code should be generated. We will show how such code generators can be built, targeting the desired architecture, and how a given model can be used as a single reliable source to generate code for different architectures, as well as configuration and documentation, and to run various simulations and analyses.

Throughout the tutorial we provide examples from various fields of software development including consumer electronics, Internet-of-Things, industry automation, home automation and automotive. We also make use of appropriate tools to both create modeling languages and use them. Traditionally the effort to create your own modeling language, editor support and generators has been significant, but modern tools, like MetaEdit+ applied in this tutorial’s demonstrations, reduce the effort to implement production-ready DSM languages and code generators from months or years to a few working days — and working examples in minutes.

Indented Audience: This tutorial is intended for all desiring to have better modeling support and consistent use of architectures. Participants are expected to have basic experience in some modeling language, but prior experience of metamodeling or language creation is not required.

More details at https://www.metacase.com/news/tutorialECSA2023.html

Mon 18 Sep

Displayed time zone: Athens change

09:00 - 10:30
Tutorial on Domain-Specific Modeling for Architecture-Centric Software Engineering (Part 1)Workshops/Tutorials at Mavi Salon
Chair(s): Juha-Pekka Tolvanen MetaCase
09:00
90m
Tutorial
Domain-Specific Modeling for Architecture-Centric Software Engineering
Workshops/Tutorials
Link to publication
11:00 - 12:30
Tutorial on Domain-Specific Modeling for Architecture-Centric Software Engineering (Part 2) Workshops/Tutorials at Mavi Salon
Chair(s): Juha-Pekka Tolvanen MetaCase
11:00
90m
Tutorial
Domain-Specific Modeling for Architecture-Centric Software Engineering
Workshops/Tutorials
Link to publication