Abstract
Model-driven engineering promotes models and model transformations as the primary assets in software development. The models@run-time approach provides an abstract representation of a system at run-time, whereby changes in the model and the system are continuously reflected in each other. In this paper, we report on more than three years of experience with realising models@run-time in scalable cloud scenarios using a technology stack consisting of the Eclipse Modeling Framework (EMF) and Connected Data Objects (CDO). We establish requirements for the three roles domain-specific language (DSL) designer, developer, and operator, and compare them against the capabilities of this technology stack. Our assessment is that EMF and CDO are well-suited for DSL designers, but less recommendable for developers and even less suited for operators. For these roles, we experienced a steep learning curve and several lacking features that hinder the implementation of models@run-time in scalable cloud scenarios. Moreover, we experienced performance limitations in write-heavy scenarios with an increasing amount of stored elements. While we do not discourage the use of EMF and CDO for such scenarios, we recommend that its adoption for similar use cases is carefully evaluated until this technology stack has realised our wish list of advanced features.