Abstract
The abstract, algebraic definition of data types by describing their properties forms a solid formal basis for the specification of computation structures independent of their particular representations. Thus programs can be designed and developed working with objects of an abstractly defined computation structure. The choice of particular representations (implementations), the releasing of this representation to the "outer world" and the consequences on further program development are demonstrated with examples of joint refinement.
This research was carried out within the Sonderforschungsbereich 49, Programmiertechnik, Munich.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Literature
F.L. Bauer: Design of a Programming Language for a Program Transformation System. This volume.
F.L. Bauer, M. Broy, R. Gnatz, W. Hesse, B. Krieg-Brückner: Notes on the Project CIP: Towards a Wide Spectrum Language to Support Program Development by Transformations. Technische Universität München, Institut für Informatik, TUM-INFO-7722, 1977
F. L. Bauer, H. Partsch, P. Pepper, H. Wössner: Notes on the Project CIP: Outline of a Transformation System. Technische Universität München, Institut für Informatik, TUM-INFO-7729, 1977
F.L. Bauer, M. Broy, R. Gnatz, W. Hesse, B. Krieg-Brückner, H. Partsch, P. Pepper, H. Wössner: Towards a Wide Spectrum Language to Support Program Specification and Program Development. SIGPLAN Notices 13 (12), 15–24 (1978). This volume
G. Birkhoff, J.D. Lipson: Heterogeneous Algebras. J. of Combinatorial Theory 8, 115–133 (1970)
R.M. Burstall, J.A. Goguen: Putting Theories together to Make Specifications. Proceedings of the Int. Joint Conf. on Artificial Intelligence 1977
C.H. Correll: Proving Programs Correct through Refinement. Acta Informatica 9, 121–132 (1978)
O.-J. Dahl, B. Myhrhaug, K. Nygaard: SIMULA 67 Common Base Language. Norwegian Computing Center, Oslo, May 1968
E.W. Dijkstra: A Discipline of Programming. Englewood Cliffs, N.J.: Prentice-Hall, 1976
H. Ehrig, H.J. Kreowski, P. Padawitz: Stepwise specification and implementation of abstract data types. In: G. Ausiello, C. Böhm (eds): Automata, Languages and Programming. Proc. 5th Colloquium, Udine, July 1978. Springer Lecture Notes on Computer Science 62
J.A. Goguen, J.W. Thatcher, E.G. Wagner: An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. In: R.T. Yeh (ed.): Current trends in programming methodology, Vol. 3, Data Structuring, N.J.: Prentice Hall, 1978
J.V. Guttag: The Specification and Application to Programming of Abstract Data Types. Ph. D. Th., Univ. of Toronto, Dept. Comp. Sci., Rep. CSRG-59, 1975
J.V. Guttag, E. Horowitz, D.R. Musser: Abstract Data Types and Software Validation. USC/Information Sciences Institute, RR-76-48 (1976)
J.V. Guttag, E. Horowitz, D.R. Musser: The Design of Data Type Specifications. USC/Information Sciences Institute, RR-76-49 (1976)
J.V. Guttag, J.J. Horning: The Algebraic Specification of Abstract Data Types. Acta Informatica 10, 27–52 (1978)
F.W. von Henke: On Generating Programs from Data Types: An Approach to Automatic Programming. In: G. Huet, G. Kahn (eds.): Proving and Improving Programs. Colloques IRIA, Arc et Senans, 1–3 juillet 1975
C.A.R. Hoare: Proof of Correctness of Data Representations. Acta Informatica 1: 4, 271–281 (1972)
C.A.R. Hoare: Recursive Data Structures. Stanford University, A.I.Lab., Stan-CS-73-400, Oct. 1973
D.E. Knuth: The Art of Computer Programming. Reading, Mass: Addison-Wesley, 1969
D.E. Knuth, J.L. Szwarcfiter: A Structured Program to Generate all Topological Sorting Arrangements. Inf. Proc. Letters 2, 153–157 (1974)
B. Krieg-Brückner: Concrete and Abstract Specification, Modularization and Program Development by Transformation. Technische Universität München, Institut für Informatik, TUM-INFO-7805, 1978
Th. A. Linden: Specifying Abstract Data Types by Restriction. ACM SIGSOFT, Software Engineering Notes 3:2, 7–13 (1978)
B. Liskov, S. Zilles: Programming with Abstract Data Types. Proc. ACM SIGPLAN Conf. on Very High Level Languages, SIGPLAN Notices 9: 4, 50–59 (1974)
B. Liskov, S. Zilles: Specification Techniques for Data Abstractions. IEEE Trans. on Software Eng. 1: 1, 7–18 (1975)
M. Majster: Limits of the "Algebraic" Specification of Abstract Data Types. SIGPLAN Notices 12: 10, 37–41 (1977)
J. McCarthy: A Basis for a Mathematical Theory of Computation. In: P. Braffort, D. Hirschberg (eds.): Computer Programming and Formal Systems. Amsterdam: North-Holland, 1963
A.J. Perlis, C. Thornton: Symbol Manipulation by Threaded Lists. Comm. ACM 3, 195–204 (1960)
D. Scott: Data Types as Lattices. SIAM J. of Computing 5, 522–587 (1976)
W. Wulf: ALPHARD: Towards a Language to Support Structured Programs. Carnegie-Mellon Univ., Pittsburgh, Dept. of Comp. Sc., Internal Report, April 1974
S. Zilles: Algebraic Specification of Data Types. Computation Structures Group Memo 119, MIT, Combridge, Mass.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1979 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Partsch, H., Broy, M. (1979). Examples for change of types and object structures. In: Bauer, F.L., et al. Program Construction. Lecture Notes in Computer Science, vol 69. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014676
Download citation
DOI: https://doi.org/10.1007/BFb0014676
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-09251-3
Online ISBN: 978-3-540-35312-6
eBook Packages: Springer Book Archive