Case study “production cell”: A comparative study in formal specification and verification

  • Claus Lewerentz
  • Thomas Lindner
Case Studies
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1009)


This article reports on a case study in formal specification and verification. The task of the case study was to develop a program for controlling a metal-processing industrial production cell ensuring a number of safety and liveness properties.

The system comprises 14 sensors and 13 actuators. It is an example of a safety-critical system, and can be modeled with a finite automaton comprising about 1012 states.

About 30 different methods have been applied to this realistic, but not unduly complex, example. This paper focusses on contributions done withing the KorSo project. The construction of mathematically verified control programs for the production cell demonstrates the usefulness of such methods for guaranteeing properties. The comparative overview given here provides a roadmap for the developer who intends to rely on formal methods for similar applications.


Control Program Production Cell Formal Method Safety Requirement Finite Automaton 
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. [AP93]
    Stephen Austin and Graeme I. Parkin. Formal methods: A survey. Technical report, National Physical Laboratory, Great Britain, 1993.Google Scholar
  2. [BCM+90]
    J. R. Burch, E. M. Clare, K. L. McMillan, D. L Dill, and J. Hwang. Symbolic model checking: 1020 states and beyond. In Proceedings of the Fifth Annual Conference on Logic in Computer Science, pages 428–439, 1990.Google Scholar
  3. [BDD+92]
    M. Broy, F. Dederichs, C. Dendorfer, M. Fuchs, T. F. Gritzner, and R. Weber. The design of distributed systems — an introduction to Focus. Technical Report SFB 342/2/92, Technische Universität München, 1992.Google Scholar
  4. [BFG+92]
    M. Broy, C. Facchi, R. Grosu, R. Hettler, H. Hußmann, D. Nazareth, F. Regensburger, and K. Stølen. The requirement and design specification language Spectrum, an informal introduction. Technical Report TUM-I9140, Technische Universität München, 1992.Google Scholar
  5. [BG88]
    G. Berry and G. Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Technical report, Ecole Nationale Supérieure des Mines de Paris, 1988.Google Scholar
  6. [BJ93]
    Manfred Broy and Stefan Jähnichen, editors. Korrekte Software durch formale Methoden. Technische Universität Berlin, Franklinstraße 28-29, D-10587 Berlin, March 1993.Google Scholar
  7. [BLL93]
    Artur Brauer, Claus Lewerentz, and Thomas Lindner. Implementation a visualization of an industrial production cell using Tcl/Tk. In Proceedings of the first workshop on Tcl/Tk, 1993.Google Scholar
  8. [BS94]
    Axel Burandt and Gerhard Schellhorn. Specification and verification of distributed technical systems with central control. In Lewerentz and Lindner [LL94], chapter 10.Google Scholar
  9. [Bud94]
    Reinhard Budde. A production cell in esterel: A case study. In Lewerentz and Lindner [LL94], chapter 4.Google Scholar
  10. [Bur94]
    Jochen Burghardt. Deductive Synthesis Applied to the Case Study Production Cell. In Lewerentz and Lindner [LL94], chapter 12.Google Scholar
  11. [Cas94]
    Eduardo Casais. A reusable framework for production cells developed with an object-oriented programming language. In Lewerentz and Lindner [LL94], chapter 15.Google Scholar
  12. [CES83]
    E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite state concurrent systems using temporal logic specifications. In Proceedings of the 10th ACM Symposium on Principles of Programming Languages, pages 117–126, 1983.Google Scholar
  13. [CGH92]
    S. Conrad, M. Gogolla, and R. Herzig. TROLL light: A core language for specifying objects. Informatik-Bericht 92-02, Technische Universität Braunschweig, 1992.Google Scholar
  14. [DG94]
    Dimitris Dranidis and Stefan Gastinger. Describing Traces in an Algebraic Specification Language Abstractly by Predicates and more Concretely by CSP-like Programming Constructs. In Lewerentz and Lindner [LL94], chapter 13.Google Scholar
  15. [DHKS94]
    Werner Damm, Hardi Hungar, Peter Kelb, and Rainer Schlör. Using graphical specification languages and symbolic modelchecking in the verification of a production cell. In Lewerentz and Lindner [LL94], chapter 6.Google Scholar
  16. [ES94]
    François Erasmy and Emil Sekerinski. RAISE applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 8.Google Scholar
  17. [Har87]
    David Harel. A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.CrossRefGoogle Scholar
  18. [Har92]
    Samuel P. Harbison. Modula-3. Prentice Hall, 1992.Google Scholar
  19. [HCRP91]
    N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The Synchronous Data Flow Programming Language Lustre. Proceedings of the IEEE, volume 79(9), pp. 1305–1320, September 1991.CrossRefGoogle Scholar
  20. [HMP91]
    Øystein Haugen and Birger Møller-Pedersen. Tutorial on object-oriented SDL. SPECS-SISU Report 91002, Norwegian Computing Center, P. Box 114 Blindern, N-0314 Oslo, 1991.Google Scholar
  21. [Hoa85]
    C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.Google Scholar
  22. [Hol94]
    Leszek Holenderski. A verified controller generated from a description in the synchronous declarative programming language Lustre. In Lewerentz and Lindner [LL94], chapter 5.Google Scholar
  23. [HRS89]
    M. Heisel, W. Reif, and W. Stefan. A dynamic logic for program verification. In Meyer and Taitslin, editors, Proceedings of “Logic in Botic 89”, LNCS. Springer, 1989.Google Scholar
  24. [HRS90]
    M. Heisel, W. Reif, and W. Stephan. Tactical theorem proving in program verification. In 10th International Conference on Automated Deduction, LNCS. Springer, 1990.Google Scholar
  25. [HV94]
    Rudolf Herzig and Nikolaos Vlachantonis. Specification of a production cell with TROLL light. In Lewerentz and Lindner [LL94], chapter 14.Google Scholar
  26. [Käu90]
    T. Käufl. The program verifier Tatzelwurm. In H. Kersten, editor, Sichere Software: Formale Spezifikation und Verifikation vertrauenswürdiger Systeme. 1990.Google Scholar
  27. [Kli94]
    Stefan Klingenbeck, T. Käufl. Verification of Safety Requirements with a Program Verification System. In Lewerentz and Lindner [LL94], chapter 11.Google Scholar
  28. [LCFW92]
    M. Löwe, F. Cornelius, J. Faulhaber, and R. Wessälly. Ein Fallbeispiel für KorSo — Das heterogene verteilte Managementsystem HDMS der Projektgruppe Medizin Informatik (PMI) am Deutschen Herzzentrum Berlin und an der TU Berlin — Ein Vorschlag. Technical Report 92-45, TU Berlin, 1992.Google Scholar
  29. [LGBBG85]
    P. Le Guernic, A. Beneviste, P. Bournai, and T. Gauthier. Signal: A data flow oriented language for signal processing. Technical Report 246, IRISA, Rennes, France, 1985.Google Scholar
  30. [LH94]
    Thomas Lindner and Stefan Heinkel. SDL applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 7.Google Scholar
  31. [Lin93]
    Thomas Lindner. Task description of the case study “production cell”. Technical report, Forschungszentrum Informatik, Haid-und-Neu-Straße 10-14, D-76131 Karlsruhe, 1993.Google Scholar
  32. [LL94]
    Claus Lewerentz and Thomas Lindner, editors. Formal Development of Reactive Systems. LNCS 891. Springer-Verlag, 1994.Google Scholar
  33. [Mey88]
    B. Meyer. Object-oriented Software Construction. Prentice Hall, 1988.Google Scholar
  34. [MW80]
    Zohar Manna and Richard Waldinger. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems, 2(1):90–121, January 1980.CrossRefGoogle Scholar
  35. [NGT92]
    O. Nierstrasz, S. Gibbs, and D. Tsichritzis. Component-oriented software development. Communications of the ACM, 35(9):160–165, September 1992.CrossRefGoogle Scholar
  36. [Ous90]
    John K. Ousterhout. An embeddable command language. In Proceedings of the 1990 Winter USENIX Conference, 1990.Google Scholar
  37. [Ous91]
    John K. Ousterhout. An X11 toolkit based on the Tcl language. In Proceedings of the 1991 Winter USENIX Conference, 1991.Google Scholar
  38. [Pet81]
    J. L. Peterson. Petri Net Theory and the Modelling of Systems. Prentice Hall, 1981.Google Scholar
  39. [PF94]
    Jan Phillips and Max Fuchs. Formal Development of a Production Cell in Focus — A Case Study. In Lewerentz and Lindner [LL94], chapter 9.Google Scholar
  40. [RS94]
    Andreas Rüping and Emil Sekerinski. Modula-3: Modelling and Implementation of a Production Cell. In Lewerentz and Lindner [LL94], chapter 16.Google Scholar
  41. [SD93]
    Rainer Schlör and Werner Damm. Specification and verification of systemlevel hardware designs using timing diagrams. In The European Conference on Design Automation with the European Event in ASIC Design, pages 518–524, 1993.Google Scholar
  42. [Smu68]
    R. M. Smullyan. First Order Logic. Berlin Heidelberg New York, 1968.Google Scholar
  43. [Tel93]
    TeleLOGIC Malmö AB. SDT User's Guide, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Claus Lewerentz
    • 1
  • Thomas Lindner
    • 1
  1. 1.Forschungszentrum Informatik (FZI)Deutschland

Personalised recommendations