skip to main content
10.1145/236337.236363acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Reuse contracts: managing the evolution of reusable assets

Published: 01 October 1996 Publication History

Abstract

A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvements to the original artifact. We propose to codify the management of change in a software system by means of reuse contracts that record the protocol between managers and users of a reusable asset. Just as real world contracts can be extended, amended and customised, reuse contracts are subject to parallel changes encoded by formal reuse operators: extension, refinement and concretisation. Reuse contracts and their operators serve as structured documentation and facilitate the propagation of changes to reusable assets by indicating how much work is needed to update previously built applications, where and how to test and how to adjust these applications.

References

[1]
Bracha. G. The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance, PhD Thesis, Dept. of Computer Science, University of Utah, 1992.
[2]
Goldberg, A., Rubin, K. Succeeding with Objects: Decision Frameworks for Project Management, ISBN 0-201-62878-3, Addison-Wesley Publishing Company, 1995.
[3]
Helm, R., Holland, I., Gangopadhyay, D. "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems", Proceedings of Joint ECOOP/OOPSLA '90 Conference, pp. 169-180, ACM Press, 1990.
[4]
Holland, I. The Design and Representation of Object-Oriented Components, PhD thesis, Northeastern University, 183 pages, 1992.
[5]
Johnson, R., Foote, B. "Designing Reusable Classes", Journal of Object-Oriented Programming, 1(2): 22-35, 1988.
[6]
Kiczales, G., Lamping, J. "Issues in the Design and Specification of Class Libraries", Proceedings of OOPSLA '92, Conference on Object-Oriented Programruing, Systems, Languages and Applications, pp. 435-451, ACM Press, 1992.
[7]
Lamping, J. "Typing the Specialisation Interface", Proceedings of OOPSLA '93, Conference on Object-Oriented Programruing, Systems, Languages and Applications, pp. 201-215, ACM Press, 1993.
[8]
Mens, K., Lucas, C., Steyaert, P. "ARC: an Algebra of Reuse Contracts", Tech-report available at: progftp.vub.ac.be/tech_report /1996/vub-prog-tr-96-03.ps.Z.
[9]
Opdyke, W., Johnson, R. "Refactoring: An Aid in Designing Application Frameworks and Evolving Object-Oriented Systems", Proceedings of Symposium on Object- Oriented Programming Emphasizing Practical Applications (SOOPPA), 1990.
[10]
Ossher, H., Harrison, W. "Combination of Inheritance Hierarchies", Proceedings of OOPSLA '92, Conference on Object- Oriented Programming, Systems, Languages and Applications, pp. 25-40, ACM Press, 1992.
[11]
Ossher, H., Kaplan, M., Harrison, W., Katz, A., Kruskal, V. "Subject-Oriented Composition Rules", Proceedings of OOPSLA '95, Conference on Object- Oriented Programming, Systems, Languages and Applications, pp. 235-250, ACM Press, }995.
[12]
Pancake, C. "Object Roundtable, The Promise and the Cost of Object Technology: A Five-Year Forecast", Communications of the A CM, October 1995, Vol 38(10), pp. 32-49, ACM Press, 1995.
[13]
Stata, R., Guttag, J. "Modular Reasoning in the Presence of Subclassing", Proceedings of OOPSLA '92, Conference on Object- Oriented Programming, Systems, Languages and Applications, pp. 200-214, ACM Press, 1995.
[14]
Van Limberghen, M., Mens, T. "Encapsulation and Composition as Orthogonal Operators on Mixins: A Solution to Multiple inheritance Problems", Object Oriented Systems Jo urn a l, Volume 3, Number 1, Chapmann&Hall, 1996.
[15]
Xerox Parc Aspect-Oriented Programming Project, "A position paper on Aspect- Oriented Programming", position paper for the A CM Workshop on Strategic Directions in Computing Research, Working Group Object-Oriented Programming, June 14-15 1996, MIT, USA
[16]
Yourdon, E. Object-Oriented System Design." An Integrated Approach, Yourdon Press Computing Systems, Prentice Hall, 1994.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '96: Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1996
458 pages
ISBN:089791788X
DOI:10.1145/236337
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1996

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA96
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)10
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all

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