Abstract
The Production Cell example was chosen by FZI (the Computer Science Research Center), in Karlsruhe. to examine the benefits of formal methods for industrial applications. This example was implemented in more than 30 formalisms. This paper describes the implementation of the Production Cell in OBSERV. The OBSERV methodology for software development is based on rapid construction of an executable specification, or prototype, of a system, which may be examined and modified repeatedly to achieve the desired functionality. The objectives of OBSERV also include facilitating a smooth transition to a target system, and providing means for reusing specification, design, and code of systems, particularly real-time reactive systems. In this paper we show how the methods used in the OBSERV implementation address the requirements imposed by reactive systems. We describe the OBSERV implementation of the Production cell, explain design decisions, with special emphasis on reusability and safety issues. We demonstrate how to take care of safety and liveness properties required for this example. These properties are checked by means of simulation and formally proved with a model checker.
Similar content being viewed by others
References
Bäcker, A., Budde, R., Kulenkamp, K., Meckenstock, A., Sylla, K.-H., and Züllighoven, H. 1988. Prolab, a prolog programming environment user's manual. Technical report, GMD, St. Augustin, Germany.
Budde, R. 1995. Esterel. In (Lewerentz and Lindner, 1995), pp. 75–100.
Casais, E. 1994. Eiffel. Technical report, FZI, Karlsruhe, Germany.
Clarke, E., Emerson, E., and Sistla, A. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263.
Dasarathy, B. 1985. Timing constraints of real-time systems: Constructs for expressing them, methods of validating them. IEEE Transactions on Software Engineering, 11(1):80–86.
Dranidis, D. and Gastinger, S. 1995. Spectrum. In (Lewerentz and Lindner, 1995), pp. 199–227.
Erasmy, F. and Sekerinski, E. 1995. Raise. In (Lewerentz and Lindner, 1995), pp. 277–294.
Herzig, R. and Vlachantonis, N. 1995. TROLL light. In (Lewerentz and Lindner, 1995), pp. 373–381.
Jacobson, I., Christerson, M., Jonsson, P., and Overgaard, G. 1992. Object-Oriented Software Engineering — A Use Case Driven Approach. Addison-Wesley/ACM Press.
Krasner, G. and Pope, S. 1988. A cookbook for using the model-view-controller user interface paradigm in smalltalk-80. Journal of Object-Oriented Programming, 1(3):26–48.
Lewerentz, C. and Lindner, T., editors 1995. Formal Development of Reactive Systems. Case Study Production Cell. LNCS 891. Springer Verlag.
MacDonald, A. and Carrington, D. 1994. Z specification of the production cell. Technical Report TR94–46, The University of Queensland, Australia.
McMillan, K. L. 1992. Symbolic Model Checking: An Approach to the State Explosion Problem. Ph.D. thesis, Carnegie Mellon University.
Nökel, K. and Winkelmann, K. 1995. CSL. In (Lewerentz and Lindner, 1995), pp. 55–74.
Rüping, A. and Sekerinski, E. 1995. Modula-3. In (Lewerentz and Lindner, 1995), pp. 357–371.
Tyszberowicz, S. and Yehudai, A. 1990. OBSERV-The representation language. Technical Report 169/90, Eskenasy Institute of Computer Science, Tel-Aviv University, Israel.
Tyszberowicz, S. and Yehudai, A. 1992. OBSERV—A prototyping language and environment. TOSEM, 1(3):269–309.
Wegner, P. 1987. Dimensions of object-based languages design. Proceedings of OOPSLA'87, SIGPLAN Notices, 22(12):168–182.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Tyszberowicz, S.S. How to Implement a Safe Real-Time System:The OBSERV Implementation of the Production Cell Case Study. Real-Time Systems 15, 61–90 (1998). https://doi.org/10.1023/A:1008074907254
Issue Date:
DOI: https://doi.org/10.1023/A:1008074907254