Skip to main content

The Refinement Relation of Graph-Based Generic Programs

Extended Abstract

  • Conference paper
  • First Online:
Generic Programming

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

Abstract

This paper studies a particular variant of Generic Programming, called Adaptive Programming (AP). We explain the approach taken by Adaptive Programming to attain the goals set for Generic Programming. Within the formalism of AP, we explore the important problem of refinement: given two generic programs, does one express a subset of the programs expressed by the other? We show that two natural definitions of refinement coincide, but the corresponding decision problem is computationally intractable (co-NP-complete). We proceed to define a more restricted notion of refinement, which arises frequently in the practice of AP, and give an efficient algorithm for deciding it.

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dean Allemang and Karl J. Lieberherr. Softening Dependencies between Interfaces. Technical Report NU-CCS-98-07, College of Computer Science, Northeastern University, Boston, MA, August 1998.

    Google Scholar 

  2. S. Fortune, John Hopcroft, and J. Wyllie. The directed subgraph homeomorphism problem. Theoretical Computer Science, 10:111–121, 1980.

    Article  MathSciNet  MATH  Google Scholar 

  3. Michael R. Garey and David S. Johnson. Computers and Intractability. Freeman, 1979.

    Google Scholar 

  4. John E. Hopcroft and Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.

    Google Scholar 

  5. Gregor Kiczales. Aspect-oriented programming. ACM Computing Surveys, 28A(4), December 1996.

    Google Scholar 

  6. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In European Conference on Object-Oriented Programming, pages 220–242. Springer Verlag, 1997.

    Google Scholar 

  7. Karl J. Lieberherr. Component enhancement: An adaptive reusability mechanism for groups of collaborating classes. In J. van Leeuwen, editor, Information Processing’ 92, 12th World Computer Congress, pages 179–185, Madrid, Spain, 1992. Elsevier.

    Google Scholar 

  8. Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. 616 pages, ISBN 0-534-94602-X, entire book at http://www.ccs.neu.edu/research/demeter.

    Google Scholar 

  9. Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997. http://www.ccs.neu.edu/research/demeter/AP-Library/.

    Google Scholar 

  10. Karl Lieberherr and Boaz Patt-Shamir. Generic Programming with Graph Refinement. Technical Report NU-CCS-98-10, College of Computer Science, Northeastern University, Boston, MA, September 1998.

    Google Scholar 

  11. Mira Mezini and Karl Lieberherr. Adaptive plug-and-play components for evolutionary software development. Technical Report NU-CCS-98-3, Northeastern University, April 1998. To appear in OOPSLA’ 98.

    Google Scholar 

  12. Joshua Marshall, Doug Orleans, and Karl Lieberherr. DJ: Dynamic Structure-Shy Traversal in Pure Java. Technical report, Northeastern University, May 1999. http://www.ccs.neu.edu/research/demeter/DJ/.

  13. D.R. Musser and A.A. Stepanov. Algorithm-oriented generic libraries. Software-Practice and Experience, 24(7), July 1994.

    Google Scholar 

  14. Jens Palsberg, Cun Xiao, and Karl Lieberherr. Efficient implementation of adaptive software. ACM Transactions on Programming Languages and Systems, 17(2):264–292, March 1995.

    Article  Google Scholar 

  15. Neeraj Sangal, Edward Farrell, Karl Lieberherr, and David Lorenz. Interaction schemata: Compiling interactions to code. In TOOLS USA, Technology of Object-Oriented Languages and Systems, Santa Barbara, CA, August 1999. IEEE Computer Society.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lieberherr, K., Patt-Shamir, B. (2000). The Refinement Relation of Graph-Based Generic Programs. In: Jazayeri, M., Loos, R.G.K., Musser, D.R. (eds) Generic Programming. Lecture Notes in Computer Science, vol 1766. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39953-4_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-39953-4_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41090-4

  • Online ISBN: 978-3-540-39953-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics