Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/319568.319579acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

Software templates

Published: 01 August 1985 Publication History

Abstract

Software components often cannot be reused since the algorithms they realize are encoded in terms of particular implementations. This paper presents an approach to reusability where algorithms and implementations are specified separately. An algorithm is specified by a sequence of recursion equations called a software template. Templates are defined over values of abstract data types whose implementations are specified separately and catalogued. When a template's data types are bound to catalogued implementations, the template is automatically translated into a component tailored to the chosen implementations, a process called template instantiation. Different implementations of an algorithm can be achieved by merely binding the data types of its template, specification to different implementations.

References

[1]
R. Burstall, D. MacQueen and D. Sannella, "HOPE: An Experimental Applicative Language," Proc. 1980 LISP Conference, Stanford, CA., 1980, pp. 136-143.
[2]
J. Gannon, P. McMullin and R. Hamlet, "Data- Abstraction Implementation, Specification, and Testing," ACM Trans. on Programming Languages and Systems, vol. 3, 3 (July IQSl), pp. 211-223.
[3]
J. Goguen, J. Thatcher and E. Wagner, "An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types," in Current Trends in Programming Methodology, vol. 4, R.T. Yeh (ed.), Prentice Hall, 1977, pp. 80-149.
[4]
M. Gordon, R. Milner and C. Wadsworth, Edinburgh LCF, vol. 78, Lecture Notes in Computer Science, Springer-Verlag, 1979.
[5]
J. Guttag, E. Horowitz and D. Musser, "Abstract Data Types and Software Validation," Comm. ACM, vol. 21, 12 (Dec. 1978), pp. 1048-1064.
[6]
B. Kernighan and D. Ritchie, The C Programming Language, Prentice-Hall, 1978.
[7]
R. Kieburtz and J. Shultis, "Transformations of FP Program Schemes," Proc. ACM Conf. on Functional Programming Languages and Computer Architecture, Portsmouth, NH., 1981, pp. 41-48.
[8]
M. Wand, "Continuation-Based Program Transformation Strategies," J. ACM, vol. 27, 1 (Jan. 1980), pp. 164-180.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '85: Proceedings of the 8th international conference on Software engineering
August 1985
402 pages
ISBN:0818606207

Sponsors

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 01 August 1985

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)9
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Web Service CompositionACM Computing Surveys10.1145/283127048:3(1-41)Online publication date: 9-Dec-2015
  • (2000)Automatically Checking an Implementation against Its Formal SpecificationIEEE Transactions on Software Engineering10.1109/32.82576626:1(55-69)Online publication date: 1-Jan-2000
  • (1998)From ML to Ada: Strongly-typed language interoperability via source translationJournal of Functional Programming10.1017/S09567968980030868:4(367-412)Online publication date: 1-Jul-1998
  • (1996)A software engineering experiment in software component generationProceedings of the 18th international conference on Software engineering10.5555/227726.227842(542-552)Online publication date: 1-May-1996
  • (1994)Software design for reliability and reuseProceedings of the conference on TRI-Ada '9410.1145/197694.197740(396-404)Online publication date: 11-Nov-1994
  • (1993)Software components in a data structure precompilerProceedings of the 15th international conference on Software Engineering10.5555/257572.257671(437-446)Online publication date: 21-May-1993
  • (1993)Scalable software librariesProceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering10.1145/256428.167078(191-199)Online publication date: 1-Dec-1993
  • (1993)Scalable software librariesACM SIGSOFT Software Engineering Notes10.1145/167049.16707818:5(191-199)Online publication date: 1-Dec-1993
  • (1992)A transformational approach to generating application-specific environmentsACM SIGSOFT Software Engineering Notes10.1145/142882.14291717:5(68-77)Online publication date: 1-Nov-1992
  • (1992)A transformational approach to generating application-specific environmentsProceedings of the fifth ACM SIGSOFT symposium on Software development environments10.1145/142868.142917(68-77)Online publication date: 1-Nov-1992
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media