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.
Preview
Unable to display preview. Download preview PDF.
References
Stephen Austin and Graeme I. Parkin. Formal methods: A survey. Technical report, National Physical Laboratory, Great Britain, 1993.
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.
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.
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.
G. Berry and G. Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Technical report, Ecole Nationale Supérieure des Mines de Paris, 1988.
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.
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.
Axel Burandt and Gerhard Schellhorn. Specification and verification of distributed technical systems with central control. In Lewerentz and Lindner [LL94], chapter 10.
Reinhard Budde. A production cell in esterel: A case study. In Lewerentz and Lindner [LL94], chapter 4.
Jochen Burghardt. Deductive Synthesis Applied to the Case Study Production Cell. In Lewerentz and Lindner [LL94], chapter 12.
Eduardo Casais. A reusable framework for production cells developed with an object-oriented programming language. In Lewerentz and Lindner [LL94], chapter 15.
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.
S. Conrad, M. Gogolla, and R. Herzig. TROLL light: A core language for specifying objects. Informatik-Bericht 92-02, Technische Universität Braunschweig, 1992.
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.
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.
François Erasmy and Emil Sekerinski. RAISE applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 8.
David Harel. A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.
Samuel P. Harbison. Modula-3. Prentice Hall, 1992.
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.
Ø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.
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
Leszek Holenderski. A verified controller generated from a description in the synchronous declarative programming language Lustre. In Lewerentz and Lindner [LL94], chapter 5.
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.
M. Heisel, W. Reif, and W. Stephan. Tactical theorem proving in program verification. In 10th International Conference on Automated Deduction, LNCS. Springer, 1990.
Rudolf Herzig and Nikolaos Vlachantonis. Specification of a production cell with TROLL light. In Lewerentz and Lindner [LL94], chapter 14.
T. Käufl. The program verifier Tatzelwurm. In H. Kersten, editor, Sichere Software: Formale Spezifikation und Verifikation vertrauenswürdiger Systeme. 1990.
Stefan Klingenbeck, T. Käufl. Verification of Safety Requirements with a Program Verification System. In Lewerentz and Lindner [LL94], chapter 11.
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.
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.
Thomas Lindner and Stefan Heinkel. SDL applied to the case study “production cell”. In Lewerentz and Lindner [LL94], chapter 7.
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.
Claus Lewerentz and Thomas Lindner, editors. Formal Development of Reactive Systems. LNCS 891. Springer-Verlag, 1994.
B. Meyer. Object-oriented Software Construction. Prentice Hall, 1988.
Zohar Manna and Richard Waldinger. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems, 2(1):90–121, January 1980.
O. Nierstrasz, S. Gibbs, and D. Tsichritzis. Component-oriented software development. Communications of the ACM, 35(9):160–165, September 1992.
John K. Ousterhout. An embeddable command language. In Proceedings of the 1990 Winter USENIX Conference, 1990.
John K. Ousterhout. An X11 toolkit based on the Tcl language. In Proceedings of the 1991 Winter USENIX Conference, 1991.
J. L. Peterson. Petri Net Theory and the Modelling of Systems. Prentice Hall, 1981.
Jan Phillips and Max Fuchs. Formal Development of a Production Cell in Focus — A Case Study. In Lewerentz and Lindner [LL94], chapter 9.
Andreas Rüping and Emil Sekerinski. Modula-3: Modelling and Implementation of a Production Cell. In Lewerentz and Lindner [LL94], chapter 16.
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.
R. M. Smullyan. First Order Logic. Berlin Heidelberg New York, 1968.
TeleLOGIC Malmö AB. SDT User's Guide, 1993.
Author information
Authors and Affiliations
Editor information
Rights 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