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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Muchnick, S.: Advanced Compiler Design and Implementation, 1st edn. Morgan Kaufmann, San Francisco (1997)
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)
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)
Rapps, S., Weyuker, E.J.: Data flow analysis techniques for test data selection. In: Proc. Int. Conf. on Soft. Eng., pp. 272–278 (1982)
Harrold, M., Soffa, M.: Interprocedual data flow testing. In: Proc. Symp. on Soft. Testing, Analysis, and Verification, pp. 158–167 (1989)
Marick, B.: Experience With the Cost of Different Coverage Goals For Testing. In: Proc. Pacific Northwest Soft. Quality Conf., pp. 147–164 (1991)
Jin, Z., Offutt, J.: Coupling-based Criteria for Integration Testing. Soft. Testing, Verification, and Reliability 8(3), 133–154 (1998)
OMG, Unified Modeling Language Specification (v1.3) (1999)
OMG, Unified Modeling Language Specification (v1.5) (2003)
OMG, UML 2.0 Superstructure Final Adopted specification (2003)
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)
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)
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)
Cardoso, J., Sibertin-Blanc, C.: Ordering actions in sequence diagrams of UML. In: Proc. Int. Conf. on Information Technology Interfaces, pp. 3–14 (2001)
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)
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)
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)
Fraikin, F., Leonhardt, T.: SeDiTeC-testing based on sequence diagrams. In: Proc. Int. Conf. on Automated Soft. Eng., pp. 261–266 (2002)
Kleppe, A., Warmer, J., Bast, W. (eds.): MDA Explained: The Model Driven Architecture-Practice and Promise, 1st edn. Addison-Wesley, Reading (2003)
Garg, V.K., Ragunath, M.T.: Concurrent regular expressions and their relationship to Petri nets. Theoretical Computer Science 96(2), 285–304 (1992)
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)
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
Long, D.L., Clarke, L.A.: Task interaction graphs for concurrency analysis. In: Proc. Int. Conf. on Soft. Eng., pp. 44–52 (1989)
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)
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)
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)
Bauer, J.: A control-flow-analysis for multi-threaded java with security applications, Master’s thesis, Universitat des Saarlandes, pp. 97 (2001)
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)
Brauer, W., Reisig, W., Rozenberg, G. (eds.): APN 1986. LNCS, vol. 254. Springer, Heidelberg (1987)
Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison Wesley, Reading (2003)
Rozenberg, G., Salomaa, A.: Handbook of Formal Languages, 1st edn. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)