Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Verification of Model Transformations Using Isabelle/HOL and Scala

  • Published:
Information Systems Frontiers Aims and scope Submit manuscript

Abstract

Model transformations have proved to be powerful in the development of critical systems. According to their intents, they have been used in many domains such as models refinement, simulation, and domain semantics. The formal methods have been successful in the verification and validation of critical systems, and in particular, in the formalization of UML, BPMN, and AADL. However, little research has been done on verifying the transformation itself. In this paper, we extend our previous work using Isabelle/HOL that transforms UML State Machine Diagrams (SMD) to Colored Petri nets (CPN) models and proves that certain structural properties of this transformation are correct. For example, the structural property: “for each final state of a SMD model a corresponding place in CPN model should be generated by the transformation” is described and checked using Isabelle/HOL as invariant property. In the current work, we use Scala as environment of executing Isabelle/HOL specifications and we perform the verified transformation using Scala. Moreover, we demonstrate our approach using another case study of transforming BPMN (Business Process Model and Notation) models into Petri nets models and verify the correctness of certain structural properties of this transformation.

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

Access this article

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

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30

Similar content being viewed by others

References

  • Acceleo (2018): www.acceleo.org

  • Ali T, Nauman M, Alam M (2007) An Accessible Formal Specification of the UML and OCL Meta-Model in Isabelle/HOL. 2007 IEEE international multitopic conference, Lahore, pp. 1–6

  • Amrani, M., Combemale, B., Lúcio, L., Selim, G.M.K., Dingel, J., Le Traon, Y., Vangheluwe, H., Cordy, J.R.: “Formal verification techniques for model transformations: A tridimensional classification”. JOT 14(3), 1–43 (2015). https://doi.org/10.5381/jot.2015.14.3.a1.

  • André, É., Benmoussa, M. M., & Choppy, C. (2016). Formalising concurrent UML state machines using coloured petri nets. Formal Asp Comput, 28(5), 805–845. https://doi.org/10.1007/s00165-016-0388-9.

    Article  Google Scholar 

  • Asztalos M, Lengyel L, Levendovszky T (2009) A formalism for describing modeling transformations for verification. In: MoDeVVA’09, Denver, Colorado

  • Asztalos M, Lengyel L, Levendovszky T (2010) Towards automated, formal verification of model transformations. In ICST

  • AToM3 (2018) A Tool for Multi-formalism Meta-Modelling: atom3.cs.mcgill.ca/

  • AtomPM (2018): https://msdl.uantwerpen.be/documentation/AToMPM/

  • Baklanova N, Brenas JH, Echahed R, Percebois C, Strecker M, Tran HN (2015) “Provably Correct Graph Transformations with Small-tALC.” ICTERI

  • Blech JO, Glesner S, Leitner J (2005) Formal verification of java code generation from UML models. In: Fujaba Days

  • Bodeveix J-P, Filali M, Garnacho M, Spadotti R, Yang Z (2015) Towards a verified transformation from AADL to the formal component-based language FIACRE. In: Science of Computer Programming, Elsevier, vol. 106, pp. 30–53. https://doi.org/10.1016/j.scico.2015.03.003.

  • CPN Tools Homepage (2018), http://cpntools.org/

  • da Costa Cavalheiro SA, Foss L, Ribeiro L (2017) Theorem prover graph grammars with attributes and negative application conditions. Theor Comput Sci 686: 25–77, ISSN 0304–3975, https://doi.org/10.1016/j.tcs.2017.04.010. (http://www.sciencedirect.com/science/article/pii/S0304397517303419)

  • De Busser J (2018), Model checking AToMPM transformation systems with Groove. Technical report, MSDL LAB, McGill University, Canada

  • Djaaboub S, Kerkouche E, Chaoui A (2015) From UML Statecharts to LOTOS expressions using graph transformation. 21st international conference, ICIST, pp 548–559

  • Gabmeyer, S., Kaufmann, P., Seidl, M., Gogolla, M., & Kappel, G. (2017). A feature-based classification of formal verification techniques for software models. Softw Syst Model. https://doi.org/10.1007/s10270-017-0591-z.

  • Gogolla M, Hamann L, Hilken F (2014) Checking transformation model properties with a UML and OCL model validator. VOLT@STAF : 16–25

  • Haftmann F, Bulwahn L (2009) Code generation from specifications in higher-order logic. Technical University Munich , pp. 1–125

  • Harel, D. (1987). Statecharts: A visual formalism for complex systems. Sci Comput Program, 8(3), 231–274.

    Article  Google Scholar 

  • Isabelle Homepage (2018), https://isabelle.in.tum.de/

  • Kerkouche, E., Chaoui, A., Bourennane, E.-B., & Labbani, O. (2010). A UML and colored petri nets integrated modeling and analysis approach using graph transformation. J Object Technol, 9, 25–43. https://doi.org/10.5381/jot.2010.9.4.a2.

    Article  Google Scholar 

  • Kerkouche E, Elmansouri R, Chaoui A, Khalfaoui K (2014) An automatic approach to Verify business process models using INA petri nets analyzer. Int J Comput Inf Technol 3(4)(ISSN: 2279–0764), July 2014

  • Kherbouche OM, Ahmad A, Basson H (2013) Using model checking to control the structural errors in BPMN models”. RCIS: 1–12. https://doi.org/10.1109/RCIS.2013.6577723.

  • Liu S (2014) Formalizing UML state machines semantics for formal analysis–Asurvey. National University of Singapore lius87@comp.nus.edu.sg March 21

  • Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G. M. K., Syriani, E., & Wimmer, M. (2016). Model transformation intents and their properties. Softw Syst Model, 15, 647–684. https://doi.org/10.1007/s10270-014-0429-x.

    Article  Google Scholar 

  • Makhlouf A, Tran HN, Percebois C, Strecker M (2016) Combining dynamic and static analysis to help develop correct graph transformations. TAP. https://doi.org/10.1007/978-3-319-41135-4_11

  • Meghzili S, Chaoui A, Strecker M, Kerkouche E (2016) Transformation and validation of BPMN models to petri nets models using GROOVE," 2016 International Conference on Advanced Aspects of Software Engineering (ICAASE), Constantine, pp. 22–29. https://doi.org/10.1109/ICAASE.2016.7843859.

  • Meghzili AC, Strecker M, Kerkouche E (2017) On the verification of UML state machine diagrams to colored petri nets transformation using Isabelle/HOL. IEEE International Conference on Information Reuse and Integration (IRI), San Diego, CA, 2017, pp. 419–426. https://doi.org/10.1109/IRI.2017.63.

  • Meseguer J (2011) “Maude”. Encyclopedia of Parallel Computing Springer: 1095–1102

  • Miloudi, KE, Ettouhami A (2015) A multi-view approach for formalizing UML State Machine Diagrams Using Z Notation.

  • Mottu JM, Sen S, Tisi M, Cabot J (2012) static analysis of model transformations for effective test generation. 2012 IEEE 23rd international symposium on software reliability engineering, Dallas, TX, pp. 291–300. https://doi.org/10.1109/ISSRE.2012.7.

  • Nipkow T, Paulson LC, Wenzel M (2002) “Isabelle/HOL: a proof assistant for higher-order logic”, Springer-Verlag Berlin, Heidelberg ©2002. https://doi.org/10.1007/3-540-45949-9

  • Object Management Group (2018): www.omg.org/

  • OMG. Object Modeling Group (2005) Unified modeling language specification, version 2.0, July 2005

  • Percebois C, Strecker M, Tran HN (2013) Rule-level verification of graph transformations for invariants based on edges’ transitive closure. In: Hierons, R.M., Merayo, M.G., Bravetti, M., (eds), Software Engineerin and formal methods, Madrid, Spain, 25/09/2013–27/09/2013. Volume 8137 of lecture notes in computer science, http://www.springerlink.com, Springer 106–121. https://doi.org/10.1007/978-3-642-40561-7_8.

  • Poizat P, Salaün G, Krishna A (2016) Checking Business Process Evolution. FACS. https://doi.org/10.1007/978-3-319-57666-4_4

  • PVS Specification and Verification System (2018): https://pvs.csl.sri.com/

  • Rensink A (2003) The GROOVE simulator: A tool for state space generation. AGTIVE : 479–485. https://doi.org/10.1007/978-3-540-25959-6_40.

  • Sanchez Cuadrado J; Guerra E; J. de Lara (2016) Static analysis of model transformations. In: IEEE transactions on software engineering, vol. PP, no. 99, pp. 1–1. https://doi.org/10.1109/TSE.2016.2635137.

  • Schätz B (2010) Verification of model transformations. ECEASST 29. https://doi.org/10.14279/tuj.eceasst.29.420

  • StarUML, staruml.io/ (2018)

  • Strecker M (2002) Formal verification of a Java Compiler in Isabelle. International Conference on Automated Deduction (CADE), Berlin, Heidelberg, pp. 63-77. https://doi.org/10.1007/3-540-45620-1_5.

  • TGG (2018):http://www-old.cs.uni-paderborn.de/en/research-group/software-engineering/research/projects/tgg-interpreter.html

  • The <AGG> Homepage (2018): http://www.user.tu-berlin.de/o.runge/agg/

  • The Coq Proof Assistant (2018): https://coq.inria.fr/

  • The Standard ML Programming Language (2018): http://www.macs.hw.ac.uk/ultra/skalpel/html/sml.html

  • Topology and Orchestration Specification for Cloud Applications Version 1.0. 25 November (2013). OASIS Standard. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html.

  • Van der Aalst WM, Stahl C, Westergaard M (2013) Strategies for modeling complex processes using colored petri nets.”In: Transactions on petri nets and other models of concurrency vii (pp. 6–55). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-38143-0_2

  • Varró D, Pataricza A (2003) Automated formal verification of model transformations. In: CSDUML, pp. 63–78

  • Wei X, Dong Y, Li X, Wong WE (2017) Architecture-level hazard analysis using AADL. J Syst Softw, ISSN 0164-1212, https://doi.org/10.1016/j.jss.2017.06.018.

  • Wenzel, M. (2012). Asynchronous proof processing with Isabelle/Scala and Isabelle/jEdit. Electr Notes Theor Comput Sci, 285, 101–114. https://doi.org/10.1016/j.entcs.2012.06.009.

    Article  Google Scholar 

  • Zhang SJ, Liu Y (2010) “An Automatic Approach to Model Checking UML State Machines.” 2010 Fourth international conference on secure software integration and reliability improvement companion, Singapore, pp. 1–6

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Said Meghzili.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Meghzili, S., Chaoui, A., Strecker, M. et al. Verification of Model Transformations Using Isabelle/HOL and Scala. Inf Syst Front 21, 45–65 (2019). https://doi.org/10.1007/s10796-018-9860-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10796-018-9860-9

Keywords

Navigation