Skip to main content

Towards Static Analysis of Executable DSMLs Using Model Typing

  • Conference paper
  • First Online:
Enterprise, Business-Process and Information Systems Modeling (BPMDS 2015, EMMSAD 2015)

Abstract

Executable domain-specific modeling languages (xDSMLs) are enriched with sufficient details which allows their direct execution. An important challenge hampering the use of executable models is the potentiality of run-time misbehavior. In this paper we present a static analysis technique for xDSMLs based on the notion of model typing. The abstract syntax of the modeling language is represented using a directed type graph. The operational semantics of the language is defined using graph transformation rules with priorities. The model typing is provided with a type graph enriched by a collection of graph constraints. We discuss the soundness of the analysis technique with respect to the operational semantics. The proposed approach allows the enforcement of the desired properties in xDSMLs and will eliminate run-time misbehavior by preventing ill-typed models.

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

Access this chapter

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Combemale, B., Crgut, X., Pantel, M.: A Design pattern to build executable DSMLs and associated V and V tools. In: 19th Asia-Pacific Software Engineering Conference (APSEC), pp. 282–287 (2012)

    Google Scholar 

  2. Cánovas Izquierdo, J.L., Cabot, J.: Enabling the collaborative definition of DSMLs. In: Salinesi, C., Norrie, M.C., Pastor, Ó. (eds.) CAiSE 2013. LNCS, vol. 7908, pp. 272–287. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  3. Steel, J., Jézéquel, J.M.: On Model Typing. Software and Systems Modeling 6(4), 401–413 (2007)

    Article  Google Scholar 

  4. Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On model subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  5. Sun, W., Combemale, B., Derrien, S., France, R.B.: Using model types to support contract-aware model substitutability. In: Van Gorp, P., Ritter, T., Rose, L.M. (eds.) ECMFA 2013. LNCS, vol. 7949, pp. 118–133. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  6. AGG. http://user.cs.tu-berlin.de/gragra/agg/ (last visited 1 December 2014)

  7. Mohammadi, R.G., Barforoush, A.A: Formal Definition of Executable DSMLs: A Graph-based Approach. Technical Report, Computer Engineering and Information Technology Faculty, Amirkabir University of Technology (2015). http://ceit.aut.ac.ir/islab/researches/modeling/TR.pdf

  8. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamental Theory for Typed Attributed Graphs and Graph Transformation based on Adhesive HLR Categories. Fundamenta Informaticae 74(1), 31–61 (2006)

    Google Scholar 

  9. Ernst, M.D: Static and dynamic analysis: synergy and duality. In: Proceedings of the ACM-SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 35–35 (2004)

    Google Scholar 

  10. Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer-Verlag New York Inc, Secaucus (1999)

    Book  Google Scholar 

  11. Agesen, O.: Constraint-based type inference and parametric polymorphism. In: LeCharlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 78–100. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  12. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or aproximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 238–252 (1977)

    Google Scholar 

  13. Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MITPress, Cambridge (1999)

    Google Scholar 

  14. Object Management Group. Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.1, Augest 2013. http://www.omg.org/spec/FUML/1.1/

  15. Object Management Group. Action Language for Foundational UML (Alf), Version 1.0.1, September 2013. http://www.omg.org/spec/ALF/1.0.1/

  16. Abdelhalim, I., Sharp, J., Schneider, S., Treharne, H.: Formal verification of tokeneer behaviours modelled in fUML using CSP. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 371–387. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  17. Graw, G., Herrmann, P.: Transformation and Verification of Executable UML Models. Electronic Notes in Theoretical Computer Science 101, 3–24 (2004)

    Article  Google Scholar 

  18. Planas Hortal, E.: Lightweight and static verification of UML executable models. Universitat Politcnica de Catalunya, PhD Thesis (2013). http://www.tdx.cat/handle/10803/116449

  19. Cabot, J., Claris, R., Guerra, E., De Lara, J.: A UML/OCL Framework for the Analysis of Graph Transformation Rules. Software and Systems Modeling 9(3), 335–357 (2010)

    Article  Google Scholar 

  20. De Lara, J., Bardohl, R., Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Attributed Graph Transformation with Node Type Inheritance. Theoretical Computer Science 376(3), 139–163 (2007)

    Article  Google Scholar 

  21. Taentzer, G., Rensink, A.: Ensuring structural constraints in graph-based models with type inheritance. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 64–79. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  22. Baldan, P., Corradini, A., König, B.: Unfolding graph transformation systems: theory and applications to verification. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 16–36. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  23. Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.H.: Theory of Constraints and Application Conditions: From Graphs to High-level Structures. Fundamenta Informaticae 74(1), 135–166 (2006)

    Google Scholar 

  24. Plump, D.: Termination of Graph Rewriting is Undecideable. Fundamental Informatica 33(2), 201–209 (1998)

    Google Scholar 

  25. Varró, D., Varró–Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination analysis of model transformations by Petri Nets. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 260–274. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  26. Plotkin, G.D.: A Structural Approach to Operational Semantics. J. Log. Algebr. Program. 60(61), 17–139 (2004)

    Google Scholar 

  27. Dorman, A., Heindel, T.: Structured operational semantics for graph rewriting. In: ICE (2011), pp. 37–51 (2011)

    Google Scholar 

  28. Object Management Group. OMG Meta Object Facility (MOF) Core Specification, Version 2.4.1, August 2011. http://www.omg.org/spec/MOF/2.4.1

  29. Hvid Hansen, H., Ketema, J., Luttik, B., Mousavi, M.R., van de Pol, J., dos Santos, O.M.: Automated verification of executable UML models. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 225–250. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Reza Gorgan Mohammadi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Mohammadi, R.G., Barforoush, A.A. (2015). Towards Static Analysis of Executable DSMLs Using Model Typing. In: Gaaloul, K., Schmidt, R., Nurcan, S., Guerreiro, S., Ma, Q. (eds) Enterprise, Business-Process and Information Systems Modeling. BPMDS EMMSAD 2015 2015. Lecture Notes in Business Information Processing, vol 214. Springer, Cham. https://doi.org/10.1007/978-3-319-19237-6_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-19237-6_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-19236-9

  • Online ISBN: 978-3-319-19237-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics