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.
Similar content being viewed by others
References
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
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
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?
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
Budinsky F, Brodsky SA, Merks E (2003) Eclipse modeling framework. Pearson, education
Coq Development Team: The Coq proof assistant reference manual. version 8.31 (2010). http://coq.inria.fr/refman/
van Deursen A, Klint P, Visser J (2000) Domain-specific languages: an annotated bibliography. SIGPLAN Notices 35(6):26–36
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
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
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
France RB, Evans A, Lano K, Rumpe B (1998) The UML as a formal modeling notation. Comput Stand Interfaces 19(7):325–334
Gronback RC (2009) Eclipse modeling project: a domain-specific language (DSL) toolkit. Addison-Wesley, Upper Saddle River
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
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
Kleppe AG, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co. Inc., Boston
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
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
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
OMG: Meta Object Facility (MOF) Core v. 2.0 Document (2006). http://www.omg.org/spec/MOF
Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5):19–25. doi:10.1109/MS.2003.1231146
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
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Part of this research has been supported by the project Verisync (ANR-10-BLAN-0310).
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13740-013-0030-4