Queen's Logo

Beyond Code: An Introduction to Model-Driven Software Development (CISC 844, Winter 2025)

Sample Eclipse Modeling Framework (EMF) Projects

The sample projects below assume the Eclipse IDE for Java and DSL Developers. See the beginning of Assignment 4 for information on how to obtain and install it. The origin of these projects is as follows:

All artifacts are made available under the terms of the Eclipse Public Licence v1.0.
  1. 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:
  2. 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:
  3. 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:
  4. 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.

More information about EMF

Last modified: Sun Jan 05 2025 12:44:40