Skip to main content

Toward a classification approach to design

  • Conference Invited Talk
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1101))

Abstract

This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory An abstract design concept is applied by constructing a specification morphism from its design theory to a requirement specification. Procedures for propagating constraints, computing colimits, and constructing specification morphisms provide computational support for this approach. Although we conjecture that classification generally applies to the incremental application of knowledge represented in a taxonomy of design theories, this paper mainly focuses on algorithm design theories and presents several examples of design by classification.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Astesiano, E., and Wirsing, M. An introduction to ASL. In Program Specification and Transformation, L. Meertens, Ed. North-Holland, Amsterdam, 1987, pp. 343–365.

    Google Scholar 

  2. Blaine, L., and Goldberg, A. DTRE — a semi-automatic transformation system. In Constructing Programs from Specifications, B. Möller, Ed. North-Holland, Amsterdam, 1991, pp. 165–204.

    Google Scholar 

  3. Broy, M., Wirsing, M., and Pepper, P. On the algebraic definition of programming languages. ACM Transactions on Programming Languages and Systems 9, 1 (January 1987), 54–99.

    Google Scholar 

  4. Ehrig, H., Kreowski, H. J., Thatcher, J., Wagner, E., and Wright, J. Parameter passing in algebraic specification languages. In Proceedings, Workshop on Program Specification (Aarhus, Denmark, Aug. 1981), vol. 134, pp. 322–369.

    Google Scholar 

  5. Ehrig, H., and Mahr, B.Fundamentals of Algebraic Specification, vol. 2: Module Specifications and Constraints. Springer-Verlag, Berlin, 1990.

    Google Scholar 

  6. Enderton, H. B.A Mathematical Introduction to Logic. Academic Press, New York, 1972.

    Google Scholar 

  7. Goguen, J. A., Thatcher, J. W., and Wagner, E. G. An initial algebra approach to the specification, correctness and implementation of abstract data types. In Current Trends in Programming Methodology, Vol. 4: Data Structuring, R. Yeh, Ed. Prentice-Hall, Englewood Cliffs, NJ, 1978.

    Google Scholar 

  8. Goguen, J. A., Thatcher, J. W., Wagner, E. G., and Wright, J. B. Initial algebra semantics and continuous algebras. Journal of the ACM 24, 1 (January 1977), 68–95.

    Google Scholar 

  9. Goguen, J. A., and Winkler, T. Introducing OBJ3. Tech. Rep. SRI-CSL-88-09, SRI International, Menlo Park, California, 1988.

    Google Scholar 

  10. Guttag, J. V., and Horning, J. J. The algebraic specification of abstract data types. Acta Inf. 10 (1978), 27–52.

    Google Scholar 

  11. Hoare, C. Varieties of programming languages. Tech. rep., Programming Research Group, University of Oxford, Oxford, UK, 1989.

    Google Scholar 

  12. Lowry, M. R. Algorithm synthesis through problem reformulation. In Proceedings of the 1987 National Conference on Artificial Intelligence (Seattle, WA, July 13–17, 1987).

    Google Scholar 

  13. Papadimitriou, C. H., and Steiglitz, K.Combinatorial Optimisation: Algorithms and Complexity. Prentice Hall, Englewood Cliffs, NJ, 1982.

    Google Scholar 

  14. Partsch, H.Specification and Transformation of Programs: A Formal Approach to Software Development. Springer-Verlag, New York, 1990.

    Google Scholar 

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

    Google Scholar 

  16. Smith, D. R. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence 27, 1 (September 1985), 43–96. (Reprinted in Readings in Artificial Intelligence and Software Engineering, C. Rich and R. Waters, Eds., Los Altos, CA, Morgan Kaufmann, 1986.).

    Google Scholar 

  17. Smith, D. R., and Lowry, M. R. Algorithm theories and design tactics. In Proceedings of the International Conference on Mathematics of Program Construction, LNCS 375, L. van de Snepscheut, Ed. Springer-Verlag, Berlin, 1989, pp. 379–398. (reprinted in Science of Computer Programming, 14(2–3), October 1990, pp. 305–321).

    Google Scholar 

  18. Smith, D. R. KIDS — a semi-automatic program development system. IEEE Transactions on Software Engineering Special Issue on Formal Methods in Software Engineering 16, 9 (September 1990), 1024–1043.

    Google Scholar 

  19. Smith, D. R. Structure and design of problem reduction generators. In Constructing Programs from Specifications, B. Möller, Ed. North-Holland, Amsterdam, 1991, pp. 91–124.

    Google Scholar 

  20. Smith, D. R. Constructing specification morphisms. Journal of Symbolic Computation, Special Issue on Automatic Programming 15, 5–6 (May–June 1993), 571–606.

    Google Scholar 

  21. Smith, D. R. Derivation of parallel sorting algorithms. In Parallel Algorithm Derivation and Program Transformation, R. Paige, J. Reif, and R. Wachter, Eds. Kluwer Academic Publishers, New York, 1993, pp. 55–69.

    Google Scholar 

  22. Srinivas, Y. V. Algebraic specification for domains. In Domain Analysis: Acquisition of Reusable Information for Software Construction, R. Prieto-Diaz and G. Arango, Eds. IEEE Computer Society Press, Los Alamitos, CA, 1991, pp. 90–124.

    Google Scholar 

  23. Srinivas, Y. V., and Jüllig, R. Specware:tm formal support for composing software. In Proceedings of the Conference on Mathematics of Program Construction, B. Moeller, Ed. Springer-Verlag, Berlin, 1995. Lecture Notes in Computer Science, Vol. 947.

    Google Scholar 

  24. Turski, W. M., and Maibaum, T. E.The Specification of Computer Programs. Addison-Wesley, Wokingham, England, 1987.

    Google Scholar 

  25. Veloso, P. A. Problem solving by interpretation of theories. In Contemporary Mathematics, vol. 69. American Mathematical Society, Providence, Rhode Island, 1988, pp. 241–250.

    Google Scholar 

  26. Wirsing, M. Algebraic specification. In Formal Models and Semantics

    Google Scholar 

  27. J. van Leeuwen, Ed., vol. B of Handbook of Theoretical Computer Science. MIT Press/Elsevier, 1990, pp. 675–788.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martin Wirsing Maurice Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Smith, D.R. (1996). Toward a classification approach to design. In: Wirsing, M., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1996. Lecture Notes in Computer Science, vol 1101. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014308

Download citation

  • DOI: https://doi.org/10.1007/BFb0014308

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61463-0

  • Online ISBN: 978-3-540-68595-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics