Company
Date Published
Jan. 17, 2024
Author
Sina Madani
Word count
2208
Language
English
Hacker News points
None

Summary

The field of software development has evolved significantly since its early days, with the task of a programmer being to relay instructions to underlying hardware, but now focusing on solutions at a higher level of abstraction. Model-Driven Engineering (MDE) is a discipline that promotes models as first-class artifacts in the engineering process, raising the level of abstraction and using metamodels to describe domain-specific data. The Eclipse Modelling Framework (EMF) provides a framework for defining metamodels and tooling to work with them programmatically in Java, including Ecore as its meta-metamodel. Model Management is the process of acting upon models, which includes tasks such as visualisation, querying, validation, comparison, merging, migration, transformation, and text generation. The de-facto language used for validating models beyond the capabilities of Ecore is the Object Constraint Language (OCL). Epsilon provides a family of task-specific model management languages built on top of a common core query language called EOL, which supports multiple modelling technologies and is not bound to EMF, providing an all-in-one solution for model management.