Abstract
We recall the contribution of Goguen and Burstall’s 1980 CAT paper and its powerful influence on theories of specification implementation that were emerging at about the same time, via the introduction of the notions of vertical and horizontal composition of implementations. We then give a different view of implementation which we believe provides a more adequate reflection of the rather subtle interplay between implementation, specification structure and program structure.
This work was funded in part by the European IST FET programme under the IST-2005-015905 MOBIUS and IST-2005-016004 SENSORIA projects, and by the British–Polish Research Partnership Programme.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Baumeister, H., Cerioli, M., Haxthausen, A., Mossakowski, T., Mosses, P.D., Sannella, D., Tarlecki, A.: Casl semantics. In: Sannella, D., Tarlecki, A. (eds.) [CoF 2004], part III, pp. 115–273 (2004)
Burstall, R.M., Goguen, J.A.: The semantics of CLEAR, a specification language. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 292–332. Springer, Heidelberg (1980)
Bidoit, M., Mosses, P.D.: Casl User Manual. In: Bidoit, M., Mosses, P.D. (eds.) CASL User Manual. LNCS, vol. 2900, pp. 193–201. Springer, Heidelberg (2004)
Borzyszkowski, T.: Logical systems for structured specifications. Theoretical Computer Science 286, 197–245 (2002)
Bidoit, M., Sannella, D., Tarlecki, A.: Architectural specifications. Casl. Formal Aspects of Computing 13, 252–273 (2002)
Burstall, R.M.: Programming with modules as typed functional programming. In: Proc. Intl. Conference on Fifth Generation Computing Systems, Tokyo, pp. 103–112 (1984)
CoFI (The Common Framework Initiative). Casl Reference Manual. Springer LNCS 2960, IFIP Series (2004)
Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types. Journal of the Association for Computing Machinery 29, 206–227 (1982)
Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263 (1982)
Fitzgerald, J., Jones, C.B.: Modularizing the formal description of a database system. In: Langmaack, H., Hoare, C.A.R., Bjorner, D. (eds.) VDM 1990. LNCS, vol. 428, pp. 189–210. Springer, Heidelberg (1990)
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, J.A., Burstall, R.M.: Institutions: Abstract model theory for specification and programming. Journal of the Association for Computing Machinery 39(1), 95–146 (1992), An early version appeared under the title Introducing Institutions. In: Logics of Programs. LNCS, vol. 164, pp. 221–256. Springer, Heidelberg (1984)
Goguen, J.A.: Parameterized programming and software architecture. In: Proc. 4th Intl. IEEE Conf. on Software Reuse, pp. 2–11 (1996)
Goguen, J.A., Tardo, J.: An introduction to OBJ: A language for writing and testing software specifications. In: Zelkowitz, M.K. (ed.) Specification of Reliable Software, pp. 170–189. IEEE Press, Cambridge (1979), Reprinted in Software Specification Techniques. In: Gehani, N., McGettrick, A. (ed.) pp. 391– 420, Addison-Wesley, Reading (1985)
Goguen, J.A., Tracz, W.: An implementation-oriented semantics for module composition. In: Leavens, G., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 231–263. Cambridge University Press, Cambridge (2000)
Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness and implementation of abstract data types. In: Yeh, R.T. (ed.) Current Trends in Programming Methodology. Data Structuring, vol. 4, pp. 80–149 (1978)
Hoare, C.A.R.: Correctness of data representations. Acta Informatica 1, 271–281 (1972)
Jones, C.B.: Software Development: A Rigorous Approach. Prentice-Hall, Englewood Cliffs (1980)
Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: A gentle introduction. Theoretical Computer Science 173, 445–484 (1997)
Lopes, A., Fiadeiro, J.: Preservation and reflection in specification. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 380–394. Springer, Heidelberg (1997)
Lee, P., Pfenning, F., Rollins, G., Scherlis, W.: The Ergo support system: An integrated set of tools for prototyping integrated environments. In: Proc. 3rd ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pp. 25–34 (1988)
MacLane, S.: for the Working Mathematician. Springer, Heidelberg (1971)
Mossakowski, T., Hoffman, P., Autexier, S., Hutter, D.: CASL logic. In: Mossakowski, T. (ed.) [CoF 2004], part IV, pp. 275–361 (2004)
Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Intl. Joint Conf. on Artificial Intelligence, pp. 481–489 (1971)
Mossakowski, T., Sannella, D., Tarlecki, A.: A simple refinement language for Casl. In: Fiadeiro, J.L., Mosses, P.D., Orejas, F. (eds.) WADT 2004. LNCS, vol. 3423, pp. 162–185. Springer, Heidelberg (2005)
Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997) (revised)
Scherlis, W., Scott, D.: First steps towards inferential programming. In: IFIP Congress, pp. 199–212 (1983)
Sannella, D., Sokołowski, S., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Parameterisation revisited. Acta Informatica 29(8), 689–736 (1992)
Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)
Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25, 233–281 (1988)
Sannella, D., Tarlecki, A.: Toward formal development of ML programs: Foundations and methodology. In: Díaz, J., Orejas, F. (eds.) TAPSOFT 1989 and CCIPL 1989. LNCS, vol. 352, pp. 375–389. Springer, Heidelberg (1989)
Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)
Sannella, D., Tarlecki, A.: Algebraic preliminaries. In: Astesiano, E., Kreowski, H.-J., Krieg-Brückner, B. (eds.) Algebraic Foundations of Systems Specification. ch. 2, Springer, Heidelberg (1999)
Sannella, D., Wirsing, M.: A kernel language for algebraic specification and implementation. In: Karpinski, M. (ed.) FCT 1983. LNCS, vol. 158, pp. 413–427. Springer, Heidelberg (1983)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Sannella, D., Tarlecki, A. (2006). Horizontal Composability Revisited. In: Futatsugi, K., Jouannaud, JP., Meseguer, J. (eds) Algebra, Meaning, and Computation. Lecture Notes in Computer Science, vol 4060. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11780274_16
Download citation
DOI: https://doi.org/10.1007/11780274_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35462-8
Online ISBN: 978-3-540-35464-2
eBook Packages: Computer ScienceComputer Science (R0)