Modeling and more - Experiences in building an efficient model infrastructure

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=ONpbkuaAdYQ



Duration: 35:01
56 views
0


The Eclipse Modeling Framework enables developers to easily build models and provides a mature infrastructure. However, it is difficult to know the possibilities of EMF and to assess the many extension projects that are available in the Eclipse ecosystem. The talk will describe the journey and the pitfalls of defining the AMALTHEA model and implementing the model infrastructure in Eclipse APP4MC. The platform is in use in the automotive industry and provides (after several optimizations) the following features:

efficient handling of large real-world models with hundred thousands of objects
extendible use-case specific validations (open source additions are contributed by 3rd party tool vendors)
reusable Java components (model, validation, migration) published on Maven Central
extendible visualization framework
The talk will show our attempts and choices regarding the following topics:

Model definition with Xcore
Unique identifiers (Intrinsic IDs)
Derived attributes
Custom data types
Customizing (standard)
Annotations to customize the UI
Validation: extended metadata constraints, invariants
EMF.Edit: icons, labels
Customizing (extended)
XMI Serialization: folder scope, cross document links, ...
Editor: virtual folders, ...
Platform extensions/optimizations
Model index (supports fast search and delete)
Backpointers as derived attributes
Model creation
Xtend with a builder pattern (used in unit tests)
Validations
Specific validations organized via profiles
Model modification using the Java API
Migration (convert model instances to newer versions of the meta model)
XML/DOM-based migrators
Documentation
Ecore Diagram Editor, APP4MC EMF Viewer