Advertisement

TemporalEMF: A Temporal Metamodeling Framework

  • Abel Gómez
  • Jordi Cabot
  • Manuel Wimmer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11157)

Abstract

Existing modeling tools provide direct access to the most current version of a model but very limited support to inspect the model state in the past. This typically requires looking for a model version (usually stored in some kind of external versioning system like Git) roughly corresponding to the desired period and using it to manually retrieve the required data. This approximate answer is not enough in scenarios that require a more precise and immediate response to temporal queries like complex collaborative co-engineering processes or runtime models.

In this paper, we reuse well-known concepts from temporal languages to propose a temporal metamodeling framework, called TemporalEMF, that adds native temporal support for models. In our framework, models are automatically treated as temporal models and can be subjected to temporal queries to retrieve the model contents at different points in time. We have built our framework on top of the Eclipse Modeling Framework (EMF). Behind the scenes, the history of a model is transparently stored in a NoSQL database. We evaluate the resulting TemporalEMF framework with an Industry 4.0 case study about a production system simulator. The results show good scalability for storing and accessing temporal models without requiring changes to the syntax and semantics of the simulator.

Keywords

Temporal models Metamodeling Model-driven engineering 

References

  1. 1.
  2. 2.
    Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. IJWIS 5(3), 271–304 (2009)Google Scholar
  3. 3.
    Barmpis, K., Kolovos, D.S.: Comparative analysis of data persistence technologies for large-scale models. In: Proceedings of Extreme Modeling Workshop, pp. 33–38 (2012)Google Scholar
  4. 4.
    Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.): Models@run.time. LNCS, vol. 8378. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08915-7CrossRefGoogle Scholar
  5. 5.
    Benelallam, A., et al.: Raising time awareness in model-driven engineering: Vision paper. In: Proceedings of MODELS, pp. 181–188 (2017)Google Scholar
  6. 6.
    Benelallam, A., Gómez, A., Tisi, M., Cabot, J.: Distributing relational model transformation on MapReduce. J. Syst. Softw. 142, 1–20 (2018)CrossRefGoogle Scholar
  7. 7.
    Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)CrossRefGoogle Scholar
  8. 8.
    Bill, R., Mazak, A., Wimmer, M., Vogel-Heuser, B.: On the need for temporal model repositories. In: Proceedings of STAF Workshops, pp. 136–145 (2018)CrossRefGoogle Scholar
  9. 9.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, Synthesis Lectures on Software Engineering, 2nd edn. Morgan & Claypool Publishers, San Rafael (2017)Google Scholar
  10. 10.
    Bryant, B.R., Gray, J., Mernik, M., Clarke, P.J., France, R.B., Karsai, G.: Challenges and directions in formalizing the semantics of modeling languages. Comput. Sci. Inf. Syst. 8(2), 225–253 (2011)CrossRefGoogle Scholar
  11. 11.
    Cabot, J., Olivé, A., Teniente, E.: Representing temporal information in UML. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 44–59. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-45221-8_5CrossRefGoogle Scholar
  12. 12.
    Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: a distributed storage system for structured data. In: Proceedings of OSDI, pp. 15–15 (2006)Google Scholar
  13. 13.
    Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML Models: A Systematic Review of Research and Practice. Software & Systems Modeling. Springer, Heidelberg (2018)Google Scholar
  14. 14.
    Gómez, A., Tisi, M., Sunyé, G., Cabot, J.: Map-based transparent persistence for very large models. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 19–34. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-46675-9_2CrossRefGoogle Scholar
  15. 15.
    Gregersen, H., Jensen, C.S.: Temporal entity-relationship models - a survey. IEEE Trans. Knowl. Data Eng. 11(3), 464–497 (1999)CrossRefGoogle Scholar
  16. 16.
    Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Comput. Surv. 15(4), 287–317 (1983).  https://doi.org/10.1145/289.291MathSciNetCrossRefGoogle Scholar
  17. 17.
    Hartmann, T., et al.: A native versioning concept to support historized models at runtime. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 252–268. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11653-2_16CrossRefGoogle Scholar
  18. 18.
    Langer, P., Wieland, K., Wimmer, M., Cabot, J.: EMF profiles: a lightweight extension approach for EMF models. J. Object Technol. 11(1), 1–29 (2012)CrossRefGoogle Scholar
  19. 19.
    Mazak, A., Wimmer, M., Patsuk-Boesch, P.: Reverse engineering of production processes based on Markov chains. In: Proceedings of CASE, pp. 680–686 (2017)Google Scholar
  20. 20.
    Mazak, A., Wimmer, M.: Towards liquid models: An evolutionary modeling approach. In: Proceedings of CBI, pp. 104–112 (2016)Google Scholar
  21. 21.
    OMG: Object Constraint Language (OCL), Version 2.3.1 (January 2012). http://www.omg.org/spec/OCL/2.3.1/
  22. 22.
    Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Eng. 14(2), 131–164 (2009)CrossRefGoogle Scholar
  23. 23.
    Soden, M., Eichler, H.: Temporal Extensions of OCL Revisited. In: Proceedings of ECMFA, pp. 190–205 (2009)Google Scholar
  24. 24.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley Professional, 2nd edn. (2009). ISBN 0321331885Google Scholar
  25. 25.
    Stephan, M., Cordy, J.R.: A survey of model comparison approaches and applications. In: Proceedings of MODELSWARD, pp. 265–277 (2013)Google Scholar
  26. 26.
    The Apache Software Foundation: Apache HBase (2018). http://hbase.apache.org/

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Internet Interdisciplinary Institute (IN3)Universitat Oberta de Catalunya (UOC)BarcelonaSpain
  2. 2.ICREABarcelonaSpain
  3. 3.CDL-MINT, TU WienViennaAustria

Personalised recommendations