Advertisement

Parallel Model Validation with Epsilon

  • Sina MadaniEmail author
  • Dimitrios S. Kolovos
  • Richard F. Paige
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10890)

Abstract

Traditional model management programs, such as transformations, often perform poorly when dealing with very large models. Although many such programs are inherently parallelisable, the execution engines of popular model management languages were not designed for concurrency. We propose a scalable data and rule-parallel solution for an established and feature-rich model validation language (EVL). We highlight the challenges encountered with retro-fitting concurrency support and our solutions to these challenges. We evaluate the correctness of our implementation through rigorous automated tests. Our results show up to linear performance improvements with more threads and larger models, with significantly faster execution compared to interpreted OCL.

References

  1. 1.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Scalability: the holy grail of model driven engineering. In: Proceedings of the First International Workshop on Challenges in Model Driven Software Engineering, Toulouse, pp. 10–14 (2008)Google Scholar
  2. 2.
    Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J.S., De Lara, J., Ràth, I., Varrò, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, Budapest (2013). Article No. 2Google Scholar
  3. 3.
    Parallel EVL implementation. https://github.com/epsilonlabs/parallel-erl
  4. 4.
    Smith, M.: Parallel model validation. Masters’ thesis, University of York (2015)Google Scholar
  5. 5.
    Joualt, F., Allilaire, F., Bèzivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 123–137. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-13688-7_9CrossRefGoogle Scholar
  7. 7.
    Tisi, M., Martínez, S., Jouault, F., Cabot, J.: Lazy execution of model-to-model transformations. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 32–46. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-24485-8_4CrossRefGoogle Scholar
  8. 8.
    Tisi, M., Martínez, S., Choura, H.: Parallel execution of ATL transformation rules. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 656–672. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-41533-3_40CrossRefGoogle Scholar
  9. 9.
    Benelallam, A., Gómez, A., Tisi, M., Cabot, J.: Distributed model-to-model transformation with ATL on MapReduce. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, pp. 37–48 (2015)Google Scholar
  10. 10.
    Martínez, S., Tisi, M., Douence, R.: Reactive model transformation with ATL. Sci. Comput. Program. 136(C), 1–16 (2017)CrossRefGoogle Scholar
  11. 11.
    Object Constraint Language (OCL) specification. http://www.omg.org/spec/OCL/About-OCL/
  12. 12.
    Cabot, J., Teniente, E.: Incremental evaluation of OCL constraints. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 81–95. Springer, Heidelberg (2006).  https://doi.org/10.1007/11767138_7CrossRefGoogle Scholar
  13. 13.
    Tisi, M., Douence, R., Wagelaar, D.: Lazy evaluation for OCL. In: Proceedings of the 15th International Workshop on OCL and Textual Modeling Co-located with 18th International Conference on Model Driven Engineering Languages and Systems, Ottawa, pp. 46–61 (2015)Google Scholar
  14. 14.
    Vajk, T., Dávid, Z., Asztalos, M., Mezei, G., Levendovszky, T.: Runtime model validation with parallel object constraint language. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation, Wellington (2011). Article No. 7Google Scholar
  15. 15.
    Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: Proceedings of the 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, Potsdam, pp. 162–171 (2009)Google Scholar
  16. 16.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006).  https://doi.org/10.1007/11787044_11CrossRefGoogle Scholar
  17. 17.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: On the evolution of OCL for capturing structural constraints in modelling languages. In: Abrial, J.-R., Glässer, U. (eds.) Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 204–218. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-11447-2_13CrossRefGoogle Scholar
  18. 18.
    Goetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., Lea, D.: Java Concurrency in Practice. Addison-Wesley, Boston (2005)Google Scholar
  19. 19.
  20. 20.
  21. 21.
  22. 22.
  23. 23.
    Brunelière, H., Cabot, J., Dupé, G., Madiot, F.: MoDisco: a model driven reverse engineering framework. Inf. Softw. Technol. 56(8), 1012–1032 (2014)CrossRefGoogle Scholar
  24. 24.
  25. 25.
    Burgeño, L., Troya, J., Wimmer, M., Vallecillo, A.: Parallel in-place model transformations with LinTra. In: Proceedings of the 3rd Workshop on Scalable Model Driven Engineering, L’Aquila, pp. 52–62 (2015)Google Scholar
  26. 26.
    Goetz, B.: From Concurrent to Parallel. QCon 2017, London. https://www.infoq.com/presentations/tecniques-parallelism-java
  27. 27.
  28. 28.
    Kolovos, D.S., Paige, R.F.: The epsilon pattern language. In: Proceedings of the 9th International Workshop on Modelling in Software Engineering, Buenos Aires, pp. 54–60 (2017)Google Scholar
  29. 29.
    Kolovos, D.S.: Establishing correspondences between models with the epsilon comparison language. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 146–157. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02674-4_11CrossRefGoogle Scholar
  30. 30.
    Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.C.: The epsilon generation language. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 1–16. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-69100-6_1CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Sina Madani
    • 1
    Email author
  • Dimitrios S. Kolovos
    • 1
  • Richard F. Paige
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations