skip to main content
article

Symbolic model checking of UML activity diagrams

Authors Info & Claims
Published:01 January 2006Publication History
Skip Abstract Section

Abstract

Two translations from activity diagrams to the input language of NuSMV, a symbolic model verifier, are presented. Both translations map an activity diagram into a finite state machine and are inspired by existing statechart semantics. The requirements-level translation defines state machines that can be efficiently verified, but are a bit unrealistic since they assume the perfect synchrony hypothesis. The implementation-level translation defines state machines that cannot be verified so efficiently, but that are more realistic since they do not use the perfect synchrony hypothesis. To justify the use of the requirements-level translation, we show that for a large class of activity diagrams and certain properties, both translations are equivalent: regardless of which translation is used, the outcome of model checking is the same. Moreover, for linear stuttering-closed properties, the implementation-level translation is equivalent to a slightly modified version of the requirements-level translation. We use the two translations to model check data integrity constraints for an activity diagram and a set of class diagrams that specify the data manipulated in the activities. Both translations have been implemented in two tools. We discuss our experiences in applying both translations to model check some large example activity diagrams.

References

  1. Alonso, G., Casati, F., Kuno, H., and Machiraju, V. 2004. Web Services: Concepts, Architectures and Applications. Springer.Google ScholarGoogle Scholar
  2. André, C., Boulanger, F., and Girault, A. 2001. Software implementation of synchronous programs. In Proceedings of the Second International Conference on Application of Concurrency to System Design (ACSD 2001). IEEE Computer Society, 133--142. Google ScholarGoogle Scholar
  3. Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: design, semantics, implementation. Sci. Compu. Prog. 19, 2, 87--152. Google ScholarGoogle Scholar
  4. Bock, C. 1999. Unified behavior models. J. Object-Oriented Prog. 12, 5.Google ScholarGoogle Scholar
  5. Boehm, B. 1981. Software Engineering Economics. Prentice Hall. Google ScholarGoogle Scholar
  6. Booch, G., Rumbaugh, J., and Jacobson, I. 1999. The Unified Modeling Language User Guide. Addison-Wesley. Google ScholarGoogle Scholar
  7. Browne, M., Clarke, E., and Grumberg, O. 1988. Characterizing finite kripke structures in propositional temporal logic. Theo. Compu. Sci. 59, 115--131. Google ScholarGoogle Scholar
  8. Burch, J., Clarke, E., McMillan, K., Dill, D., and Hwang, L. 1992. Symbolic model checking: 1020 states and beyond. Information and Computation 98, 2, 142--170. Google ScholarGoogle Scholar
  9. Campbell, L., Cheng, B., McUmber, W., and Stirewalt, R. 2002. Automatically detecting and visualising errors in UML diagrams. Requirements Eng. J. 7, 264--287.Google ScholarGoogle Scholar
  10. Caspers, A. 1998. Workflow management: Analyse, modellering en implementatie (in Dutch). M.S. thesis, Vrije Universiteit Amsterdam.Google ScholarGoogle Scholar
  11. Chan, W., Anderson, R., Beame, P., Burns, S., Modugno, F., Notkin, D., and Reese, J. 1998. Model checking large software specifications. IEEE Trans. Soft. Eng. 24, 7, 498--520. Google ScholarGoogle Scholar
  12. Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., and Tacchella, A. 2002. NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking. In Proceedings of the International Conference on Computer-Aided Verification (CAV 2002), E. Brinksma and K. Larsen, Eds. Vol. Lecture Notes in Computer Science 2404. Springer, 359--364. Google ScholarGoogle Scholar
  13. Clarke, E., Grumberg, O., and Peled, D. 1999. Model Checking. The MIT Press. Google ScholarGoogle Scholar
  14. Clarke, E. and Wing, J. 1996. Formal methods: State of the art and future directions. ACM Compu. Surv. 28, 4, 626--643. Google ScholarGoogle Scholar
  15. Dehne, F., Wieringa, R., and van de Zandschulp, H. 2000. Toolkit for conceptual modeling (TCM)---user's guide and reference. Tech. Rep., University of Twente.Google ScholarGoogle Scholar
  16. Desel, J. and Esparza, J. 1995. Free choice Petri nets. Cambridge Tracts in Theoretical Computer Science, vol. 40. Cambridge University Press. Google ScholarGoogle Scholar
  17. Emerson, E., Jha, S., and Peled, D. 1997. Combining partial order and symmetry reduction. In Proceedings of Tools and Algorithms for the Construction and Analysis of Systems (TACAS'97), E. Brinksma, Ed. Lecture Notes in Computer Science 1217. Springer, 19--34. Google ScholarGoogle Scholar
  18. Eriksson, H.-E. and Penker, M. 2000. Business Modeling With UML: Business Patterns at Work. Wiley Computer Publishing. Google ScholarGoogle Scholar
  19. Eshuis, R. 2002. Semantics and verification of UML activity diagrams for workflow modelling. Ph.D. thesis, Centre for Telematics and Information Technology, University of Twente. Available at http://www.ctit.utwente.nl/library/phd/eshuis.pdf.Google ScholarGoogle Scholar
  20. Eshuis, R., Jansen, D., and Wieringa, R. 2002. Requirements-level semantics and model checking of object-oriented statecharts. Requirements Eng. J. 7, 243--263.Google ScholarGoogle Scholar
  21. Eshuis, R. and Wieringa, R. 2001a. An execution algorithm for UML activity graphs. In Proceedings of ≪UML≫ 2001, M. Gogolla and C. Kobryn, Eds. Lecture Notes in Computer Science 2185. Springer, 47--61. Google ScholarGoogle Scholar
  22. Eshuis, R. and Wieringa, R. 2001b. A real-time execution semantics for UML activity diagrams. In Proceedings of Fundamental Approaches to Software Engineering (FASE 2001), H. Hussmann, Ed. Lecture Notes in Computer Science 2029. Springer, 76--90. Google ScholarGoogle Scholar
  23. Eshuis, R. and Wieringa, R. 2002. Verification support for workflow design with UML activity graphs. In Proceedings of the International Conference on Software Engineering (ICSE 2002). ACM Press, 166--176. Google ScholarGoogle Scholar
  24. Eshuis, R. and Wieringa, R. 2003. Comparing Petri net and activity diagram variants for workflow modelling---a quest for reactive Petri nets. In Petri Net Technology for Communication Based Systems, H. Ehrig, W. Reisig, G. Rozenberg, and H. Weber, Eds. Lecture Notes in Computer Science 2472. Springer, 321--351.Google ScholarGoogle Scholar
  25. Eshuis, R. and Wieringa, R. 2004. Tool support for verifying UML activity diagrams. IEEE Trans. Soft. Eng. 30, 7, 437--447. Google ScholarGoogle Scholar
  26. Grefen, P., Pernici, B., and Sánchez, G. 1999. Database Support for Workflow Management: the WIDE Project. Kluwer Academic Publishers. Google ScholarGoogle Scholar
  27. Harel, D. 1987. Statecharts: A visual formalizm for complex systems. Sci. Comput. Prog. 8, 3, 231--274. Google ScholarGoogle Scholar
  28. Harel, D. and Naamad, A. 1996. The STATEMATE Semantics of Statecharts. ACM Trans. Soft. Eng. Metho. 5, 4, 293--333. Google ScholarGoogle Scholar
  29. Hausmann, J., Heckel, R., and Täntzer, G. 2002. Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation. In Proceedings of the International Conference on Software Engineering (ICSE 2002). ACM Press, 105--115. Google ScholarGoogle Scholar
  30. Holzmann, G. 1997. The model checker SPIN. IEEE Trans. Soft. Eng. 23, 5, 279--295. Google ScholarGoogle Scholar
  31. Inverardi, P., Muccini, H., and Pelliccione, P. 2001. Automated Check of Architectural Models Consistency using SPIN. In Proceedings of the Automated Software Engineering Conference (ASE 2001). IEEE Computer Society, 346--349. Google ScholarGoogle Scholar
  32. Kesten, Y., Pnueli, A., and Raviv, L. 1998. Algorithmic verification of linear temporal logic specifications. In Proceedings of the International Colloquium on Automata, Languages and Programming (ICALP'98), K. Larsen, S. Skyum, and G. Winskel, Eds. Lecture Notes in Computer Science 1443. Springer, 1--16. Google ScholarGoogle Scholar
  33. Lamport, L. 1983. What good is temporal logic? In Proceedings of the IFIP Congress on Information Processing, R.E.A. Mason, Ed. North-Holland, 657--667.Google ScholarGoogle Scholar
  34. Latella, D., Majzik, I., and Massink, M. 1999. Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Formal Aspects of Computing 11, 6, 637--664.Google ScholarGoogle Scholar
  35. Lilius, J. and Paltor, I. P. 1999. Formalizing UML state machines for model checking. In Proceedings of ≪UML≫ 2001, R. France and B. Rumpe, Eds. Lecture Notes in Computer Science 1723. Springer, 430--445. Google ScholarGoogle Scholar
  36. Manna, Z. and Pnueli, A. 1992. The Temporal Logic of Reactive and Concurrent Systems. Springer. Google ScholarGoogle Scholar
  37. McMillan, K. 1993. Symbolic Model Checking. Kluwer Academic Publishers. Google ScholarGoogle Scholar
  38. MIT. MIT process handbook. http://ccs.mit.edu/ph.Google ScholarGoogle Scholar
  39. Murata, T. 1989. Petri nets: Properties, analysis, and applications. In Proceedings of the IEEE 77, 4, 541--580.Google ScholarGoogle Scholar
  40. No Magic, Inc. MagicDraw. http://www.magicdraw.com.Google ScholarGoogle Scholar
  41. Paech, B. 1999. On the role of activity diagrams in UML: A user task centered development process for UML. In Proceedings of ≪UML'98≫, J. Bézivin and P.-A. Muller, Eds. Vol. Lecture Notes in Computer Science 1618. Springer, 267--277. Google ScholarGoogle Scholar
  42. Peled, D. 1993. All from one, one from all: on model checking using representatives. In Proceedings of the International Conference on Computer Aided Verification (CAV'93). Lexture Notes in Computer Science 697. Springer-Verlag, 409--423. Google ScholarGoogle Scholar
  43. Peled, D. 1997. On projective and separable properties. Theor. Comput. Sci. 186, 1-2, 135--156. Google ScholarGoogle Scholar
  44. Pnueli, A. and Shahar, E. 1996. A platform combining deductive with algorithmic verification. In Proceedings of the International Conference on Computer Aided Verification (CAV '96), R. Alur and T.A. Henzinger, Eds. Lecture Notes in Computer Science 1102. Springer, 184--195. Google ScholarGoogle Scholar
  45. RosettaNet consortium. RosettaNet. http://www.rosettanet.org.Google ScholarGoogle Scholar
  46. Schäfer, T., Knapp, A., and Merz, S. 2001. Model checking UML state machines and collaborations. In Proceedings of the Workshop on Software Model Checking, S. Stoller and W. Visser, Eds. Electronic Notes in Theoretical Computer Science 55, 3.Google ScholarGoogle Scholar
  47. Selic, B. 2001. Physical programming: Beyond mere logic. In Proceedings of Fundamental Approaches to Software Engineering (FASE 2001), H. Hussmann, Ed. Lecture Notes in Computer Science 2029. Springer, 1. Google ScholarGoogle Scholar
  48. TCM 2005. Toolkit for conceptual modeling (TCM). Available at http://www.cs.utwente.nl/~tcm.Google ScholarGoogle Scholar
  49. UML Revision Taskforce. 2003a. OMG UML Specification v. 1.5. Object Management Group. OMG Document Number formal/2003-03-01. Available at http://www.omg.org.Google ScholarGoogle Scholar
  50. UML Revision Taskforce. 2003b. UML 2.0 Superstructure Specification. Object Management Group. OMG Document Number ptc/03-07-06. Available at http://www.omg.org.Google ScholarGoogle Scholar
  51. UN/CEFACT and OASIS. ebXML. http://www.ebxml.org.Google ScholarGoogle Scholar
  52. Yang, J., Mok, A., and Wang, F. 1997. Symbolic model checking for event-driven real-time systems. ACM Trans. Prog. Lang. Syst. 19, 2, 386--412. Google ScholarGoogle Scholar

Index Terms

  1. Symbolic model checking of UML activity diagrams

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Software Engineering and Methodology
              ACM Transactions on Software Engineering and Methodology  Volume 15, Issue 1
              January 2006
              122 pages
              ISSN:1049-331X
              EISSN:1557-7392
              DOI:10.1145/1125808
              Issue’s Table of Contents

              Copyright © 2006 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 January 2006
              Published in tosem Volume 15, Issue 1

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader