Application Level Adaptation - Wiley Online Library

12 downloads 109651 Views 61KB Size Report
Emerging new technologies enable applications that require autoadaptive ... planned by the authors are the development of a dynamic Architecture Description ...
SOFTWARE—PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2006; 36:1227–1229 Published online in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/spe.780

Editorial: Experiences with Auto-adaptive and Reconfigurable Systems (Application Level Adaptation)

This is the second part of the special issue on auto-adaptive and reconfigurable systems. The first part of this special issue was dedicated to experience at the system level while this part will focus on the application level. Emerging new technologies enable applications that require autoadaptive software. The new characteristics of these emerging technologies demand innovative approaches. Since the configurations needed in a particular context can hardly be anticipated, the software must support dynamic non-invasive approaches to behavioral adaptation in specific applications. Different applications exhibit different requirements regarding adaptivity and reconfigurability. The development of these applications requires new approaches to designing each specific application architecture in order to enable the application at hand to exhibit dynamic adaptability. In addition, linguistic expressions that can enable the implementation of dynamic adaptability are needed. The papers in this volume present both abstractions and techniques for designing general purpose adaptive and reconfigurable applications and also domain-specific abstractions and techniques for specific applications. ‘ISAMadapt: abstractions and tools for designing general-purpose pervasive applications’, by I. Augustin et al., introduces the ISAMadapt project, which approaches the challenge of supporting ‘follow-me’ semantics for building generic applications that run in the pervasive environment. The programming abstractions used for building pervasive applications are based on four concepts: context, adapter, adaptation command and policy. Collaborative integration of the application with the middleware that manages the whole pervasive environment is necessary. The ISAM architecture combines the management of pervasive applications at runtime and the design/coding of an application’s context aware behaviors into a comprehensive computational model. The paper proposes programming tools to express mobility and context-aware adaptability in a natural way that simplifies the implementation. Practical application of the suggested technology and integration with current technologies are reported as future plans in order to better evaluate the proposal. In ‘The F RACTAL component model and its support in Java’, by Eric Bruneton et al., a reflective component model is presented to support application level adaptation. The F RACTAL framework allows programmers to enhance components with a user-defined extensible set of reflective capabilities. This feature allows fine-grained manipulation of components’ internal structures. JULIA is a Java implementation of the model that provides a small runtime library together with byte code generation using aspect weaving to allow the creation and combination of controller and interceptor classes. F RACTAL and JULIA are currently being used for evaluation and extensions. Some future applications planned by the authors are the development of a dynamic Architecture Description Language (ADL)

c 2006 John Wiley & Sons, Ltd. Copyright 

1228

EDITORIAL

to enforce architectural integrity constraints and the formal specification of F RACTAL to allow integration with existing formal verification tools. ‘End-user programming of reconfigurable systems’, by Rob Hague and Peter Robjrisoll, presents an interesting adaptation at application level by providing a system called Lingua Franca. The authors argue that there is no one prefect programming language that is best for all applications. Even for a specific application there is no best language for all stages of application development and tasks. The paper’s solution for this is a presentation of an end-user programming language that allows the same application to be viewed and edited in different programming languages. A flexible mechanism for integrating a set of programming languages into an interrelated system is provided. The authors claim that for a specific domain, such as the domestic computing environment, this capability enhances the adaptability of applications to accommodate a wide variety of user needs. For example, a wide range of possible access to the re-configurability of the system can be implemented. New design approaches are needed in order to achieve balance between application autonomy and user control. Such models should provide consistency, transparency and traceability so that users can be aware of the impact of their actions and address privacy concerns in relation to sensitive types of context information. ‘Using context and preferences to implement self-adapting pervasive computing applications’, by Karen Henricksen et al., focuses on building context-aware applications that support the flexibility required for graceful evolution and customizations by users. The authors claim that highlevel abstractions are better for describing, reasoning and exploiting context information as a basis for self adaptation. The mechanism is based on a preference model that implements features for editing preferences choices at specific points of an application. Contextual information is used for editing preferences in order to adapt application behavior to dynamically changing operating environments and user requirements. The paper presents a case study to demonstrate the value of this feature in a context-aware communication tool that recommends channels for interactions between users on the basis of context information, such as current activity and location, available communication devices and relationships between participants. Other self-adapting applications can be implemented by using the proposed model. ‘An architecture for adaptive intrusion-tolerant applications’, by Partha Pal et al., presents an architecture called Intrusion Tolerance by Unpredictability and Adaptation (ITUA). The assumption is that not all attacks can be prevented and therefore the ITUA combines protection, detection and adaptation in order to survive potential attack effects. The paper suggests coping with changes made by intrusions either by actively engaging supplementary mechanisms to counter or remedy the effects or by continuing despite the changed situation. The techniques and mechanisms used to achieve adaptability intrusion include using Byzantine fault-tolerant replication in a dynamic way where corrupt replicas are replaced by new replicas. When Byzantine fault tolerance is untenable the system is gracefully degraded. The system manages a redundant number of hosts organized in security domains in a decentralized manner without implicit trust. The proposed integration of multiple types of defensive responses and adaptation strategies results with a more comprehensive approach to intrusion. The technology has been used to defend a critical avionics application. Gateway proxies are often used to facilitate adaptation across wireless and mobile environments. The usual approach to the static composition of service entities on the gateway proxy is to have these service entities interact with each other by explicitly invoking procedures on the named interface. These hard-wired interfaces make it very difficult for the system to adapt and reconfigure itself, and therefore should be replaced with different language features that would better support c 2006 John Wiley & Sons, Ltd. Copyright 

Softw. Pract. Exper. 2006; 36:1227–1229 DOI: 10.1002/spe

EDITORIAL

1229

adaptability and reconfigurability. ‘MCL: a MobiGATE coordination language for highly adaptive and reconfigurable mobile middleware’, by Yongjie Zheng et al., presents a coordination language called the MobiGate Coordination Language (MCL) to describe the composition of proxy services in a wireless environment. The technique is based on separating the interactions among streamlets from their computation through the abstraction of a coordination plane. The complexity of directly coding the flow of interactions among streamlets is captured via the abstractions provided by MCL. MCL supports the modeling of service interfaces based on a Multipurpose Internet Mail Extension (MIME) media type system, providing support for a check on the compatibility of the compositions and support for recursive compositions. Analysis of the composition correctness of the system is enabled through formalizing MCL semantics. The authors conducted initial experiments with the system to prove its explicabilities. Mehmet Aksit University of Twente, Enschede, The Netherlands E-mail: [email protected] Tzilla Elrad Illinois Institute of Technology, U.S.A. E-mail: [email protected]

c 2006 John Wiley & Sons, Ltd. Copyright 

Softw. Pract. Exper. 2006; 36:1227–1229 DOI: 10.1002/spe