JOINT

Javalab


The TAILOR Project:
Dealing with Unanticipated Software Evolution

  • Software requirements are in a constant flux.
  • Some changes can be anticipated in software, using special design patterns.
  • However, these techniques cannot address unanticipated changes by definition.

The goal of the TAILOR Project is to conceive and implement enhancements of programming languages and runtime systems that allow for unanticipated software evolution.

In this effort, special attention is paid to the following issues.

Applicability to black-box components

How can software be changed, when there is no access to its source code?
Delegation provides a means to manipulate the internals of a component from the outside.

Applicability at runtime

How can programs be changed without stopping them?
This can be tackled by dynamic replacement of objects, but only if the need to explicitly inform clients of this change is avoided.

Independent extensibility

How can changes to software be developed independently and used jointly, without having to anticipate the joint use of these changes?
There is no general answer to this question, but a an adequate classification helps to determine the border between changes that support and those that break independent extensibility.

In Projects we outline our current proposals that address these issues, and give references to detailed information. In Other Groups a list of related work is given. The Downloads section links to some of the software that has been developed within our projects. Please contact us for any further inquiries.

URL: http://javalab.cs.uni-bonn.de/research/tailor/adapt.html Date: 01.08.2005

.