Learn More
Interest in adaptive computing systems has increased dramatically in the past few years, and a variety of techniques now allow software to adapt dynamically to its environment. Compositional adaptation enables software to modify its structure and behavior dynamically in response to change in its execution environment. A review of current technology compares(More)
The increasing demand for high performance computing resources has led to new forms of collaboration of distributed systems, such as grid computing systems. Moreover, the need for interoperability among different grid systems through the use of common protocols and standards has become increased in the last few years. In this paper we describe and evaluate(More)
This paper describes the internal architecture and operation of an adaptable communication component called the MetaSocket. MetaSockets are created using Adaptive Java, a reflective extension to Java that enables a component's internal architecture and behavior to be adapted at run time in response to external stimuli. This paper describes how adaptive(More)
We propose an Adaptive CORBA Template (ACT), which enables run-time improvements to CORBA applications in response to unanticipated changes in either their functional requirements or their execution environments. ACT enhances CORBA applications by transparently weaving adaptive code into their object request brokers (ORBs) at run time. The woven code(More)
This paper describes TRAP/J, a software tool that enables new adaptable behavior to be added to existing Java applications transparently (that is, without modifying the application source code and without extending the JVM). The generation process combines behav-ioral reflection and aspect-oriented programming to achieve this goal. Specifically, TRAP/J(More)
TRAP/BPEL is a framework that adds autonomic behavior into existing BPEL processes automatically and transparently. We define an autonomic BPEL process as a composite Web service that is capable of responding to changes in its execution environment (e.g., a failure in a partner Web service). Unlike other approaches, TRAP/BPEL does not require any manual(More)
The need for adaptability in software is growing, driven in part by the emergence of pervasive and autonomic computing. In many cases, it is desirable to enhance existing programs with adaptive behavior, enabling them to execute effectively in dynamic environments. In this paper, we propose a general programming model called <i>transparent shaping</i> to(More)
Many middleware platforms use computational reflection to support adaptive functionality. Most approaches intertwine the activity of observing behavior (introspection) with the activity of changing behavior (intercession). This paper explores the use of language constructs to separate these parts of reflective functionality. This separation and " packaging(More)
Developing distributed applications is a difficult task due to three major problems: the complexity of programming interprocess communication, the need to support services across heterogeneous platforms, and the need to adapt to changing conditions. Traditional middleware (such as CORBA, DCOM, and Java RMI) addresses the first two problems to some extent(More)