Skip to main content

Control Flow Analysis of UML 2.0 Sequence Diagrams

  • Conference paper
Model Driven Architecture – Foundations and Applications (ECMDA-FA 2005)

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

Abstract

This article presents a control flow analysis methodology based on UML 2.0 sequence diagrams (SD). In contrast to the conventional code-based control flow analysis techniques, this technique can be used earlier in software development life cycle, when the UML design model of a system becomes available. Among many applications, this technique can be used in SD-based test techniques, model comprehension and model execution in the context of MDA. Based on the well-defined UML 2.0 activity diagrams, we propose an extended activity diagram metamodel, referred to as Concurrent Control Flow Graph (CCFG), to support control flow analysis of UML 2.0 sequence diagrams. Our strategy in this article is to define an OCL-based mapping in a formal and verifiable form as consistency rules between a SD and a CCFG, so as to ensure the completeness of the rules and the CCFG metamodel with respect to our control flow analysis purpose and enable their verification. Completeness here means if the CCFG metamodel has all classes and associations needed, and the rules are adequate with respect to our purpose. Furthermore, we define Concurrent Control Flow Paths, which are a generalization of the conventional Control Flow Path concept. The control flow analysis technique is applied to an example SD to demonstrate the feasibility of the approach.

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. Muchnick, S.: Advanced Compiler Design and Implementation, 1st edn. Morgan Kaufmann, San Francisco (1997)

    Google Scholar 

  2. Chusho, A.T.: Test data selection and quality estimation based on the concept of essential branches for path testing. IEEE Tran. on Soft. Eng. 13(5), 509–517 (1987)

    Article  Google Scholar 

  3. Bertolino, A., Marre, M.: Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs. IEEE Tran. on Soft. Eng. 20(12), 885–899 (1994)

    Article  Google Scholar 

  4. Rapps, S., Weyuker, E.J.: Data flow analysis techniques for test data selection. In: Proc. Int. Conf. on Soft. Eng., pp. 272–278 (1982)

    Google Scholar 

  5. Harrold, M., Soffa, M.: Interprocedual data flow testing. In: Proc. Symp. on Soft. Testing, Analysis, and Verification, pp. 158–167 (1989)

    Google Scholar 

  6. Marick, B.: Experience With the Cost of Different Coverage Goals For Testing. In: Proc. Pacific Northwest Soft. Quality Conf., pp. 147–164 (1991)

    Google Scholar 

  7. Jin, Z., Offutt, J.: Coupling-based Criteria for Integration Testing. Soft. Testing, Verification, and Reliability 8(3), 133–154 (1998)

    Article  Google Scholar 

  8. OMG, Unified Modeling Language Specification (v1.3) (1999)

    Google Scholar 

  9. OMG, Unified Modeling Language Specification (v1.5) (2003)

    Google Scholar 

  10. OMG, UML 2.0 Superstructure Final Adopted specification (2003)

    Google Scholar 

  11. Okazaki, M., Aoki, T., Katayama, T.: Formalizing sequence diagrams and state machines using Concurrent Regular Expression. In: Proc. Int. Workshop on Scenarios and State Machines: Models, Algorithms, and Tools, pp. 74–79 (2003)

    Google Scholar 

  12. Rountev, A., Kagan, S., Sawin, J.: Coverage Criteria for Testing of Object Interactions in Sequence Diagrams. In: Proc. Conf. Fundamental Approaches to Soft. Eng., pp. 289–304 (2005)

    Google Scholar 

  13. Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analyzable Petri-net Models. In: Proc. Int. Workshop on Soft. and Performance, pp. 35–45 (2002)

    Google Scholar 

  14. Cardoso, J., Sibertin-Blanc, C.: Ordering actions in sequence diagrams of UML. In: Proc. Int. Conf. on Information Technology Interfaces, pp. 3–14 (2001)

    Google Scholar 

  15. Burd, E., Overy, D., Wheetman, A.: Evaluating Using Animation to Improve Understanding of Sequence Diagrams. In: Proc. Int. Workshop on Program Comprehension, pp. 7–113 (2002)

    Google Scholar 

  16. Wu, Y., Chen, M.-H., Offutt, J.: UML-Based Integration Testing for Component-Based Software. In: Erdogmus, H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, pp. 251–260. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Abdurazik, A., Offutt, J.: Using UML Collaboration Diagrams for Static Checking and Test Generation. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 383–395. Springer, Heidelberg (2000)

    Google Scholar 

  18. Fraikin, F., Leonhardt, T.: SeDiTeC-testing based on sequence diagrams. In: Proc. Int. Conf. on Automated Soft. Eng., pp. 261–266 (2002)

    Google Scholar 

  19. Kleppe, A., Warmer, J., Bast, W. (eds.): MDA Explained: The Model Driven Architecture-Practice and Promise, 1st edn. Addison-Wesley, Reading (2003)

    Google Scholar 

  20. Garg, V.K., Ragunath, M.T.: Concurrent regular expressions and their relationship to Petri nets. Theoretical Computer Science 96(2), 285–304 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  21. Donatelli, S., Franceschinis, G.: 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 

  22. Garousi, V., Briand, L., Labiche, Y.: Control Flow Analysis of UML 2.0 Sequence Diagrams, Technical Report SCE-05-09, Carleton University (2005), http://www.sce.carleton.ca/squall/pubs/tech_report/TR_SCE-05-09.pdf

  23. Long, D.L., Clarke, L.A.: Task interaction graphs for concurrency analysis. In: Proc. Int. Conf. on Soft. Eng., pp. 44–52 (1989)

    Google Scholar 

  24. Chamillard, A.T., Clarke, L.A.: Improving the accuracy of Petri net-based analysis of concurrent programs. In: Proc. Int. Symp. on Soft. testing and analysis, pp. 24–38 (1996)

    Google Scholar 

  25. Krüger, I., Grosu, R., Scholz, P., Broy, M.: From MSCs to Statecharts. In: Proc. Int. Workshop on Distributed and parallel Embedded Systems, pp. 61–71 (1999)

    Google Scholar 

  26. Nielson, H.R., Nielson, F.: Infinitary Control Flow Analysis: a Collecting Semantics for Closure Analysis. In: Symp. on Principles of Programming Languages, pp. 332–345 (1997)

    Google Scholar 

  27. Bauer, J.: A control-flow-analysis for multi-threaded java with security applications, Master’s thesis, Universitat des Saarlandes, pp. 97 (2001)

    Google Scholar 

  28. Blasio, P.D., Fisher, K., Talcott, C.: A Control-Flow Analysis for a Calculus of Concurrent Objects. IEEE Trans. on Soft. Eng. 26(7) (2000)

    Google Scholar 

  29. Brauer, W., Reisig, W., Rozenberg, G. (eds.): APN 1986. LNCS, vol. 254. Springer, Heidelberg (1987)

    Google Scholar 

  30. Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison Wesley, Reading (2003)

    Google Scholar 

  31. Rozenberg, G., Salomaa, A.: Handbook of Formal Languages, 1st edn. Springer, Heidelberg (1997)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Garousi, V., Briand, L.C., Labiche, Y. (2005). Control Flow Analysis of UML 2.0 Sequence Diagrams. In: Hartman, A., Kreische, D. (eds) Model Driven Architecture – Foundations and Applications. ECMDA-FA 2005. Lecture Notes in Computer Science, vol 3748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11581741_13

Download citation

  • DOI: https://doi.org/10.1007/11581741_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30026-7

  • Online ISBN: 978-3-540-32093-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics