Learn how to create your own modelling languages to rigorously describe the important aspects of your system, and reduce error-prone and repetitive work via automation.
This three-day course will introduce participants to state-of-the-art approaches in domain-specific modeling and model-driven software engineering. During the course, participants will describe the concepts in a domain of interest, create a graphical modeling notation for those concepts, and write programs that validate and transform the models created in that notation.
The course will use state-of-the-art open-source modeling technologies from the Eclipse ecosystem, such as the Eclipse Sirius framework for developing graphical modeling notations, and the Eclipse Epsilon languages for automated model validation, querying, and transformation. By the end of the course, participants will be able to cover the entire lifecycle of producing modeling tools, from analysing the domain of interest, to testing their automated transformations and embedding them into larger software products.
By the end of this course you will:
- Understand the benefits and costs of model-driven engineering and domain-specific modeling;
- Formalise the concepts in a domain into an Ecore metamodel;
- Produce a graphical modeling notation via Eclipse Sirius;
- Automate model validation and transformation via Eclipse Epsilon;
- Integrate Epsilon programs into Java applications;
- Perform automated testing of Epsilon programs via EUnit.