Analysis and Visualization of Behavioral Dependencies Among Distributed Objects Based on UML Models

  • Vahid Garousi
  • Lionel C. Briand
  • Yvan Labiche
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


The development of Behavioral Dependency Analysis (BDA) techniques and the visualization of such dependencies have been identified as a high priority in industrial Distributed Real-Time Systems (DRTS). BDA determines the extent to which the functionality of one system entity (e.g., an object, a node) is dependent on other entities. Among many uses, a BDA is traditionally used to perform risk analysis and assessment, fault tolerance and redundancy provisions (e.g. multiple instances of a system entity) in DRTS. Traditionally, most BDA techniques are based on source code or execution traces of a system. However, as model driven development is gaining more popularity, there is a need for model-based BDA techniques. To address this need, we propose a set of procedures and measures for the BDA of distributed objects based on behavioral models (UML sequence diagrams). In contrast to the conventional code-based and execution-trace-based BDA techniques, this measure can be used earlier in the software development life cycle, when the UML design model of a system becomes available, to provide engineers with early insights into dependencies among entities in a DRTS (e.g., early risk identification). We also present a dependency visualization model to visualize measured dependencies. Our approach is applied to a case study to show its applicability and potential usefulness in predicting behavioral dependencies based on UML models.


Execution Trace Reply Message System Entity Dependency Index Asynchronous Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    AT&T labs, Graphviz (last visited: 2006),
  2. 2.
    Briand, L., Labiche, Y., O’Sullivan, L., Sowka, M.: Automated Impact Analysis of UML Models. Journal of Systems and Software 79(3), 339–352 (2006)CrossRefGoogle Scholar
  3. 3.
    Card, D., Glass, R.: Measuring Software Design Quality. Prentice-Hall, Inc., Englewood Cliffs (1990)Google Scholar
  4. 4.
    Daneels, A., Salter, W.: What is SCADA? In: Proc. of Int. Conf. on Accelerator and Large Experimental Physics Control Systems, pp. 39–343 (1999)Google Scholar
  5. 5.
    Eisenbarth, T., Koschke, R., Simon, D.: Feature-Driven Program Understanding Using Concept Analysis of Execution Traces. In: Proc. IWPC, pp. 300–309 (2001)Google Scholar
  6. 6.
    Garousi, V.: BDAnalyzer (2006),
  7. 7.
    Garousi, V., Briand, L., Labiche, Y.: Analysis and Visualization of Behavioral Dependencies among Distributed Objects based on UML Models, Technical Report SCE-06-03, Carleton University (March 2006)Google Scholar
  8. 8.
    Garousi, V., Briand, L., Labiche, Y.: Control Flow Analysis of UML 2.0 Sequence Diagrams. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 160–174. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Garousi, V., Briand, L., Labiche, Y.: Traffic-aware Stress Testing of Distributed Systems based on UML Models. In: Proc. ICSE, pp. 391–400 (2006)Google Scholar
  10. 10.
    Garousi, V., Briand, L., Labiche, Y.: Traffic-aware Stress Testing of Distributed Systems based on UML Models, Technical Report SCE-05-13, Carleton University (2005)Google Scholar
  11. 11.
    Gu, Z., Kodase, S., Wang, S., Shin, K.G.: A Model-Based Approach to System-Level Dependency and Real-Time Analysis of Embedded Software. In: Proc. of Real-Time and Embedded Technology and Applications Symp., pp. 78–85 (2003)Google Scholar
  12. 12.
    Harrold, M., Rothermel, G., Sinha, S.: Computation of Interprocedural Control Dependence. In: Proc. of Int. Symp. on Soft. Testing and Analysis, pp. 11–20 (1998)Google Scholar
  13. 13.
    Hatcliff, J., Deng, X., Dwyer, M.B., Jung, G., Ranganath, V.P.: Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems. In: Proc. ICSE, pp. 160–173 (2003)Google Scholar
  14. 14.
    Horowitz, S., Reps, T.: The Use of Program Dependence Graphs in Software Engineering. In: Proc. ICSE, pp. 392–411 (1992)Google Scholar
  15. 15.
    Kaufmann, M., Wagner, D.: Drawing Graphs: Methods and Models. Springer, Heidelberg (2001)MATHCrossRefGoogle Scholar
  16. 16.
    Kochut, A., Kar, G.: Managing Virtual Storage Systems: An Approach using Dependency Analysis. In: Proc. of Symp. on Integrated Network Management, pp. 593–604 (2003)Google Scholar
  17. 17.
    Li, B.: Managing Dependencies in Component-based Systems based on Matrix Model. In: Proc. of Net.ObjectDays Conf., pp. 22–25 (2003)Google Scholar
  18. 18.
    Object Management Group (OMG), UML 2.0 Superstructure Specification (2005)Google Scholar
  19. 19.
    Pradhan, D.K.: Fault-tolerant Computer System Design. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  20. 20.
    Tsai, J., Bi, Y., Yang, S., Smith, R.: Distributed Real-Time Systems: Monitoring, Visualization, Debugging, and Analysis. John Wiley, Chichester (1996)MATHGoogle Scholar
  21. 21.
    Vaurio, J.K.: Treatment of General Dependencies in System Fault-Tree and Risk Analysis. IEEE Transactions on Reliability 51(3), 278–287 (2002)CrossRefGoogle Scholar
  22. 22.
    Vu, X.-H., Sam-Haroud, D., Faltings, B.: Clustering for Disconnected Solution Sets of Numerical CSPs. In: Apt, K.R., Fages, F., Rossi, F., Szeredi, P., Váncza, J. (eds.) CSCLP 2003. LNCS (LNAI), vol. 3010, pp. 25–43. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Xiao, C., Tzerpos, V.: Software Clustering based on Dynamic Dependencies. In: Proc. of European Conf. on Software Maint. and Reeng., pp. 124–133 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Vahid Garousi
    • 1
  • Lionel C. Briand
    • 1
    • 2
  • Yvan Labiche
    • 1
  1. 1.Software Quality Engineering Laboratory (SQUALL), Department of Systems and Computer EngineeringCarleton UniversityOttawaCanada
  2. 2.Department of Software EngineeringSimula Research LaboratoryLysakerNorway

Personalised recommendations