Skip to main content

Experiences in Model Driven Verification of Behavior with UML

  • Conference paper
Foundations of Computer Software. Future Trends and Techniques for Development (Monterey Workshop 2008)

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

Included in the following conference series:

Abstract

Model Driven Development (MDD) focuses on the intensive use of models during software development. In this paradigm, models are the central development artifact: transformations are used to derive executable programs, or tests for a given platform. This makes building quality models a cost-effective approach, as the models can be reused for many analysis or generation goals, and not just document a design. However, high quality models are needed for the approach to be successful. Hence the goal of performing analysis of high-level behavioral specifications such as UML, to enhance their quality and detect defects or ensure desired behavior.

High-level specifications provide many facilities to handle large specifications (such as hierarchical structuring mechanisms) and provide sophisticated features to handle programming language’s rich semantics. However, the price of these features is that these specifications are difficult to analyse, the semantics are not necessarily formally defined, and the complexity of the language features usually limits analysis to manual inspection, or in the best cases simulation.

On the other hand, formal specifications have been developed specifically with analysis purposes in mind. In particular, model checking is an automatic approach suitable to analyse formally defined behaviors. However, formal specifications languages such as CSP, PROMELA, Petri nets, etc. have a steep learning curve, and are not cost effective since they are not directly linked to code.

In this paper, we explore an approach to integrate formal methods with high-level notations, by translating high-level specifications to formal ones to enable analysis. We are thus bringing Model Driven Engineering to Verification Driven Engineering. We show how this approach was put in practice with UML within the context of the ModelPlex project.

