Skip to main content

Horizontal Composability Revisited

  • Chapter
Algebra, Meaning, and Computation

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4060))

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. Borzyszkowski, T.: Logical systems for structured specifications. Theoretical Computer Science 286, 197–245 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  6. Bidoit, M., Sannella, D., Tarlecki, A.: Architectural specifications. Casl. Formal Aspects of Computing 13, 252–273 (2002)

    Article  MATH  Google Scholar 

  7. Burstall, R.M.: Programming with modules as typed functional programming. In: Proc. Intl. Conference on Fifth Generation Computing Systems, Tokyo, pp. 103–112 (1984)

    Google Scholar 

  8. CoFI (The Common Framework Initiative). Casl Reference Manual. Springer LNCS 2960, IFIP Series (2004)

    Google Scholar 

  9. 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)

    MATH  MathSciNet  Google Scholar 

  10. Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263 (1982)

    Article  MATH  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    MATH  MathSciNet  Google Scholar 

  14. Goguen, J.A.: Parameterized programming and software architecture. In: Proc. 4th Intl. IEEE Conf. on Software Reuse, pp. 2–11 (1996)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Hoare, C.A.R.: Correctness of data representations. Acta Informatica 1, 271–281 (1972)

    Article  MATH  Google Scholar 

  19. Jones, C.B.: Software Development: A Rigorous Approach. Prentice-Hall, Englewood Cliffs (1980)

    MATH  Google Scholar 

  20. Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: A gentle introduction. Theoretical Computer Science 173, 445–484 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  21. Lopes, A., Fiadeiro, J.: Preservation and reflection in specification. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 380–394. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  22. 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)

    Google Scholar 

  23. MacLane, S.: for the Working Mathematician. Springer, Heidelberg (1971)

    Google Scholar 

  24. Mossakowski, T., Hoffman, P., Autexier, S., Hutter, D.: CASL logic. In: Mossakowski, T. (ed.) [CoF 2004], part IV, pp. 275–361 (2004)

    Google Scholar 

  25. Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Intl. Joint Conf. on Artificial Intelligence, pp. 481–489 (1971)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997) (revised)

    Google Scholar 

  28. Scherlis, W., Scott, D.: First steps towards inferential programming. In: IFIP Congress, pp. 199–212 (1983)

    Google Scholar 

  29. Sannella, D., Sokołowski, S., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Parameterisation revisited. Acta Informatica 29(8), 689–736 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  30. Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  31. Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25, 233–281 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  32. 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)

    Google Scholar 

  33. Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)

    Article  MATH  Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics