Principles For Modeling Language Design In EMF Ecore
- A meta model is partitioned into well-defined .ecore files, each of which relates to exactly one producer role, and one or more consumer roles. A Model is partitioned into well-defined .xmi files, each of which relates to exactly one producer role, and one or more consumer roles.
- All .ecore and .xmi files are based on information produced by a specific role as a result of articulating or clarifying specific knowledge or requirements.
- A modeling language is developed for each kind of model based Artifact.
- The .ecore file that defines the Abstract Syntax of a modeling language (the meta model) has exactly one instantiable Root Class, a Class that relates to the modeled Artifact.
- Adhering to this principle in Ecore relies entirely on following conventions.
- Variants of a Root Class are expressed as Specializations of a shared Generalization.
- .ecore and .xmi files are the only granularity at which versioning is applied.
- .ecore and .xmi files can only be edited by one user at a time but can be read by any number of users at any time.
- Adhering to this principle in Ecore relies entirely on following conventions.
- References between .ecore files in conjunction with References between .xmi files provide the basis for modularization of modeling language designs and models. This leads to modular meta models and models.
- Adhering to this principle in Ecore relies entirely on following conventions.
- Only .ecore files can be used in the role of a meta model.
- Two .ecore files may be joined via one or more References that connect Classes in the two .ecore files.
- Adhering to this principle in Ecore relies entirely on following conventions.
- No circular or bi-directional References between .ecore files and between .xmi files are allowed.
- Adhering to this principle in Ecore relies entirely on following conventions.
- The instantiation links between .xmi files and their meta model .ecore files is recorded as part of the .xmi files.
Back to the Fundamental Principles For Modeling Language Design.
page_revision: 1, last_edited: 1243973271|%e %b %Y, %H:%M %Z (%O ago)





