Skip to main content

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

  • Case Studies
  • Chapter
  • First Online:
KORSO: Methods, Languages, and Tools for the Construction of Correct Software

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1009))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Stephen Austin and Graeme I. Parkin. Formal methods: A survey. Technical report, National Physical Laboratory, Great Britain, 1993.

    Google Scholar 

  2. 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. 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. 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. 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. 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. 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. 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. Reinhard Budde. A production cell in esterel: A case study. In Lewerentz and Lindner [LL94], chapter 4.

    Google Scholar 

  10. Jochen Burghardt. Deductive Synthesis Applied to the Case Study Production Cell. In Lewerentz and Lindner [LL94], chapter 12.

    Google Scholar 

  11. 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. 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. 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. 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. 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. François Erasmy and Emil Sekerinski. RAISE applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 8.

    Google Scholar 

  17. David Harel. A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.

    Article  Google Scholar 

  18. Samuel P. Harbison. Modula-3. Prentice Hall, 1992.

    Google Scholar 

  19. 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.

    Article  Google Scholar 

  20. Ø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. C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.

    Google Scholar 

  22. 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. 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. 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. Rudolf Herzig and Nikolaos Vlachantonis. Specification of a production cell with TROLL light. In Lewerentz and Lindner [LL94], chapter 14.

    Google Scholar 

  26. T. Käufl. The program verifier Tatzelwurm. In H. Kersten, editor, Sichere Software: Formale Spezifikation und Verifikation vertrauenswürdiger Systeme. 1990.

    Google Scholar 

  27. Stefan Klingenbeck, T. Käufl. Verification of Safety Requirements with a Program Verification System. In Lewerentz and Lindner [LL94], chapter 11.

    Google Scholar 

  28. 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. 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. Thomas Lindner and Stefan Heinkel. SDL applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 7.

    Google Scholar 

  31. 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. Claus Lewerentz and Thomas Lindner, editors. Formal Development of Reactive Systems. LNCS 891. Springer-Verlag, 1994.

    Google Scholar 

  33. B. Meyer. Object-oriented Software Construction. Prentice Hall, 1988.

    Google Scholar 

  34. Zohar Manna and Richard Waldinger. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems, 2(1):90–121, January 1980.

    Article  Google Scholar 

  35. O. Nierstrasz, S. Gibbs, and D. Tsichritzis. Component-oriented software development. Communications of the ACM, 35(9):160–165, September 1992.

    Article  Google Scholar 

  36. John K. Ousterhout. An embeddable command language. In Proceedings of the 1990 Winter USENIX Conference, 1990.

    Google Scholar 

  37. John K. Ousterhout. An X11 toolkit based on the Tcl language. In Proceedings of the 1991 Winter USENIX Conference, 1991.

    Google Scholar 

  38. J. L. Peterson. Petri Net Theory and the Modelling of Systems. Prentice Hall, 1981.

    Google Scholar 

  39. 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. 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. 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. R. M. Smullyan. First Order Logic. Berlin Heidelberg New York, 1968.

    Google Scholar 

  43. TeleLOGIC Malmö AB. SDT User's Guide, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manfred Broy Stefan Jähnichen

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Lewerentz, C., Lindner, T. (1995). Case study “production cell”: A comparative study in formal specification and verification. In: Broy, M., Jähnichen, S. (eds) KORSO: Methods, Languages, and Tools for the Construction of Correct Software. Lecture Notes in Computer Science, vol 1009. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015473

Download citation

  • DOI: https://doi.org/10.1007/BFb0015473

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60589-8

  • Online ISBN: 978-3-540-47802-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics