[go: up one dir, main page]

Skip to main content

Parallel Model Validation with Epsilon

  • Conference paper
  • First Online:
Modelling Foundations and Applications (ECMFA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10890))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Equal objects must have the same hash code, but unequal objects do not necessarily have different hash codes.

  2. 2.

    Parallel execution of fixes is beyond the scope of this paper.

  3. 3.

    http://findbugs.sourceforge.net/bugDescriptions.html.

  4. 4.

    We use the ParallelOld garbage collector since we’re interested in throughput.

References

  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. 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. 2

    Google Scholar 

  3. Parallel EVL implementation. https://github.com/epsilonlabs/parallel-erl

  4. Smith, M.: Parallel model validation. Masters’ thesis, University of York (2015)

    Google Scholar 

  5. Joualt, F., Allilaire, F., Bèzivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    Article  MathSciNet  Google Scholar 

  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_9

    Chapter  Google Scholar 

  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_4

    Chapter  Google Scholar 

  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_40

    Chapter  Google Scholar 

  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. Martínez, S., Tisi, M., Douence, R.: Reactive model transformation with ATL. Sci. Comput. Program. 136(C), 1–16 (2017)

    Article  Google Scholar 

  11. Object Constraint Language (OCL) specification. http://www.omg.org/spec/OCL/About-OCL/

  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_7

    Chapter  Google Scholar 

  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. 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. 7

    Google Scholar 

  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. 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_11

    Chapter  Google Scholar 

  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_13

    Chapter  Google Scholar 

  18. Goetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., Lea, D.: Java Concurrency in Practice. Addison-Wesley, Boston (2005)

    Google Scholar 

  19. java.util.concurrent.ExecutorService. https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/ExecutorService.html

  20. java.util.concurrent.ThreadPoolExecutor. https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/ThreadPoolExecutor.html

  21. java.util.concurrent.ConcurrentLinkedDeque. https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html

  22. java.util.concurrent.ConcurrentHashMap. https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/ConcurrentHashMap.html

  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)

    Article  Google Scholar 

  24. Eclipse platform EMF models. http://atenea.lcc.uma.es/index.php/Main_Page/Resources/LinTra#Input_Models_3

  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. Goetz, B.: From Concurrent to Parallel. QCon 2017, London. https://www.infoq.com/presentations/tecniques-parallelism-java

  27. Incremental EVL. https://github.com/epsilonlabs/incremental-evl

  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. 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_11

    Chapter  Google Scholar 

  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_1

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sina Madani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Madani, S., Kolovos, D.S., Paige, R.F. (2018). Parallel Model Validation with Epsilon. In: Pierantonio, A., Trujillo, S. (eds) Modelling Foundations and Applications. ECMFA 2018. Lecture Notes in Computer Science(), vol 10890. Springer, Cham. https://doi.org/10.1007/978-3-319-92997-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-92997-2_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-92996-5

  • Online ISBN: 978-3-319-92997-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics