Developing Safety-Critical Systems with UML

  • Jan Jürjens
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2863)


Safety-critical 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.

We show how one can use UML for model-based development of safety-critical systems with the aim to increase the quality of the developed systems without an unacceptable increase in cost and time-to-market. Specifically, we describe how to use the UML extension mechanisms to include safety-requirements in a UML model which is then analyzed for satisfaction of the requirements. The approach can thus be used to encapsulate safety engineering knowledge. It is supported by a prototypical XMI-based tool performing the analysis.


Safety Level Safety Requirement Execution Trace Safe Behavior Error Object 
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. [BCR00]
    Börger, E., Cavarra, A., Riccobene, E.: Modeling the dynamics of UML State Machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 223–241. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  2. [BHL+02]
    Blotz, A., Huber, F., Lötzbeyer, H., Pretschner, A., Slotosch, O., Zängerl, H.P.: Model-based software engineering and Ada: Synergy for the development of safety-critical systems. In: Ada Deutschland 2002 (2002)Google Scholar
  3. [DS99]
    Dutertre, B., Stavridou, V.: A model of noninterference for integrating mixed-criticality software components. In: DCCA, San Jose, CA (January 1999)Google Scholar
  4. [Hel98]
    Helmer, G.: Safety checklist for four-variable requirements methods. Technical Report 98-01, Iowa State University Department of Computer Science (1998)Google Scholar
  5. [HG02]
    Hansen, K., Gullesen, I.: Utilizing UML and patterns for safety critical systems. In: Jürjens et al. [JCF + 02]Google Scholar
  6. [HJL96]
    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
  7. [JCF+02]
    Jürjens, J., Cengarle, V., Fernandez, E., Rumpe, B., Sandner, R. (eds.): Critical Systems Development with UML, number TUM-I 0208 in TUM technical report, UML 2002 satellite workshop proceedings (2002)Google Scholar
  8. [Jür02]
    Jürjens, J.: Critical Systems Development with UML. In: Forum on Design Languages, Marseille, September 24–27 (2002); European Electronic Chips & Systems design Initiative (ECSI) (invited talk)Google Scholar
  9. [Jür03a]
    Jürjens, J.: Critical Systems Development with UML. In: Series of tutorials at 20 international conferences including SAFECOMP, ETAPS 2003, Formal Methods Europe (2003),
  10. [Jür03b]
    Jürjens, J.: Developing safety- and security-critical systems with UML. In: DARP workshop, Loughborough, May 7-8 (2003) (invited talk)Google Scholar
  11. [Jür03c]
    Jürjens, J.: Secure Systems Development with UML. Springer, Heidelberg (2003) (in preparation)Google Scholar
  12. [LCAK00]
    Lano, K., Clark, D., Androutsopoulos, K., Kan, P.: Invariant-based synthesis of fault-tolerant systems. In: Joseph, M. (ed.) FTRTFT 2000. LNCS, vol. 1926, pp. 46–57. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. [Lut96]
    Lutz, R.: Targeting safety-related errors during software requirements analysis. The Journal of Systems and Software 34, 223–230 (1996)CrossRefGoogle Scholar
  14. [PMP01]
    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
  15. [Ran00]
    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
  16. [Rus94]
    Rushby, J.: Critical system properties: Survey and taxonomy. Reliability Engineering and System Safety 43(2), 189–219 (1994)CrossRefGoogle Scholar
  17. [SC02]
    Santander, V., Castro, J.: Deriving use cases from organizational modeling. In: RE 2002, pp. 32–42 (2002)Google Scholar
  18. [Sel02]
    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
  19. [SP00]
    Stevens, P., Pooley, R.: Using UML. Addison-Wesley, Reading (2000)Google Scholar
  20. [SR98]
    Selic, B., Rumbaugh, J.: Using UML for modeling complex real-time systems (1998)Google Scholar
  21. [UML01]
    UML Revision Task Force. OMG UML Specification v. 1.4. OMG Document ad/01-09-67 (2001), Available at
  22. [vL01]
    van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: RE 2001 - 5th IEEE International Symposium on Requirements Engineering, Toronto, August 2001, pp. 249–263 (2001) (invited paper)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jan Jürjens
    • 1
  1. 1.Software & Systems EngineeringTU MunichGermany

Personalised recommendations