Component-Based Development of Dependable Systems with UML

  • Jan Jürjens
  • Stefan Wagner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3778)


Dependable systems have to be developed carefully to prevent loss of life and resources due to system failures. Some of their mechanisms (for example, providing fault-tolerance) can be complicated to design and use correctly in the system context and are thus error-prone. This chapter gives an overview of reliability-related analyzes for the design of component-based software systems. This enables the identification of failure-prone components using complexity metrics and the operational profile, and the checking of reliability requirements using stereotypes. We report on the implementation of checks in a tool inside a framework for tool-supported development of reliable systems with UML and two case studies to validate the metrics and checks.


State Machine Reliability Requirement Metrics Suite Cyclomatic Complexity Redundancy Model 
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.
    Atkinson, C., Bunse, C., Wüst, J.: Driving component-based software development through quality modelling. In: Cechich, A., Piattini, M., Vallecillo, A. (eds.) Component-Based Software Quality. LNCS, vol. 2693, pp. 207-224. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Basili, V.R., Briand, L.C., Melo, W.L.: A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Trans. Software Eng. 22(10), 751-761 (1996)CrossRefGoogle Scholar
  3. 3.
    Bharadwaj, R., Heitmeyer, C.: Developing high assurance avionics systems with the SCR requirements method. In: 19th Digital Avionics Systems Conference (2000)Google Scholar
  4. 4.
    Blundell, J.K., Hines, M.L., Stach, J.: The Measurement of Software Design Quality. Annals of Software Engineering 4, 235–255 (1997)CrossRefGoogle Scholar
  5. 5.
    Bondavalli, M., Dal Cin, D., Latella, I., Majzik, A.: Dependability analysis in the early phases of UML based system design. Journal of Computer Systems Science and Engineering 16, 265-275 (2001)Google Scholar
  6. 6.
    Card, D.N., Agresti, W.W.: Measuring Software Design Complexity. The Journal of Systems and Software 8, 185–197 (1988)CrossRefGoogle Scholar
  7. 7.
    Chidamber, S.R., Kemerer, C.F.: AMetrics Suite for Object Oriented Design. IEEE Trans. Software Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  8. 8.
    Dutertre, B., Stavridou, V.: A model of noninterference for integrating mixed-criticality software components. In: DCCA, San Jose, CA (January 1999)Google Scholar
  9. 9.
    Mayday: System Specifications. The ENTERPRISE Program (1997) (October 2004), Available at
  10. 10.
    Colorado Mayday Final Report. The ENTERPRISE Program (1998) (October 2004), Available at
  11. 11.
    Fenton, N.E., Pfleeger, S.L.: A Rigorous Practical Approach, 2nd edn. International Thomson Publishing (1997)Google Scholar
  12. 12.
    Halstead, M.H.: Elements of Software Science. Elsevier, North-Holland, Amsterdam (1977)zbMATHGoogle Scholar
  13. 13.
    Hansen, K., Gullesen, I.: Utilizing UML and patterns for safety critical systems. In: Jürjens et al. [22], pp. 147–154Google Scholar
  14. 14.
    Heiner, M., Heisel, M.: Modeling safety-critical systems with Z and Petri Nets. In: Felici, M., Kanoun, K., Pasquini, A. (eds.) SAFECOMP 1999. LNCS, vol. 1698, pp. 361-374. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    Heitmeyer, C., Jeffords, R., Labaw, B.: Automated consistency checking of requirements specifications. ACM Trans. on Software Eng. and Methodology 5(3), 231-261 (1996)CrossRefGoogle Scholar
  16. 16.
    Henry, S., Kafura, D.: Software Structure Metrics Based on Information Flow. IEEE Trans. Software Engineering 7, 510-518 (1981)CrossRefGoogle Scholar
  17. 17.
    Henry, S., Selig, C.: Predicting Source-Code Complexity at the Design Stage. IEEE Software 7, 36-44 (1990)CrossRefGoogle Scholar
  18. 18.
    Huber, F., Schätz, B., Schmidt, A., Spies, K.: AutoFocus: A tool for distributed systems specification. In: Jonsson, B., Parrow, J. (eds.) FTRTFT 1996. LNCS, vol. 1135, pp. 467–470. Springer, Heidelberg (1996)Google Scholar
  19. 19.
    Jürjens, J.: Critical systems development with UML and model-based testing. In: Anderson, S., Felici, M., Littlewood, B. (eds.) SAFECOMP 2003. LNCS, vol. 2788, Springer, Heidelberg (2003)Google Scholar
  20. 20.
    Jürjens, J.: Developing safety-critical systems with UML. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 360–372. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Jürjens, J.: Secure Systems Development with UML. Springer, Heidelberg (2004)Google Scholar
  22. 22.
    Jürjens, J., Cengarle, V., Fernandez, E.B., Rumpe, B., Sandner, R. (eds.): Critical Systems Development with UML, number TUM-I0208 in TU München Technical Report, UML 2002 satellite workshop proceedings (2002)Google Scholar
  23. 23.
    J. Jürjens, B. Rumpe, R. France, and E.B. Fernandez, editors. Critical Systems Development with UML, number TUM-I0317 in TU München Technical Report, 2003. UML’03 satellite workshop proceedings. Google Scholar
  24. 24.
    Jürjens, J., Rumpe, B., France, R., Fernandez, E.B. (eds.): Third International Workshop on Critical Systems Development with UML, TUMünchen Technical Report, UML 2004 satellite workshop proceedings (2004)Google Scholar
  25. 25.
    Khoshgoftaar, T.M., Woodcock, T.G.: Predicting Software Development Errors Using Software Complexity Metrics. IEEE Journal on Selected Areas in Communications 8(2), 253-261 (1990)CrossRefGoogle Scholar
  26. 26.
    Lano, K., Clark, D., Androutsopoulos, K.: Safety and Security Analysis of Object-Oriented Models. In: Anderson, S., Bologna, S., Felici, M. (eds.) SAFECOMP 2002. LNCS, vol. 2434, pp. 82-93. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  27. 27.
    Liggesmeyer, P., Maeckel, O.: Quantifying the reliability of embedded systems by automated analysis. In: International Conference on Dependable Systems and Networks (DSN 2001), pp. 89-96. IEEE Computer Society Press, Los Alamitos (2001)CrossRefGoogle Scholar
  28. 28.
    Mayer, T., Hall, T.: A Critical Analysis of Current OO Design Metrics. Software Quality Journal 8, 97-110 (1999)CrossRefGoogle Scholar
  29. 29.
    McCabe, T.J.: A Complexity Measure. IEEE Trans. Software Engineering 5, 45–50 (1976)Google Scholar
  30. 30.
    Melton, D., Gustafson, J., Bieman, A., Baker, A.: A Mathematical Perspective for Software Measures Research. IEE/BCS Software Engineering Journal 5, 246–254 (1990)CrossRefGoogle Scholar
  31. 31.
    MOST Cooperation. MOST Media Oriented System Transport—Multimedia and Control Networking Technology. MOST Specification Rev. 2.3 (August 2004)Google Scholar
  32. 32.
    Munson, J.C., Khoshgoftaar, T.M.: Software Metrics for Reliability Assessment. In: Lyu, M.R. (ed.) Handbook of Software Reliability Engineering. ch. 12, IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  33. 33.
    Musa, J.D.: Software Reliability Engineering. McGraw-Hill, New York (1999)Google Scholar
  34. 34.
    Musa, J.D., Iannino, A., Okumoto, K.: Software Reliability: Measurement, Prediction, Application. McGraw-Hill, New York (1987)Google Scholar
  35. 35.
    Object Management Group. UML 2.0 Superstructure Final Adopted specification, OMG Document ptc/03-08-02 (August 2003)Google Scholar
  36. 36.
    Pap, Z., Majzik, I., Pataricza, A.: Checking general safety criteria on UML statecharts. In: Voges, U. (ed.) SAFECOMP 2001. LNCS, vol. 2187, pp. 46-55. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  37. 37.
    Prenninger, W., Pretschner, A.: Abstractions forModel-Based Testing. In: Pezze, M. (ed.) Proc. Test and Analysis of Component-based Systems, TACoS 2004 (2004)Google Scholar
  38. 38.
    Pretschner, A., Prenninger, W., Wagner, S., Kühnel, C., Baumgartner, M., Sostawa, B., Zölch, R., Stauner, T.: Zölch, and T. Stauner. One Evaluation of Model-Based Testing and its Automation. In: Proc. 27th International Conference on Software Engineering, ICSE (2005) (to appear)Google Scholar
  39. 39.
    Randimbivololona, F.: Orientations in verification engineering of avionics software. In: Wilhelm, R. (ed.) Informatics – 10 Years Back, 10 Years Ahead, LNCS, pp. 131-137. Springer, Heidelberg (2000)Google Scholar
  40. 40.
    Rosenberg, L., Hammer, T., Shaw, J.: Software Metrics and Reliability. In: Proc. 9th International Symposium on Software Reliability Engineering (ISSRE 1998), IEEE, Los Alamitos (1998)Google Scholar
  41. 41.
    Rushby, J.: Critical system properties: Survey and taxonomy. Reliability Engineering and System Safety 43(2), 189-219 (1994)CrossRefGoogle Scholar
  42. 42.
    Selic, B.: Physical programming: Beyond mere logic. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 399-406. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  43. 43.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. John Wiley & Sons, Chichester (1994)zbMATHGoogle Scholar
  44. 44.
    Selic, B., Rumbaugh, J.: Using UML for modeling complex real-time systems (1998), Available at
  45. 45.
    Wagner, S.: Efficiency Analysis of Defect-Detection Techniques. Technical Report TUMI- 0413, Institut für Informatik, Technische Universität München (2004)Google Scholar
  46. 46.
    Wagner, S.: Reliability Efficiency of Defect-Detection Techniques: A Field Study. In: Suppl. Proc. 15th IEEE International Symposium on Software Reliability Engineering, ISSRE 2004 (2004)Google Scholar
  47. 47.
    Wagner, S., Jürjens, J.: Model-Based Identification of Fault-Prone Components. DraftGoogle Scholar
  48. 48.
    Wang, W.-L., Wu, Y., Chen, M.-H.: An Architecture-Based Software Reliability Model. In: Proc. Pacific Rim International Symposium on Dependable Computing (PRDC 1999), pp. 143–150 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jan Jürjens
    • 1
  • Stefan Wagner
    • 1
  1. 1.Software & Systems EngineeringTechnische Universität MünchenGarchingGermany

Personalised recommendations