Skip to main content
Log in

Incorporating message weights in UML-based analysis of behavioral dependencies in distributed systems

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Behavioral dependency analysis (BDA) and the visualization of dependency information have been identified as a high priority in industrial software systems (in specific, distributed systems). BDA determines the extent to which the functionality of one system entity (e.g., an object or a node) depends on other entities. Among many uses, a BDA is used to perform risk analysis and assessment, load planning, fault tolerance and redundancy provisions in distributed systems. 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 proposed in a previous work a metric, referred to as dependency index (DI), for the BDA of distributed objects and nodes based on UML behavioral models (sequence diagrams). However, in our previous BDA work, for simplicity, it was assumed that all messages are equivalent in terms of the dependencies they entail. However, to perform a more realistic BDA on real-world systems, messages must be weighted, e.g., certain messages may be more critical (or important) than others, and thus entail more intensive dependency. To address the above need, we define in this article a family of new BDA metrics, as extensions to our basic DI metric, based on different weighting mechanisms. Through an example application of the proposed metrics, we show that they can be used to predict more realistic dependency information. Furthermore, we derive interesting observations from our dependency analysis that would influence, in practice, practical decisions, which could not have been easily derived without it, e.g., we come up with a suggestion to install more reliable data-transmission network links between two nodes to ensure a reliable communication on links with intensive dependencies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Abbreviations

asa:

Automatic system agent

BDA:

Behavioral dependency analysis

CDG:

Component dependency graph

CFP:

Control flow path

DI:

Dependency index

DICRVU:

Dependency index based on criticality of return value usages

DIMC:

Dependency index based on message criticality

DINOO:

Dependency index based on number of objects

DINRVU:

Dependency index based on number of Return values usage

DIOP:

Dependency index based on operational profiles

DISOD:

Dependency index based on size of data

EER:

Expected execution rate

GDI:

Global dependency index

HDG:

Hierarchical dependency graph

MBBDA:

Model-based behavioral dependency analysis

PDG:

Port dependence graph

SD:

Sequence diagram

SRI:

Service role index

References

  1. Tsai J., Bi Y., Yang S., Smith R.: Distributed Real-Time Systems: Monitoring, Visualization, Debugging, and Analysis. Wiley, New York (1996)

    MATH  Google Scholar 

  2. 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: Proceedings of International Conference on Software Engineering, pp. 160–173 (2003)

  3. Vaurio J.K.: Treatment of general dependencies in system fault-tree and risk analysis. IEEE Trans. Reliab. 51(3), 278–287 (2002)

    Article  Google Scholar 

  4. Pradhan D.K.: Fault-tolerant computer system design. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  5. Xiao, C., Tzerpos, V.: Software clustering based on dynamic dependencies. In: Proceedings of European Conference on Software Maint. and Reeng., pp. 124–133 (2005)

  6. Horowitz, S., Reps, T.: The use of program dependence graphs in software engineering. In: Proceedings of International Conference on Software Engineering, pp. 392–411 (1992)

  7. Li, B.: Managing dependencies in component-based systems based on matrix model. In: Proceedings of Net.ObjectDays Conference, pp. 22–25 (2003)

  8. Eisenbarth, T., Koschke, R., Simon, D.: Feature-driven program understanding using concept analysis of execution traces. In: Proceedings of International Workshop on Program Comprehension, pp. 300–309 (2001)

  9. Harrold, M., Rothermel, G., Sinha, S.: Computation of interprocedural control dependence. In: Proceedings of International Symposium on Software Testing and Analysis, pp 11–20 (1998)

  10. Garousi, V., Briand, L., Labiche, Y.: Analysis and visualization of behavioral dependencies among distributed objects based on UML models. In: Proceedings of ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 365–379 (2006)

  11. Object Management Group (OMG): UML 2.1.2 Superstructure Specification (2007)

  12. 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: Proceedings of Real-Time and Embedded Technology and Applications Symposium, pp. 78–85 (2003)

  13. Jones C.: Software change management. IEEE Comput. 29(2), 80–82 (1996)

    Google Scholar 

  14. Bondavalli A., Cin M.D., Latella D., Majzik I., Pataricza A., Savoia G.: Dependability analysis in the early phases of UML-based system design. Int. J. Comput. Syst. Sci. Eng. 5, 265–275 (2001)

    Google Scholar 

  15. Cortellessa, V., Singh, H., Cukic, B.: Early reliability assessment of UML-based software models. In: Proceedings of International Workshop on Software and Performance, pp. 302–309 (2002)

  16. Garousi, V.: Traffic-aware stress testing of distributed real-time systems based on uml models in the presence of time uncertainty. In: Proceedings of IEEE International Conference on Software Testing, Verification and Validation, pp. 92–101 (2008)

  17. Garousi, V., Briand, L., Labiche, Y.: A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems. J. Softw. Syst. Model. (SoSyM) (to appear) (2008)

  18. Cox, L., Delugach, H.S., Skipper, D.: Dependency analysis using conceptual graphs. In: Proceedings of International Conference on Conceptual Structures, pp. 117–130 (2001)

  19. Keller, A., Blumenthal, U., Kar, G.: Classification and computation of dependencies for distributed management. In: Proceedings of the Symposium on Computers and Communications, pp. 78–83 (2000)

  20. Chen, Z., Xu, B., Yang, H., Liu, K., Zhang, J.: An approach to analyzing dependency of concurrent programs. In: Proceedings of Asia–Pacific Conference on Quality Software, pp. 34–39 (2000)

  21. Cheng J.: Slicing concurrent programs, a graph-theoretical approach. Lect. Notes Comput. Sci. 749, 223–240 (1993)

    Article  Google Scholar 

  22. Systä, T.: On the relationships between static and dynamic models in reverse engineering Java software. In: Proceedings of the Working Conference on Reverse Engineering, pp. 304–313 (1999)

  23. Brown, A., Kar, G., Keller, A.: An active approach to characterizing dynamic dependencies for problem determination in a distributed environment. In: Proceedings of International Symposium on Integrated Network Management, pp. 377–390 (2001)

  24. 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)

  25. Dzidek J., Arisholm E., Briand L.C.: A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng. 34(3), 407–432 (2008)

    Article  Google Scholar 

  26. Gittens, M.S.: The Extended operational profile model for usage-based software testing. Doctoral Thesis, University of Western Ontario, Canada (2004)

  27. Garousi, V., Briand, L., Labiche, Y.: Traffic-aware stress testing of distributed systems based on UML models. In: Proceedings of International Conference on Software Engineering, pp. 391–400 (2006)

  28. Object Management Group (OMG): UML profile for schedulability, performance, and time (v1.0) (2003)

  29. Garousi, V., Briand, L., Labiche, Y.: Control flow analysis of UML 2.0 sequence diagrams. In: Proceedings of the European Conference on Model Driven Architecture-Foundations and Applications, Lecture Notes in Computer Science, vol. 3748, pp. 160–174 (2005)

  30. Fosdick L.D., Osterweil L.J.: Data flow analysis in software reliability. ACM Comput. Surv. 8(3), 305–330 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  31. Grady R., Caswell D.: Software Metrics: Establishing a Company-Wide Program. Prentice-Hall, Englewood Cliffs (1987)

    Google Scholar 

  32. Card D., Glass R.: Measuring Software Design Quality. Prentice-Hall, Englewood Cliffs (1990)

    Google Scholar 

  33. Garousi, V.: BDAnalyzer. http://www.enel.ucalgary.ca/~vgarousi/tools/BDAnalyzer, (2006)

  34. Object Management Group (OMG): UML 2.0 Superstructure Specification (2005)

  35. AT&T labs: Graphviz (2006). http://www.graphviz.org

  36. Daneels, A., Salter, W.: What is SCADA? In: Proceedings of International Conference on Accelerator and Large Experimental Physics Control Systems, pp. 39–343 (1999)

  37. 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)

  38. Ishida, T., Yokoi, H., Kakazu, Y.: Emergence of adaptive society with competitive selfish agents. In: Proceedings of European Conference on Advances in Artificial Life, pp. 555–559 (1999)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vahid Garousi.

Additional information

Communicated by Prof. Roel J. Wieringa.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Garousi, V. Incorporating message weights in UML-based analysis of behavioral dependencies in distributed systems. Softw Syst Model 9, 113–137 (2010). https://doi.org/10.1007/s10270-008-0111-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0111-2

Keywords

Navigation