Decouplink: dynamic links for Java

  • Authors:
  • Martin Rytter;Bo Nørregaard Jørgensen

  • Affiliations:
  • The Maersk Mc-Kinney Moller Institute, University of Southern Denmark, Odense M, Denmark;The Maersk Mc-Kinney Moller Institute, University of Southern Denmark, Odense M, Denmark

  • Venue:
  • ECSA'11 Proceedings of the 5th European conference on Software architecture
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software entities should be open for extension, but closed to modification. Unfortunately, unanticipated requirements emerging during software evolution makes it difficult to always enforce this principle. This situation poses a dilemma that is particularly important when considering component-based systems: On the one hand, violating the open/closed principle by allowing for modification compromises independent extensibility. On the other hand, trying to enforce the open/closed principle by prohibiting modification precludes unanticipated dimensions of extension. Dynamic links increase the number of dimensions of extension that can be exploited without performing modification of existing types. Thus, dynamic links make it possible to enforce the open/closed principle in situations where it would otherwise not be possible. We present Decouplink - a library-based implementation of dynamic links for Java. We also present experience with the use of dynamic links during the evolution of a component-based control system.