This work has been partially supported by the ModelPlex European integrated project FP6-IP 034081 (Modeling Solutions for Complex Systems).

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. Abrial, J.-R.: The B book - Assigning Programs to meanings. Cambridge Univ. Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Barkaoui, K., Abdallah, I.: Deadlock avoidance in FMS based on structural theory of Petri nets. In: International Conference on Technologies and Factory Automation (ETFA), pp. 499–510 (1995)

    Google Scholar 

  3. Barkaoui, K., Couvreur, J.-M., Dutheillet, C.: On liveness in extended non self-controlling nets. In: DeMichelis, G., Díaz, M. (eds.) ICATPN 1995. LNCS, vol. 935, pp. 25–44. Springer, Heidelberg (1995)

    Google Scholar 

  4. Broy, M., Crane, M., Dingel, J., Hartman, A., Rumpe, B., Selic, B.: 2nd UML 2 Semantics Symposium: Formal Semantics for UML. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 318–323. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Burch, J., Clarke, E., McMillan, K.: Symbolic model checking: 1020 states and beyond. Information and Computation (Special issue from LICS 1990) 98(2), 153–181 (1992)

    MathSciNet  Google Scholar 

  6. Campos, J., Merseguer, J.: On the integration of uml and petri nets in software development. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 19–36. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Chiola, G., Dutheillet, C., Franceschinis, G., Haddad, S.: On well-formed coloured nets and their symbolic reachability graph. In: Jensen, K., Rozenberg, G. (eds.) Procedings of the 11th International Conference on Application and Theory of Petri Nets (ICATPN 1990); Reprinted in High-Level Petri Nets, Theory and Application. Springer, Heidelberg (1991)

    Google Scholar 

  8. Ciardo, G., Lüttgen, G., Miner, A.S.: Exploiting interleaving semantics in symbolic state-space generation. Formal Methods in System Design 31(1), 63–100 (2007)

    Article  MATH  Google Scholar 

  9. Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003)

    Article  MathSciNet  Google Scholar 

  10. Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)

    Google Scholar 

  11. Clarke, E.M., Emerson, E.A., Sifakis, J.: Turing award for their original and continuing research on model checking (2007)

    Google Scholar 

  12. Damm, W., Hermanns, H. (eds.): CAV 2007. LNCS, vol. 4590. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  13. Damm, W., Westphal, B.: Live and let die: Lsc based verification of UML models. Sci. Comput. Program 55(1-3), 117–159 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  14. Dobing, B., Parsons, J.: How UML is used. Communications of the ACM 49 (May 2006)

    Google Scholar 

  15. Donatelli, S., Franceschinis, G.: The psr methodology: Integrating hardware and software models. In: Billington, J., Reisig, W. (eds.) ICATPN 1996. LNCS, vol. 1091, pp. 133–152. Springer, Heidelberg (1996)

    Google Scholar 

  16. Engels, G., Heckel, R., Küster, J.: Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 272–286. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)

    Article  Google Scholar 

  18. Gupta, A., McMillan, K., Fu, Z.: Automated Assumption Generation for Compositional Verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 420–432. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  19. Hailpern, B., Tarr, P.: Model-driven development: The good, the bad and the ugly. IBM Systems Journal 45(3), 451 (2006)

    Article  Google Scholar 

  20. Hamez, A., Hillah, L., Kordon, F., Linard, A., Paviot-Adet, E., Renault, X., Thierry-Mieg, Y.: New features in cpn-ami 3: focusing on the analysis of complex distributed systems. In: ACSD, pp. 273–275. IEEE Computer Society, Los Alamitos (2006)

    Google Scholar 

  21. Hu, Z., Shatz, S.M.: Explicit modeling of semantics associated with composite states in UML statecharts. Automated Software Engg. 13(4), 423–467 (2006)

    Article  Google Scholar 

  22. Huth, M.: Some current topics in model checking. International Journal on Software Tools for Technology Transfer (STTT) 9(1), 25–36 (2007)

    Google Scholar 

  23. ISO/IEC 13568. Z formal specification notation — syntax, type system and semantics (2002)

    Google Scholar 

  24. Kordon, F., Hugues, J., Renault, X.: From Model Driven Engineering to Verification Driven Engineering. In: Brinkschulte, U., Givargis, T., Russo, S. (eds.) SEUS 2008. LNCS, vol. 5287, pp. 381–393. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  25. Madhusudan, P. (ed.): Proceedings of the 9th International Workshop on Verification of Infinite-State Systems (INFINITY 2007), Lisboa, Portugal, September 2007. Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, Amsterdam (2007)

    Google Scholar 

  26. Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press, Cambridge (1999)

    MATH  Google Scholar 

  27. Murata, T.: Petri nets: Properties, analysis and applications. In: Proceedings of the IEEE, NewsletterInfo: 33Published as Proceedings of the IEEE, April 1989, vol.77(4), pp. 541–580 (1989)

    Google Scholar 

  28. OMG. Unified Modeling Language: Superstructure - Version 2.1.2 formal/07-11-02. OMG (November 2007)

    Google Scholar 

  29. SAE. Architecture Analysis & Design Language V2 (AS5506A) (January 2009), http://www.sae.org

  30. Thierry-Mieg, Y., Poitrenaud, D., Hamez, A., Kordon, F.: Hierarchical set decision diagrams and regular models. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 1–15. Springer, Heidelberg (2009)

    Google Scholar 

  31. Yao, S., Shatz, S.M.: Consistency Checking of UML Dynamic Models Based on Petri Net Techniques. In: CIC 2006: Proceedings of the 15th International Conference on Computing, Washington, DC, USA, pp. 289–297. IEEE Computer Society, Los Alamitos (2006)

    Chapter  Google Scholar 

  32. Zhao, Q., Krogh, B.: Formal verification of statecharts using finite-state model checkers. IEEE Transactions on Control Systems Technology 14(5), 943–950 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kordon, F., Thierry-Mieg, Y. (2010). Experiences in Model Driven Verification of Behavior with UML. In: Choppy, C., Sokolsky, O. (eds) Foundations of Computer Software. Future Trends and Techniques for Development. Monterey Workshop 2008. Lecture Notes in Computer Science, vol 6028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12566-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12566-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12565-2

  • Online ISBN: 978-3-642-12566-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics