Acta Informatica

, Volume 28, Issue 3, pp 187–230 | Cite as

Observational implementation of algebraic specifications

  • Rolf Hennicker
Article

Summary

An observational approach to the construction of implementations of algebraic specifications is presented. Based on the theory of observational specifications an implementation relation is defined which formalizes the intuitive idea that an implementation is correct if it produces correct observable output. To be useful in practice proof theoretic criteria for observational implementations are provided and a proof technique (called “context induction”) for the verification of implementation relations is presented. As an example an abstract specification of (the algebraic semantics of) a small imperative programming language is implemented by a state oriented specification of the language.

In order to support the modular construction of implementations the approach is extended to parameterized observational specifications. Based on the notion of observable parameter context a proof theoretic criterion for parametrized observational implementations is presented and it is shown that under appropriate conditions observational implementations compose horizontally. The given implementation criteria are applied to examples.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Broy et al. 84] Broy, M., Pair, C., Wirsing, M.: A systematic study of models of abstract data types. Theoret. Comput. Sci.33, 139–174 (1984)Google Scholar
  2. [Broy et al. 87] Broy, M., Pepper, P., Wirsing, M.: On the algebraic definition of programming languages. ACM Trans. Prog. Languages Syst.9(1), 54–99 (1987)Google Scholar
  3. [Burstall, Goguen 80] Burstall, R.M., Goguen, J.A.: The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software Specifications, Kopenhagen. (Lect. Notes Comput. Sci., vol. 86, pp. 292–332) Berlin Heidelberg New York: Springer 1980Google Scholar
  4. [Cohn 81] Cohn, P.M.: Universal algebra. Dordrecht: D. Reidel 1981Google Scholar
  5. [Ehrig, Kreowski 82] Ehrig, H., Kreowski, H.J.: Parameter passing commutes with implementation of parameterized data types. In: Nielsen, M., Schmidt, E.M. (eds.) Proc ICALP 82, 9th Coll. on Automata, Languages and Programming, Aarhus, July 1982. (Lect. Notes Comput. Sci., vol. 140, pp. 197–211) Berlin Heidelberg New York: Springer 1982Google Scholar
  6. [Ehrig, Mahr 85] Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 1. EATCS Monographs on Theor. Comp. Science, vol. 6. Berlin Heidelberg New York: Springer 1985Google Scholar
  7. [Ehrig et al. 82] Ehrig, H., Kreowski, H.J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoret. Comput. Sci.20, 209–263 (1982)Google Scholar
  8. [Futatsugi et al. 85] Futatsugi, K., Goguen, J.A., Jouannaud, J.P., Meseguer, J.: Principles of OBJ2. Proc. 12th ACM Symposium on Principles of Programming Languages, New Orleans, pp. 52–66. Baltimore: ACM Order Department 1985Google Scholar
  9. [Ganzinger 83] Ganzinger, H.: Parameterized specifications: parameter passing and implementation with respect to observability. ACM Trans. Prog. Lang. Syst.5(3), 318–354 (1983)Google Scholar
  10. [Geser, Hussmann 86] Geser, A., Hussmann, H.: Experiences with the RAP system—a specification interpreter combining term rewriting and resolution. In: Robinet, B., Wilhelm, R. (eds.) Proc. ESOP 86, Europ. Symp. on Programming, Saarbrücken. (Lect. Notes Comput. Sci., vol. 213, pp. 339–350) Berlin Heidelberg New York: Springer 1986Google Scholar
  11. [Giarratana et al. 76] Giarratana, V., Gimona, F., Montanari, U.: Observability concepts in abstract data type specification. In: Mazurkiewicz, A. (ed.) Proc. MFCS 76, 5th Internat. Symp. on Mathematical Foundations of Comp. Science, Gdansk. (Lect. Notes Comput. Sci., vol. 45, pp. 576–587) Berlin Heidelberg New York: Springer 1976Google Scholar
  12. [Goguen, Burstall 80] Goguen, J.A., Burstall, R.M.: CAT, a system for the structured elaboration of correct programs from structured specifications. Technical report CSL-118, Computer Science Laboratory, SRI International (1980)Google Scholar
  13. [Goguen, Meseguer 82] Goguen, J.A., Meseguer, J.: Universal realization, persistent interconnection and implementation of abstract modules. In: Nielsen, M., Schmidt, E.M. (eds.) Proc. ICALP 82, 9th Coll. on Automata, Languages and Programming, Aarhus. (Lect. Notes Comput. Sci., vol. 140, pp. 265–281) Berlin Heidelberg New York: Springer 1982Google Scholar
  14. [Goguen, Meseguer 82a] Goguen, J.A., Meseguer, J.: Completeness of many-sorted equational logic. SIGPLAN Notices16(7), 24–32 (1981);17(1), 9–17 (1982)Google Scholar
  15. [Hennicker 88] Hennicker, R.: Beobachtungsorientierte Spezifikationen. Dissertation, Fakultät für Mathematik und Informatik, Universität Passau 1988Google Scholar
  16. [Hennicker, Wirsing 85] Hennicker, R., Wirsing, M.: Observational specification: a Birkhoff-theorem. In: Kreowski, H.J. (ed.) Recent trends in data type specification. 3rd Workshop on Theory and Appl. of Abstract Data Types, Bremen. Selected Papers. Informatik Fachber., vol. 116, pp. 119–135, Berlin Heidelberg New York: Springer 1985Google Scholar
  17. [Nivela, Orejas 88] Nivela, Ma P., Orejas, F.: Initial behaviour semantics for algebraic specifications. In: Sannella, D., Tarlecki, A. (eds.) Proc 5th Workshop on Algebraic Specifications of Abstract Data Types, Gullane. (Lect. Notes Comput. Sci., vol. 332, pp. 184–207) Berlin Heidelberg New York: Springer 1988Google Scholar
  18. [Padawitz 90] Padawitz, P.: Horn logic and rewriting for functional and logic program design. Technische Berichte der Fakultät für Mathematik und Informatik, Universität Passau, MIP-9002 (1990)Google Scholar
  19. [Padawitz, Wirsing 84] Padawitz, P., Wirsing, M.: Completeness of many-sorted equational logic revisited. Bull. EATCS24, 88–94 (1984)Google Scholar
  20. [Reichel 81] Reichel, H.: Behavioural equivalence — a unifying concept for initial and final specification methods. In: Arotó, M., Varga, L. (eds.) Math. models in comp. systems. Proc. 3rd Hungarian Computer Science Conf., Budapest, pp. 27–39. Budapest: Akadémiai Kiadó 1981Google Scholar
  21. [Reichel 85] Reichel, H.: Initial restrictions of behaviour. IFIP Working Conference. The Role of Abstract Models in Information Processing (1985)Google Scholar
  22. [Sannella, Tarlecki 85] Sannella, D.T., Tarlecki, A.: On observational equivalence and algebraic specification. In: Ehrig, H., Floyd, C., Nivat, M., Thatcher, J. (eds.) Proc. TAPSOFT 85, Joint Conf. on Theory and Practice of Software Development, Berlin. (Lect. Notes Comput. Sci., vol. 185, pp. 308–322) Berlin Heidelberg New York: Springer 1985Google Scholar
  23. [Sannella, Tarlecki 87] Sannella, D.T., Tarlecki, A.: Toward formal development of programs from algebraic specifications: implementations revisited. Proc. TAPSOFT 87, Joint Conf. on Theory and Practice of Software Development, Pisa. (Lect. Notes Comput. Sci., vol. 249, pp. 96–110) Berlin Heidelberg New York: Springer 1987Google Scholar
  24. [Sannella, Wirsing 82] Sannella, D.T., Wirsing, M.: Implementation of parameterized specifications. In: Nielsen, M., Schmidt, E.M. (eds.) Proc. ICALP 82, 9th Coll. on Automata, Languages and Programming, Aarhus. (Lect. Notes Comput. Sci., vol. 140, pp. 473–488) Berlin Heidelberg New York: Springer 1982Google Scholar
  25. [Schoett 87] Schoett, O.: Data abstraction and the correctness of modular programming. Ph. D. thesis, CST-42-87, Department of Comp. Science, University of Edinburgh (1987)Google Scholar
  26. [Wirsing 86] Wirsing, M.: Structured algebraic specifications: a kernel language. Theoret. Comput. Sci.42, 123–249 (1986)Google Scholar
  27. [Wirsing et al. 83] Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M.: On hierarchies of abstract data types. Acta Inf.20, 1–33 (1983)Google Scholar

Copyright information

© Springer-Verlag 1991

Authors and Affiliations

  • Rolf Hennicker
    • 1
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassauGermany

Personalised recommendations