Skip to main content
Log in

Observational implementation of algebraic specifications

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • [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 

  • [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 

  • [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 1980

    Google Scholar 

  • [Cohn 81] Cohn, P.M.: Universal algebra. Dordrecht: D. Reidel 1981

    Google Scholar 

  • [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 1982

    Google Scholar 

  • [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 1985

    Google Scholar 

  • [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 

  • [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 1985

    Google Scholar 

  • [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 

  • [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 1986

    Google Scholar 

  • [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 1976

    Google Scholar 

  • [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)

  • [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 1982

    Google Scholar 

  • [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 

  • [Hennicker 88] Hennicker, R.: Beobachtungsorientierte Spezifikationen. Dissertation, Fakultät für Mathematik und Informatik, Universität Passau 1988

  • [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 1985

    Google Scholar 

  • [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 1988

    Google Scholar 

  • [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)

  • [Padawitz, Wirsing 84] Padawitz, P., Wirsing, M.: Completeness of many-sorted equational logic revisited. Bull. EATCS24, 88–94 (1984)

    Google Scholar 

  • [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ó 1981

    Google Scholar 

  • [Reichel 85] Reichel, H.: Initial restrictions of behaviour. IFIP Working Conference. The Role of Abstract Models in Information Processing (1985)

  • [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 1985

    Google Scholar 

  • [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 1987

    Google Scholar 

  • [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 1982

    Google Scholar 

  • [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)

  • [Wirsing 86] Wirsing, M.: Structured algebraic specifications: a kernel language. Theoret. Comput. Sci.42, 123–249 (1986)

    Google Scholar 

  • [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 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hennicker, R. Observational implementation of algebraic specifications. Acta Informatica 28, 187–230 (1991). https://doi.org/10.1007/BF01178505

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation