Skip to main content

Fully Automatic Adaptation of Software Components Based on Semantic Specifications*

  • Conference paper
  • First Online:

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

Abstract

We describe the design and methods of a tool that, based on behavioral specifications in interfaces, generates simple adaptation code to overcome incompatibilities between Standard ML modules.

This work was partially supported by NSF/DARPA grant CCR-9633388, EPSRC grant GR/R 41545/01, EC FP5 grant IST-2001-33477, NATO grant CRG 971607, NSF grants CCR 9988529 and ITR 0113193, Sun Microsystems equipment grant EDUD-7826-990410-US.

Modules are called structures in SML and interfaces (the types of modules) are called signatures.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. V. Aponte, R. D. Cosmo. Type isomorphisms for module signatures. In 8th Int’l Symp. Prog. Lang.: Implem., Logics & Programs, PLILP’ 96, vol. 1140 of LNCS. Springer-Verlag, 1996.

    Google Scholar 

  2. I. Cervesato, F. Pfenning. Linear higher-order pre-unification. In Proc. 12th Ann. IEEE Symp. Logic in Comput. Sci., 1997.

    Google Scholar 

  3. R. L. Constable, J. Hickey. Nuprl’s class theory and its applications. Unpublished, 2000.

    Google Scholar 

  4. R. Di Cosmo. Isomorphisms of Types: From Lambda-Calculus to Information Retrieval and Language Design. Birkhäuser, 1995.

    Google Scholar 

  5. R. Dyckhoff, L. Pinto. A permutation-free sequent calculus for intuitionistic logic. Technical Report CS/96/9, University of St Andrews, 1996.

    Google Scholar 

  6. B. Fischer, J. Schumann. NORA/HAMMR: Making deduction-based software component retrieval practical. In Proc. CADE-14 Workshop on Automated Theorem Proving in Software Engineering, 1997.

    Google Scholar 

  7. C. Haack. Foundations for a tool for the automatic adaptation of software components based on semantic specifications. PhD thesis, Kansas State University, 2001.

    Google Scholar 

  8. R. Harper, J. Mitchell. On the type structure of Standard ML. ACM Trans. on Prog. Lang. and Sys., 15(2), 1993.

    Google Scholar 

  9. D. Hemer, P. Lindsay. Specification-based retrieval strategies for module reuse. In Australian Software Engineering Conference. IEEE Computer Society Press, 2001.

    Google Scholar 

  10. H. Herbelin. A λ-calculus structure isomorphic to Gentzen-style sequent calculus structure. In Proc. Conf. Computer Science Logic, vol. 933 of LNCS. Springer-Verlag, 1994.

    Google Scholar 

  11. G. Huet. A unification algorithm for typed λ-calculus. Theoret. Comput. Sci., 1(1), 1975.

    Google Scholar 

  12. S. Kahrs, D. Sannella, A. Tarlecki. The definition of Extended ML: A gentle introduction. Theoretical Computer Science, 173, 1997.

    Google Scholar 

  13. M. Lowry, A. Philpot, T. Pressburger, I. Underwood. Amphion: Automatic programming for scientific subroutine libraries. In Proc. 8th Intl. Symp. on Methodologies for Intelligent Systems, vol. 869 of LNCS, Charlotte, 1994.

    Google Scholar 

  14. D. Miller. A logic programming language with lambda-abstraction, function variables and simple unification. Journal of Logic and Computation, 1(4), 1991.

    Google Scholar 

  15. R. Milner, M. Tofte, R. Harper, D. MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.

    Google Scholar 

  16. T. Nipkow. Higher-order unification, polymorphism and subsorts. In Proc. 2nd Int. Workshop Conditional & Typed Rewriting System, LNCS. Springer-Verlag, 1990.

    Google Scholar 

  17. G. D. Plotkin. Call-by-name, call-by-value and the lambda calculus. Theoret. Comput. Sci., 1, 1975.

    Google Scholar 

  18. M. Rittri. Using types as search keys in function libraries. J. Funct. Programming, 1(1), 1991.

    Google Scholar 

  19. E. R. Rollins, J. M. Wing. Specifications as search keys for software libraries. In K. Furukawa, ed., Eighth International Conference on Logic Programming. MIT Press, 1991.

    Google Scholar 

  20. C. Runciman, I. Toyn. Retrieving reusable software components by polymorphic type. Journal of Functional Programming, 1(2), 1991.

    Google Scholar 

  21. M. Stickel, R. Waldinger, M. Lowry, T. Pressburger, I. Underwood. Deductive composition of astronomical software from subroutine libraries. In The 12th International Conference on Automated Deduction, Nancy, France, 1994.

    Google Scholar 

  22. P. Wadler. Theorems for free! In 4th Int. Conf. on Functional Programming Languages and Computer Architecture, 1989.

    Google Scholar 

  23. A. M. Zaremski, J. M. Wing. Specification matching of software components. ACM Transactions on Software Engineering and Technology, 6(4), 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Haack, C., Howard, B., Stoughton, A., Wells, J.B. (2002). Fully Automatic Adaptation of Software Components Based on Semantic Specifications* . In: Kirchner, H., Ringeissen, C. (eds) Algebraic Methodology and Software Technology. AMAST 2002. Lecture Notes in Computer Science, vol 2422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45719-4_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-45719-4_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44144-1

  • Online ISBN: 978-3-540-45719-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics