Abstract
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.
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
AT&T labs, Graphviz (last visited: 2006), www.graphviz.org
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)
Card, D., Glass, R.: Measuring Software Design Quality. Prentice-Hall, Inc., Englewood Cliffs (1990)
Daneels, A., Salter, W.: What is SCADA? In: Proc. of Int. Conf. on Accelerator and Large Experimental Physics Control Systems, pp. 39–343 (1999)
Eisenbarth, T., Koschke, R., Simon, D.: Feature-Driven Program Understanding Using Concept Analysis of Execution Traces. In: Proc. IWPC, pp. 300–309 (2001)
Garousi, V.: BDAnalyzer (2006), squall.sce.carleton.ca/tools/BDAnalyzer
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)
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)
Garousi, V., Briand, L., Labiche, Y.: Traffic-aware Stress Testing of Distributed Systems based on UML Models. In: Proc. ICSE, pp. 391–400 (2006)
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)
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)
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)
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)
Horowitz, S., Reps, T.: The Use of Program Dependence Graphs in Software Engineering. In: Proc. ICSE, pp. 392–411 (1992)
Kaufmann, M., Wagner, D.: Drawing Graphs: Methods and Models. Springer, Heidelberg (2001)
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)
Li, B.: Managing Dependencies in Component-based Systems based on Matrix Model. In: Proc. of Net.ObjectDays Conf., pp. 22–25 (2003)
Object Management Group (OMG), UML 2.0 Superstructure Specification (2005)
Pradhan, D.K.: Fault-tolerant Computer System Design. Prentice-Hall, Englewood Cliffs (1996)
Tsai, J., Bi, Y., Yang, S., Smith, R.: Distributed Real-Time Systems: Monitoring, Visualization, Debugging, and Analysis. John Wiley, Chichester (1996)
Vaurio, J.K.: Treatment of General Dependencies in System Fault-Tree and Risk Analysis. IEEE Transactions on Reliability 51(3), 278–287 (2002)
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)
Xiao, C., Tzerpos, V.: Software Clustering based on Dynamic Dependencies. In: Proc. of European Conf. on Software Maint. and Reeng., pp. 124–133 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garousi, V., Briand, L.C., Labiche, Y. (2006). Analysis and Visualization of Behavioral Dependencies Among Distributed Objects Based on UML Models. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds) Model Driven Engineering Languages and Systems. MODELS 2006. Lecture Notes in Computer Science, vol 4199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11880240_26
Download citation
DOI: https://doi.org/10.1007/11880240_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-45772-5
Online ISBN: 978-3-540-45773-2
eBook Packages: Computer ScienceComputer Science (R0)