Abstract
A formal technique for incorporating two specification paradigms is presented in which an algebraic specification is implemented by a set of abstract procedures specified in pre- and post-condition style. The link between the two level specifications is provided via a translation from terms of algebraic specifications into temporal logic formulae representing abstract programs. In terms of translation, a criterion for an abstract implementation satisfying its specification is given, which allows one to check the consistency between the two levels of specifications. The abstract implementations can be refined into executable code by refining each abstract procedure in it. It is proved that the satisfication relation between a specification and its implementations is preserved by such refinement steps.
Similar content being viewed by others
References
J. A. Goguen, J. W. Thatcher, and E. G. Wagner, An initial algebra approach to the specification, correctness, and implementation of abstract data types. InCurrent Trends in Programming Methodology. IV: Data Structuring (R. T. Yeh, Ed.), Prentice-Hall, Englewood, Cliffs, N. J., 1978, 80–149.
R. M. Burstall, and J. A. Goguen, The Semantics of Clear, A specificaion language. In Proc. of Advanced Course on Software specifications, Lecture Notes in Computer Science 86, Springer-Verlag, 1980, 292–332.
H.-D. Ehrich, On the theory of specification, implementation, and parameterization of abstract data types,J. ACM,29: 1 (1982), 206–227.
H. Erig, H.-J. Kreowski, B. Mahr, and P. Padawitz, Algebraic implementation of abstract data types,Theor. Comput. Sci., 20 (1982), 209–263.
H. Erig, B. Mahr, Fundamentals of Algebraic Specification I: Equations and Initial Semantics. EATCS Monograph on Theoretical Computer Science, Springer 1985.
K. Futatsugi, J. A., Goguen, J.-P., Jouannaud, and J. Meseguer, Principleś of OBJ2. Proc. 12th ACM Symposium on Principles of Programming La guages, 1985, 52–66.
Y. Feng, H. Lin, and C. S. Tang, A proof system for temporal logic programs.Computer Research and Development (in Chinese), Oct. 1985, 1–9.
J. V. Guttag, J. J. Horning, and J. M. Wing, Larch in five easy pieces, SRC Report # 5, Digital System Research Center, 1985.
C. A. R. Hoare, Proving correctness of data representations,Acta Informatica,1: 1 (1972), 271–281.
C. B. Jones, Systematic Software Development Using VDM. Prentice-Hall, 1986.
S. Kamin and M. Atcher, Partial implementation of abstract data types: A dissenting view on errors. InSemantics of Data Types, Lecture Notes in Computer Science 173, Springer-Verlag, 1984, 317–336.
Z. Manna, and A. Pnueli, Verification of concurrent programs, part 1: The temporal framework. Tech, Rept. STAN-CS-81-836, Dept. of Computer Science, Stanford Univ., 1981.
C. C. Morgan, The specification statement.ACM Trans. Program. Lang. Syst,10: 3 (1988), 403–419.
C. S. Tang, An introduction to XYZ system. Tech. Rept. IS-CAS-XYZ-88-1, Institute of Software, Chinese Academy of Sciences, 1988.
M. Wand, Final algebra semantics and data type extensions.J. Comput. Syst. Sci.,19: 1 (1979), 27–44.
M. Wand, Specification, models, and implementation of data abstraction.Theor. Comput. Sci., 20 (1982), 3–32.
J. M. Wing, Writing Larch Interface Language specifications.ACM Trans. Program. Lang. Syst.,9: 1 (1987) 1–24.
Author information
Authors and Affiliations
Additional information
This project is supported bu National Natural Science Foundation of China.
Rights and permissions
About this article
Cite this article
Lin, H., Gong, C. & Xie, H. Abstract implementation of algebraic specifications in a temporal logic language. J. of Compt. Sci. & Technol. 6, 11–20 (1991). https://doi.org/10.1007/BF02943403
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02943403