Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/286936.286950acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Adaptive plug-and-play components for evolutionary software development

Published: 01 October 1998 Publication History

Abstract

In several works on design methodologies, design patterns, and programming language design, the need for program entities that capture the patterns of collaboration between several classes has been recognized. The idea is that in general the unit of reuse is not a single class, but a slice of behavior affecting a set of collaborating classes. The absence of large-scale components for expressing these collaborations makes object-oriented programs more difficult to maintain and reuse, because functionality is spread over several methods and it becomes difficult to get the "big picture". In this paper, we propose Adaptive Plug and Play Components to serve this need. These components are designed such that they not only facilitate the construction of complex software by making the collaborations explicit, but they do so in a manner that supports the evolutionary nature of both structure and behavior.

References

[1]
K. Beck and W. Cunningham. A Laboratory for Teaching Object-Oriented Thinking. In Proceedings of OOPSLA '89, ACM SIGPLAN Notices, Vol. 24, No. 10, pp. 1-6, 1989.
[2]
G. Bracha and W. Cook. Mixin-Based Inheritance. in Proceedings of OOPSLA-ECOOP '90, ACM SIG- PLAN Notices, Vol. 25, No. 10, pp. 303-311, 1990.
[3]
Demeter Research Group. Online Material on Adaptive Programming, Demeter/Java, and AP- PCs. http://www.ccs.neu.edu/research/demeter/
[4]
M. Fowler. UML distilled. Prentice Hall, 1997
[5]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns. Elements o/ Reusable Object- Oriented Software. Addison-Wesley, 1994.
[6]
W. Harrison and H. Ossher Subject-Oriented Programming (A Critique of Pure Objects). In Proceedings o} OOPSLA '93, ACM SIGPLAN Notices, Vol. 28, No. 10, pp. 411-428, 1993.
[7]
R. Helm, I. Holland, and D. Gangopadhyay Contracts: Specifying Behavioral Compositions in Object-Oriented Systems. in Proceedings of OOP- SLA '90, ACM SIGPLAN Notices, Vol. 25, No. 10, pp. 303-311, 1990.
[8]
I. Holland. Specifying Reusable Components Using Contracts. In Proceedings of ECOOP '93, LNCS 615, pp. 287--308, 1992.
[9]
I. Holland. The Design and Representation of Object-Oriented Components. PhD Thesis, Northeastern University, 1993.
[10]
P. Jansson and J. Jeuring. PolyP- a Polytypic Programming Language Extension. In Proceedings of A CM Symposium on Principles o/ Programming Languages, pp. 470-482, jan. 1997.
[11]
R. Johnson and B. Foote. Designing Reusable Classes. In Journal o} Object-Oriented Programming, 1(2), pp. 22-35, June/July 1988.
[12]
R. Johnson. Frameworks = (Components + Patterns). In Communications o/ACM, Vol. 40, No. 10. 1997
[13]
Kiczales G., Lamping J., Mendhekar A, Maeda C., Lopes C. V., Loingtier J. M., Irwin J. Aspect- Oriented Programming. Invited Talk. In Proceedings o/ECOOP '97, LNCS 1241, pp. 220-243, 1997.
[14]
S. Lauesen. Real-Life Object-Oriented Systems. IEEE Software, pages 76-83, March/April 1998.
[15]
K. J. Lieberherr and I. Holland. Assuring Good Style for Object-Oriented Programs. IEEE Software, pages 38-48, September 1989.
[16]
K. J. Lieberherr and D. Orleans. Preventive Program Maintenance in Demeter/Java (Research Demonstration) In Proceedings o~ the ICSE, 1997, pp. 604-605, ACM
[17]
K. J. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient implementation. TR NU-CCS-97-15, College of Computer Science, Northeastern University, 1997.
[18]
M. Mezini. Dynamic Object Evolution Without Name Collisions. in Proceedings o} ECOOP '97, LNCS 1241, pp. 190-219, 1997.
[19]
M. Mezini. Maintaining the Consistency of Class Libraries During their Evolution. In Proceedings o} OOPSLA '97, Sigplan Notices Vol. 29, No. 10, pp.1- 22, 1997.
[20]
M. Mezini. Variation-Oriented Programming Beyond Classes and Inheritance PhD Thesis, University of Siegen, Germany, 1997.
[21]
J. Palsberg, B. Patt-Shamir, and K. Lieberherr. A New Approach to Compiling Adaptive Programs. Science o} Computer Programming, 29(3):303-326, 1997.
[22]
J. Palsberg, C. Xiao, and K. Lieberherr. Efficient Implementation of Adaptive Software. A CM Transactions on Programming Languages and Systems, 17(2):264-292, Mar. 1995.
[23]
T. Reenskaug et al. OORASS: Seamless Support for the Creation and Maintenance of Object Oriented Systems. In Journal o/ Object-Oriented Programming, Oct. 1992.
[24]
Y. Smaragdakis and D. Batory. Implementing Layered Designs with Mixin-Layers. In Proceedings o} ECOOP '98. To appear.
[25]
L. M. Seiter. Design Patterns/or Managing Evolution. Ph.D. Thesis, Northeastern University, 1996.
[26]
P. Steyaert, W. Codenie, T D'Hondt, K. De Hondt, C. Lucas, and M. Van Limberghen. Nested Mixin- Methods in Agora. In Proceedings o} ECOOP '93, LNCS 707, pp. 197-219, Springer-Verlag, 1993.
[27]
C. A. Szyperski. Import is not Inheritance- Why We Need Both: Modules and Classes. In Proceedings o/ECOOP '92, LNCS 615, pp. 19-32, Springer- Verlag, 1992.
[28]
M. VanHilst and D. Notkin Using Role Iomponents to Implement Collaboration-Based Designs. In Proceedings o} OOPSLA '96, ACM SIGPLAN Notices, Vol. 28, No. 10, 1996.
[29]
M. VanHilst. Role-Oriented Programming for Software Evolution. PhD thesis, University of Washington, 1997.
[30]
N. Wilde, P. Matthews and R. Huitt. Maintaining Object-Oriented Software. In IEEE Software, 10(1), pp. 75-80, Jan. 1993.
[31]
N. Wirth and J. Gutknecht. The Oberon System. In Software-Practice and Experience, Vol. 19, No. 9, Sept. 1989.

Cited By

View all
  • (2023)HA-TransformerExpert Systems with Applications: An International Journal10.1016/j.eswa.2023.120539230:COnline publication date: 26-Jul-2023
  • (2023)Cubic Paraconsistent Analysers with Evidence Filter and Temporal Analysis▪Expert Systems with Applications: An International Journal10.1016/j.eswa.2023.120536230:COnline publication date: 26-Jul-2023
  • (2023)Discovering a data interpreted petri net model of industrial control systems for anomaly detectionExpert Systems with Applications: An International Journal10.1016/j.eswa.2023.120511230:COnline publication date: 26-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1998
428 pages
ISBN:1581130058
DOI:10.1145/286936
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 1998

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA98
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)108
  • Downloads (Last 6 weeks)24
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)HA-TransformerExpert Systems with Applications: An International Journal10.1016/j.eswa.2023.120539230:COnline publication date: 26-Jul-2023
  • (2023)Cubic Paraconsistent Analysers with Evidence Filter and Temporal Analysis▪Expert Systems with Applications: An International Journal10.1016/j.eswa.2023.120536230:COnline publication date: 26-Jul-2023
  • (2023)Discovering a data interpreted petri net model of industrial control systems for anomaly detectionExpert Systems with Applications: An International Journal10.1016/j.eswa.2023.120511230:COnline publication date: 26-Jul-2023
  • (2019)Semantic Integration of Plug-and-Play Software Components for Industrial Edges Based on MicroservicesIEEE Access10.1109/ACCESS.2019.29385657(125882-125892)Online publication date: 2019
  • (2019)Feature-oriented contract compositionJournal of Systems and Software10.1016/j.jss.2019.01.044152:C(83-107)Online publication date: 1-Jun-2019
  • (2012)Essential AOPACM Transactions on Programming Languages and Systems10.1145/2362389.236239134:3(1-43)Online publication date: 5-Nov-2012
  • (2012)Architectural point mapping for design traceabilityProceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages10.1145/2162010.2162022(39-44)Online publication date: 26-Mar-2012
  • (2011)Lifted JavaProceedings of the 49th international conference on Objects, models, components, patterns10.5555/2025896.2025910(179-193)Online publication date: 28-Jun-2011
  • (2011)Lifted Java: A Minimal Calculus for Translation PolymorphismObjects, Models, Components, Patterns10.1007/978-3-642-21952-8_14(179-193)Online publication date: 2011
  • (2010)Essential AOPProceedings of the 24th European conference on Object-oriented programming10.5555/1883978.1883987(101-125)Online publication date: 21-Jun-2010
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media