The Eclipse Modeling Framework (EMF) has a whole ecosystem of great tools in place. The core of EMF is the modelling language Ecore which is supplemented by the Object Constraint Language (OCL) that can be used to describe class invariants, derived attributes, model queries, and pre- and postconditions. Today, software increasingly needs to support multiple target platforms and device types. However, feature-complete Ecore and OCL runtime APIs are not available for all these platforms, since the EMF technology mainly targets Java.
This talk introduces CrossEcore and provides insights to an industrial case study. The presentation will be an opportunity to share our experiences of multi-platform software development in the context of CrossEcore with the Eclipse community. A major requirement of this case study is that the software runs on multiple target platforms locally on devices that are occasionally connected to the Internet. Results show that CrossEcore allows us to quickly create prototypes for Android, iOS, Windows, and web browsers. The different prototypes help us to evaluate multi-platform development technologies like Xamarin and Apache Cordova against native implementations. We have also integrated CrossEcore with database technologies, i.e., CouchDB, Couchbase, and PouchDB and the web framework Angular for evaluation purposes. The insights from the evaluation of different technologies help to make informed architectural design decisions.