 |
|
Beyond Code: An Introduction to Model-Driven Software Development (CISC 836, Fall 2021)
Sample Eclipse Modeling Framework (EMF) Projects
|
The sample projects below assume the Eclipse IDE for Java and DSL Developers (version 2020-12 R, it will contain EMF version 2.24).
See the beginning of Assignment 4 for information on
how to obtain and install it. The origin of these projects is as follows:
- Extended library, Java: Part of the EMF distribution
- Bowling: Running example of the EclipseSource EMF tutorial here
- Linked lists: Own
All artifacts are made available under the terms of the Eclipse Public Licence v1.0.
- Extended library:
- class (data) model for a library
- illustrates metamodeling with ECore (concepts: classes (concrete, abstract, subclasses), associations (multiplicities, inverses), attributes (types, defaults, multiplicities, uniqueness, unchangeable), enumerations), editor plugin generation
- ECore metamodel:
- Java:
- class model for a subset of Java
- illustrates metamodeling with ECore (concepts: as above), tree editor plugin generation
- shows how (the abstract syntax of) a language can be defined via a class diagram (i.e., a 'metamodel'); Xtext generates these metamodels from a grammar of the language and they forms the basis of the code generated for the language
- ECore metamodel:
- Bowling:
- class model for bowling tournaments
- illustrates metamodeling with ECore (concepts: as above), tree editor plugin generation, test generation, use of API to create and validate instances
- ECore metamodel:
- Linked lists:
- class model for doubly linked lists
- illustrates metamodeling with ECore (concepts: as above and operations), tree editor plugin generation, test generation, use of API to create and validate instances
- ECore metamodel:
Download
All artifacts are made available under the terms of the Eclipse Public Licence v1.0.
- EMF projects: can be found here. Import into Eclipse using 'Existing Projects into Workspace'.
- Instances of the data models defined in the projects: Instances of the metamodels defined in the projects can be found here. Import into the 'runtime workspace' of the new Eclipse instance running the editor plugins created by EMF.
More information about EMF
Last modified: Tue Feb 09 2021 12:41:29