Advertisement

Compound algebraic implementations: An approach to stepwise refinement of software systems

  • H. Ehrig
  • H. -J. Kreowski
  • B. Mahr
  • P. Padawitz
Communications
Part of the Lecture Notes in Computer Science book series (LNCS, volume 88)

Abstract

A precise mathematical approach to stepwise refinement of software systems is given within the framework of algebraic specifications. Since our new concept for the implementation of abstract data types — recently introduced in another paper — corresponds to a single refinement step, the composition problem for algebraic implementations is studied in this paper. It is shown that in general algebraic implementations are not closed under composition unless we have the special case of “persistent implementations”. For other types of implementations sufficient consistency conditions are given to achieve closure under composition. These results can be extended to compound algebraic implementations which are syntactically defined to be sequences of (weak) implementations according to the idea of stepwise refinement of software systems.

Keywords

Consistency Condition Horizontal Structure Abstract Data Type Composition Problem Algebraic Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

5. References

  1. /BG 77/.
    Burstall, R.M.-Goguen, J.A.: Putting Theories together to Make Specifications, Proc. Int.Conf. Artificial Intelligence, Boston, 1977Google Scholar
  2. /BG 79/.
    —: CAT, a System for the Structured Elaboration of Correct Programs from Structured Specifications, Preliminary Draft, 1979Google Scholar
  3. /BG 80/.
    —: Semantics of CLEAR, a specification language, Proc. 1979 Copenhagen Winter School on Abstract Software Specif., 1980Google Scholar
  4. /Dij 72/.
    Dijkstra, E.W.: Notes on Structured Programming, in: Structured Programming, C.A.R. Hoare, Ed., Academic Press, New York, 1972Google Scholar
  5. /Eh 78a/.
    Ehrich, H.D.: Extensions and Implementations of Abstract Data Type Specifications, Proc.Conf.MFCS'78,Zakopane,Springer Lect. Not. in Comp. Sci. 64, 1978, 155–163Google Scholar
  6. /Eh 78b/.
    —: On the Theory of Specification, Implementation and Parametrization of Abstract Data Types, Forschungsbericht Univ. Dortmund, 1978Google Scholar
  7. /EKMP 80/.
    Ehrig, H.-Kreowski,H.-J.-Mahr,B.-Padawitz,P.: Compound Algebraic Implementations: An Approach to Stepwise Refinement of Software Systems (long version), Forschungsbericht Nr. 80-04, TU Berlin, FB 20, 1980Google Scholar
  8. /EKP 78/.
    Ehrig, H.-Kreowski, H.-J.-Padawitz, P.: Stepwise Specification and Implementation of Abstract Data Types, Proc. ICALP'78, Udine, Springer Lect. Notes in Comp. Sci. 62, 1978, 205–226.Google Scholar
  9. /EKP 79/.
    —: Algebraic Implementation of Abstract Data Types: Concept, Syntax, Semantics and Correctness, Forschungsbericht Nr. 79-23, TU Berlin, FB 20, 1979, to appear in Proc. ICALP'80.Google Scholar
  10. /EKTWW 80/.
    Ehrig, H.-Kreowski, H.-J.-Thatcher, J.-Wagner,E.-Wright,J.: Parameterized Specifications in Algebraic Specification Languages, to appear in Proc. ICALP'80Google Scholar
  11. /EKW 78/.
    Ehrig, H.-Kreowski, H.-J.-Weber, H.: Algebraic Specification Schemes for Data Base Systems, Proc.4. Int.Conf. on Very Large Data Bases, Berlin, 1978Google Scholar
  12. /EM 80/.
    Ehrig, H. — Mahr, B.: Complexity of Implementations on the Level of Algebraic Specifications, Proc. 12.SIGACT Symp. on Theory of Computing, Los Angeles, 1980Google Scholar
  13. /GN 78/.
    Goguen, J.A. — Nournai, F.: Some Algebraic Techniques for Proving Correctness of Data Type Implementation, Extended Abstract, Comp. Sci. Dept., UCLA, Los Angeles, 1978Google Scholar
  14. /GTW 78/.
    Goguen, J.A.-Thatcher, J.W.-Wagner, E.G.: An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types, in: Current Trends in Programming Methodology, IV: Data Structuring (R. Yeh, Ed.), Prentice Hall, New Jersey, 1978, 80–144Google Scholar
  15. /Gut 76/.
    Guttag, J.V.: Abstract Data Types and the Development of Data Structures, Supplement to Proc. Conf. on Data Abstraction, Definition, and Structure, SIGPLAN Notices 8, March 1976Google Scholar
  16. /GHM 78/.
    Guttag, J.V.-Horowitz, E.-Musser, D.R.: Abstract Data Types and Software Validation, Comm. ACM, Vol. 21, No. 12, 1978, 1048–1063Google Scholar
  17. /LS 77/.
    Lehmann, D.H.-Smyth, M.B.: Data Types, Univ. of Warwick, Dept. of Comp. Sci., Report No. 19, 1977, and Proc. 18th IEEE Symp. on Found. of Computing, Providence, R.I., Nov. 77, 7–12Google Scholar
  18. /TWW 79/.
    Thatcher, J.W.-Wagner, E.G.-Wright, J.B.: Data Type Specification: Parameterization and the Power of Specification Techniques, Proc. 10. SIGACT Symp. on Theory of Computing, San Diego, 1978, 119–132; revised version in IBM Research Report RC 7757, 1979Google Scholar
  19. /Wa 77/.
    Wand, M.: Final Algebra Semantics and Data Type Extensions, Indiana Univ., Comp. Sci. Dept., Technical Report No. 65, 1977Google Scholar
  20. /Wir 71/.
    Wirth, N.: Program Development by Stepwise Refinement, Comm. ACM, Vol. 14, No.4, 1971, 221–227Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • H. Ehrig
    • 1
  • H. -J. Kreowski
    • 1
  • B. Mahr
    • 1
  • P. Padawitz
    • 1
  1. 1.Technische Universität BerlinGermany

Personalised recommendations