Model-based software engineering is the practice of promoting domain-specific models to first-class citizens of the software engineering process, using such models to analyse, simulate and reason about properties of the system under development, and eventually automatically generate from them (parts of) its implementation.
Epsilon is a family of programming languages and tools for model-based software engineering, which has been developed mainly by members of the ASE group since 2004. It provides tools for automating repetitive, error-prone and labour-intensive software and systems engineering tasks, such as model-based code generation, comparison and transformation of software models, and graphical domain-specific modelling tool development. These tasks are common in software development projects, and automating them saves developer time and reduces the number of errors and inconsistencies, resulting in a significant impact on development costs and software quality.
Epsilon has been adopted across the systems and software engineering industry by a wide range of organisations such as Rolls-Royce, BAE Systems, Codebots, IBM, Blackbelt, DevBoost, NASA, Thales, Siemens, Raytheon, ATOS, Ergon, Talend, JC Chapman, Corpus Solutions and the Develop Group. Epsilon is also used as a major component in more than 40 open-source projects and components of Epsilon have also been used in the context of software modelling and model-based software engineering teaching in at least 15 higher education institutions worldwide.