Skip to main content
Log in

Integrating a Formal Development for DSLs into Meta-Modeling

  • Original Article
  • Published:
Journal on Data Semantics

Abstract

Formal methods (such as interactive provers) are increasingly used in software engineering. They offer a formal frame that guarantees the correctness of developments. Nevertheless, they use complex notations that might be difficult to understand for unaccustomed users. On the contrary, visual specification languages use intuitive notations and aiming at easing the specification and understanding of software systems. Moreover, these languages and concomitant environments permit to automatically generate graphical interfaces or editors for Domain Specific Languages starting from a meta-model. However, they suffer from a lack of precise semantics. We are interested in combining these two complementary technologies by mapping the elements of the one into the other. In this paper, we present a generic transformation process from functional data structures, commonly used in proof assistants, to Ecore models and vice versa. This translation method is based on Model-driven engineering and defined by a set of bidirectional transformation rules. These rules are detailed and represented in a formal description. Our approach is implemented in the Eclipse environment and illustrated with a case study.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Anastasakis K, Bordbar B, Georg G, Ray I (2007) UML2Alloy: a challenging model transformation. In: Engels G, Opdyke B, Schmidt DC, Weil F (eds) MoDELS. Lecture Notes in Computer Science, vol 4735, Springer, Berlin, pp 436–450

  2. Baklanova N, Strecker M (2013) Abstraction and verification of properties of a real-time java. In: Ermolayev V, Mayr HC, Nikitchenko M, Spivakovsky A, Zholtkevych G (eds) ICT in education, research, and industrial applications, communications in computer and information science, vol 347. Springer, Berlin. pp 1–18. doi:10.1007/978-3-642-35737-41. http://www.irit.fr/Martin.Strecker/Publications/icteri2012.html

  3. Baldan P, Corradini A, König B (2008) A framework for the verification of infinite-state graph transformation systems. Inf Comput 206:869–907. doi:10.1016/j.ic.2008.04.002. http://citeseerx.ist.psu.edu/viewdoc/download?

  4. Bézivin J (2006) Model driven engineering: an emerging technical space. In: Lämmel R, Saraiva J, Visser J (eds) Generative and transformational techniques in software engineering. Lecture Notes in Computer Science, vol 4143. Springer, Berlin, pp 36–64. doi:10.1007/118770282. https://www.uni-koblenz.de/laemmel/gttse/2005/pdfs/41430036.pdf

  5. Budinsky F, Brodsky SA, Merks E (2003) Eclipse modeling framework. Pearson, education

  6. Coq Development Team: The Coq proof assistant reference manual. version 8.31 (2010). http://coq.inria.fr/refman/

  7. van Deursen A, Klint P, Visser J (2000) Domain-specific languages: an annotated bibliography. SIGPLAN Notices 35(6):26–36

    Article  Google Scholar 

  8. Djeddai S (2013) Combining formal verification environments and model-driven engineering. Ph.D. thesis, Université de Toulouse. http://www.irit.fr/~Selma.Djeddai/PhD_selma_djeddai.html

  9. Djeddai S, Strecker M, Mezghiche M (2012) Integrating a formal development for DSLs into meta-modeling. In: Abelló A, Bellatreche L, Benatallah B (eds) MEDI. Lecture Notes in Computer Science, vol 7602. Springer, Berlin, pp 55–66

  10. Ehrig K, Ermel C, Hänsgen S, Taentzer G (2005) Generation of visual editors as Eclipse plug-ins. In: Proceedings of the 20th IEEE/ACM international conference on automated software engineering, ASE ’05, ACM, New York, pp 134–143. doi:10.1145/1101908.1101930

  11. France RB, Evans A, Lano K, Rumpe B (1998) The UML as a formal modeling notation. Comput Stand Interfaces 19(7):325–334

    Article  Google Scholar 

  12. Gronback RC (2009) Eclipse modeling project: a domain-specific language (DSL) toolkit. Addison-Wesley, Upper Saddle River

    Google Scholar 

  13. Idani A (2009) UML models engineering from static and dynamic aspects of formal specifications. In: Halpin TA, Krogstie J, Nurcan S, Proper E, Schmidt R, Soffer P, Ukor R (eds) BMMDS/EMMSAD. Lecture Notes in Business Information Processing, vol 29. Springer, Berlin, pp 237–250

  14. Idani A, Boulanger JL, Philippe L (2007) A generic process and its tool support towards combining UML and B for safety critical systems. In: Hu G (ed) CAINE, ISCA. pp 185–192

  15. Kleppe AG, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co. Inc., Boston

  16. de Lara J, Vangheluwe H (2002) Using AToM\(^{3}\) as a meta-case tool. In: ICEIS, pp 642–649. http://www.cs.mcgill.ca/hv/publications/02.ICEIS.MCASE.pdf

  17. Leroy X, Doligez D, Frisch A, Garrigue J, Rémy D, Vouillon J (2011) The OCaml system release 3.12. documentation and user’s manual. Online. http://caml.inria.fr/pub/docs/manual-ocaml/index.html

  18. Nipkow T, Paulson L, Wenzel M (2002) Isabelle/HOL. A proof assistant for higher-order logic. LNCS 2283. Springer, Berlin. http://isabelle.in.tum.de

  19. OMG: Meta Object Facility (MOF) Core v. 2.0 Document (2006). http://www.omg.org/spec/MOF

  20. Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5):19–25. doi:10.1109/MS.2003.1231146

    Google Scholar 

  21. Shah SMA, Anastasakis K, Bordbar B (2009) From UML to Alloy and back again. In: Ghosh S (ed) MoDELS workshops. Lecture Notes in Computer Science, vol 6002, Springer, Berlin, pp 158–171

  22. Stevens P (2007) A landscape of bidirectional model transformations. In: Lämmel R, Visser J, Saraiva J (eds) GTTSE. Lecture Notes in Computer Science, vol 5235 Springer, Berlin, pp 408–424

  23. Varró D (2004) Automated formal verification of visual modeling languages by model checking. Softw Syst Model 3(2):85–113. doi:10.1007/s10270-003-0050-x

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Strecker.

Additional information

Part of this research has been supported by the project Verisync (ANR-10-BLAN-0310).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Djeddai, S., Strecker, M. & Mezghiche, M. Integrating a Formal Development for DSLs into Meta-Modeling. J Data Semant 3, 143–155 (2014). https://doi.org/10.1007/s13740-013-0030-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13740-013-0030-4

Keywords

Navigation