Safety Patterns — The Key to Formal Specification of Safety Requirements

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2187)


The use of formal methods increases the trust in the safe operation of software in industrial automation systems. But the use of formal methods in practical software development is rare. One of the reasons lies in the difficulties arising from formal specification of safety requirements by common software engineers who are not experts in logic. In this paper an approach is presented, in which the difficulties are overcame by the use of formal specification patterns. The main advantage in comparison to other approaches is that the specification patterns transfer expert knowledge. Therefore this approach not only helps in using formal methods, it also supports in learning the practical application of formal specification languages for safety requirements specification. The patterns are called “safety patterns” because they are developed for the formal specification of requirements special in context of safety.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bitsch, F.: Classification of Safety Requirements for Formal Verification of Software Models of Industrial Automation Systems, In Proceedings of 13th International Conference Software and Systems Engineering and Applications (ICSSEA) 2000, CNAM-Paris.Google Scholar
  2. 2.
    Bitsch, F., Canver, E., Moik, A.: Strukturierte Erstellung von Sicherheitsspezifikationen in UML mit Hilfe der FMEA-Methode, Forms’ 99-Formale Techniken für die Eisenbahnsicherung, Hrsg. E. Schnieder, Fortschritt-Berichte VDI, Reihe 12, Verkehrstechnik/Fahrzeugtechnik, Nr.436, VDI Verlag GmbH, Düsseldorf 2000, S. 225–245.Google Scholar
  3. 3.
    Bitsch, F.: Formal Specification Patterns for Safety Requirements,, 2001.
  4. 4.
    Canver, E.: Einsatz von Model-Checking zur Analyse von MSCs über Statecharts, Ulmer Informatik Berichte, Nr. 99-04, Universität Ulm, 05/1999.Google Scholar
  5. 5.
    Chan, W. et al.: Optimizing Symbolic Model Checking for Statecharts, IEEE Transactions on Software Engineering, Vol. 27, No. 2, February 2001.Google Scholar
  6. 6.
    Damm, W.; Harel., D.: LSCs: Breathing Life into Message Sequence Charts, In FMOODS’99 IFIP TC6/WG6.1 Third International Conference on Formal Methods for Open Object-Based Distributed Systems, 1999.Google Scholar
  7. 7.
    Dillon, L.K., Moser, L.E. et al.: A graphical interval logic for specifying concurrent systems, ACM Transactions on Software Engineering and Methodology, 3(2): 131–165, Apr. 1994.CrossRefGoogle Scholar
  8. 8.
    DIN VDE 31000 Teil 2, Begriffe der Sicherheitstechnik: Grundbegriffe.Google Scholar
  9. 9.
    Dwyer, M.B., Avrunin, G.S., Corbett J.C.: Property Specification Patterns for Finite-state Verification, in the 2nd Workshop on Formal Methods in Software Practice, March, 1998.Google Scholar
  10. 10.
    Dwyer, M.B., et al.: Patterns in Property Specification for Finite-state Verification, in Proceedings of the 21st International Conference on Software Engineering, May, 1999.Google Scholar
  11. 11.
    Flake, S., Müller W. and Ruf J.: Structures English for Specification in Model Checking, in Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, pp. 91–100. GI/ITG/GMM Workshop, Frankfurt, March 2000.Google Scholar
  12. 12.
    Gamma, E. et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Massachusetts, 1994.Google Scholar
  13. 13.
    Göhner, P.: Spezifikation und Verifikation von sicheren Softwaresystemen, atp, pp. 24–31, 4/1995.Google Scholar
  14. 14.
    Grams, T.: Reliability and Safety, Table of Terms and Definitions,
  15. 15.
    Heimdahl, M.P.E., Heitmeyer, C.L.: Formal Methods for Developing High Assurance Computer Systems: Working Group Report, Proceedings, Second IEEE Workshop on Industrial-Strength Formal Techniques (WIFT’98), Boca Raton, FL, Oct. 19, 1998.Google Scholar
  16. 16.
    Heitmeyer, C.L.: SCR: A Practical Method for Requirements Specification; Proc., 17th AIAA/IEEE/SAE Digital Avionics System Conference (DASC), Bellevue, WA, Oct. 31-Nov. 7, 1998.Google Scholar
  17. 17.
    Heitmeyer, C.L.: On the Need for ‘Practical’ Formal Methods; Formal Techniques in Real-Time and Real-Time Fault-Tolerant Systems, Proc., 5th Intern. Symposium (FTRTFT’98), Lyngby, Denmark, September 14-18, 1998, LICS 1486, pp. 18–26.Google Scholar
  18. 18.
    Holt, A.: Formal verification with natural language specifications: guidelines, experiments and lessons so far, South African Computer Journal, No 24, November 1999, pp. 253–257.Google Scholar
  19. 19.
    Huth, M, Ryan, M.: Logic in Computer Science-Modelling and reasoning about systems, Cambridge University press, Cambridge, 2000.zbMATHGoogle Scholar
  20. 20.
    Lamport, L.: The Temporal Logic of Actions. SRC Research Report 79, ACM Transactions on Programming Language and Systems 16(3): 872–923, 05/1994.CrossRefGoogle Scholar
  21. 21.
    Lamport, L.: Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering, SE-3(2):125–143, 1977.CrossRefMathSciNetGoogle Scholar
  22. 22.
    Lauber, R., Göhner, P.: Prozessautomatisierung 1, 3. Auflage, Springer Verlag, Berlin, Heidelberg, New York, 1998.Google Scholar
  23. 23.
    Leveson, N.: Safeware-System, Safety and Computers, Addison-Wesley Publishing Company, Massachusetts, Bonn, 1995.Google Scholar
  24. 24.
    Lowrance, W.W.: Of Acceptable Risk: Science and the Determination of Safety, William Kaufmann, Inc., Los Altos, Clif., 1976.Google Scholar
  25. 25.
    Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems-Safety, Springer Verlag, NewYork, 1995.Google Scholar
  26. 26.
    Moser, L.E., et al.: The Real-Time Graphical Interval Logic Toolset, In Proceedings of the Conference on Computer-Aided Verification, New Brunswick, NJ, July/August 1996.Google Scholar
  27. 27.
    McMillan, K.L.: The SMV system. Carnegie-Mellon University, Pittsburgh, PA, 2 February 1992.
  28. 28.
    Progress Report of the DFG project SafeRail: Integration von Methoden zur Spezifikation und Verifikation von Sicherungseinrichtungen im spurgeführten Verkehr, Project of the focus area program (1064) on the “Integration of Specification Techniques with Applications in Engineering”, 03/2000.Google Scholar
  29. 29.
    Redmill, F.J. (ed.): Dependability of Critical Computer Systems 2, Elsevier Applied Science, London and New York, 1989.Google Scholar
  30. 30.
    Schlör, R., Josko, B., Werth D.: Using a visual formalism for design verification in industrial environments, In VISUAL’98, Lecture Notes in Computer Science 1385, pages 208–221. Springer-Verlag, Berlin, Heidelberg, 1998.Google Scholar
  31. 31.
    Schlör, R.; Damm, W.: Specification and verification of system-level hardware designs using timing diagrams, In Proceedings, The European Conference on Design Automation, IEEE Computer Society Press, pages 518–524, Paris, France, 1993.Google Scholar
  32. 32.
    Villa, T., Swamy, G., Shiple, T.: VIS User’s Manual, The VIS Group, University of California, Berkeley.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  1. 1.Institute of Industrial Automation and Software EngineeringUniversity of StuttgartStuttgartGermany

Personalised recommendations