CASA - A Contract-based Adaptive Software Architecture Framework

Traditionally, applications are developed with an implicit reliance on the stability of their execution environment and available resources, while little or no support is provided for the runtime adaptation of application behavior in case of any instability encountered. But such an approach proves futile for more dynamic environments, such as those encountered in self-organized mobile networks, wherein any form of reliance on the runtime computing environment of an application would be highly optimistic. The Contract-based Adaptive Software Architecture (CASA) framework, described in this paper, addresses the need to equip an application with the ability to dynamically adapt itself in response to changes in its execution environment. This implies that an application is able to meet its functional and/or non-functional commitments even when its runtime computing environment changes. The framework builds on the idea of specifying resource requirements and adaptation behavior of applications in application contracts.

[1]  Peter Steenkiste,et al.  Darwin: customizable resource management for value-added network services , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).

[2]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[3]  John A. Zinky,et al.  Specifying and measuring quality of service in distributed object systems , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[4]  Dan S. Wallach,et al.  Java security: Web browsers and beyond , 1997 .

[5]  Ian Foster,et al.  A quality of service architecture that combines resource reservation and application adaptation , 2000, 2000 Eighth International Workshop on Quality of Service. IWQoS 2000 (Cat. No.00EX400).

[6]  Alessandro Orso,et al.  Component Metadata for Software Engineering Tasks , 2000, EDO.

[7]  Stephen S. Yau,et al.  Reconfigurable context-sensitive middleware for ADS applications in mobile ad hoc network environments , 2001, Proceedings 5th International Symposium on Autonomous Decentralized Systems.

[8]  Brian D. Noble System support for mobile, adaptive applications , 2000, IEEE Wirel. Commun..

[9]  Valérie Issarny,et al.  A dynamic reconfiguration service for CORBA , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[10]  Peter J. Denning,et al.  Internet Besieged: Countering Cyberspace Scofflaws , 1997 .

[11]  Marten van Sinderen,et al.  An approach to dynamic reconfiguration of distributed systems based on object-middleware , 2001 .

[12]  Marten van Sinderen,et al.  Transparent dynamic reconfiguration for CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[13]  John L. Bruno,et al.  jContractor: A Reflective Java Library to Support Design by Contract , 1999, Reflection.

[14]  Heinrich Hussmann Towards Practical Support for Component-Based Software Development Using Formal Specification , 2000 .

[15]  Robert Wahbe,et al.  Efficient software-based fault isolation , 1994, SOSP '93.

[16]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[17]  Massachusett Framingham,et al.  The Common Object Request Broker: Architecture and Specification Version 3 , 2003 .

[18]  William H. Sanders,et al.  AQuA: an adaptive architecture that provides dependable distributed objects , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[19]  Fangzhe Chang,et al.  User-level resource-constrained sandboxing , 2000 .

[20]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[21]  Klara Nahrstedt,et al.  Distributed QoS compilation and runtime instantiation , 2000, 2000 Eighth International Workshop on Quality of Service. IWQoS 2000 (Cat. No.00EX400).

[22]  Douglas C. Schmidt,et al.  Techniques for enhancing real-time CORBA quality of service , 2003, Proc. IEEE.

[23]  Cecilia Mascolo,et al.  Towards a mobile computing middleware: Synergy of reflection and mobile code techniques , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

[24]  Karsten Schwan,et al.  On adaptive resource allocation for complex real-time applications , 1997, Proceedings Real-Time Systems Symposium.

[25]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[26]  David A. Wagner,et al.  A Secure Environment for Untrusted Helper Applications , 1996, USENIX Security Symposium.

[27]  Jari Koistinen,et al.  Quality of services specification in distributed object systems design , 1998 .

[28]  Roberto Ierusalimschy,et al.  Dynamic Reconfiguration of CORBA-Based Applications , 1999, SOFSEM.

[29]  Cecilia Mascolo,et al.  Reflective Middleware Solutions for Context-Aware Applications , 2001, Reflection.

[30]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[31]  Douglas C. Schmidt,et al.  Evaluating policies and mechanisms for supporting embedded, real-time applications with CORBA 3.0 , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.