Results 1 - 10
of
121
CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications
- IEEE Transactions on Software Engineering
, 2003
"... Mobile devices, such as mobile phones and personal digital assistants, have gained wide-spread popularity. These devices will increasingly be networked, thus enabling the construction of distributed applications that have to adapt to changes in context, such as variations in network bandwidth, batte ..."
Abstract
-
Cited by 83 (4 self)
- Add to MetaCart
Mobile devices, such as mobile phones and personal digital assistants, have gained wide-spread popularity. These devices will increasingly be networked, thus enabling the construction of distributed applications that have to adapt to changes in context, such as variations in network bandwidth, battery power, connectivity, reachability of services and hosts, and so on. In this paper we describe CARISMA, a mobile computing middleware which exploits the principle of reflection to enhance the construction of adaptive and context-aware mobile applications. The middleware provides software engineers with primitives to describe how context changes should be handled using policies. These policies may conflict. We classify the di#erent types of conflicts that may arise in mobile computing and argue that conflicts cannot be resolved statically at the time applications are designed, but, rather, need to be resolved at execution time. We demonstrate a method by which policy conflicts can be handled; this method uses a micro-economic approach that relies on a particular type of sealed-bid auction. We describe how this method is implemented in the CARISMA middleware architecture, and sketch a distributed context-aware application for mobile devices to illustrate how the method works in practise. We show, by way of a systematic performance evaluation, that conflict resolution does not imply undue overheads, before comparing our research to related work and concluding the paper.
ROADMAP: Extending the Gaia Methodology for Complex Open Systems
, 2002
"... This paper is concerned with improving the software engineering of agent-based open systems. It critiques the existing Gaia methodology in the light of a motivating example of intelligent home networks. It describes the ROADMAP methodology, which extends Gaia with four improvements - formal models o ..."
Abstract
-
Cited by 71 (5 self)
- Add to MetaCart
This paper is concerned with improving the software engineering of agent-based open systems. It critiques the existing Gaia methodology in the light of a motivating example of intelligent home networks. It describes the ROADMAP methodology, which extends Gaia with four improvements - formal models of knowledge and the environment, role hierarchies, explicit representation of social structures and relationships, and incorporation of dynamic changes.
An Efficient Component Model For The Construction Of Adaptive Middleware
- PROC. IFIP MIDDLEWARE 2001
, 2001
"... Middleware has emerged as an important architectural component in modern distributed systems. Most recently, industry has witnessed the emergence of component-based middleware platforms, such as Enterprise JavaBeans and the CORBA Component Model, aimed at supporting third party development, confi ..."
Abstract
-
Cited by 70 (19 self)
- Add to MetaCart
Middleware has emerged as an important architectural component in modern distributed systems. Most recently, industry has witnessed the emergence of component-based middleware platforms, such as Enterprise JavaBeans and the CORBA Component Model, aimed at supporting third party development, configuration and subsequent deployment of software. The goals of our research is to extend this work in order to exploit the benefits of component-based approaches within the middleware platform as well as on top of the platform, the result being more configurable and reconfigurable middleware technologies. This is
OpenCorba: a Reflective Open Broker
, 1999
"... Today, CORBA architecture brings the major industrial solution for achieving the interoperability between distributed software components in heterogeneous environments. While the CORBA project attempts to federate distributed mechanisms within a unique architecture, its internal model is not v ..."
Abstract
-
Cited by 63 (2 self)
- Add to MetaCart
Today, CORBA architecture brings the major industrial solution for achieving the interoperability between distributed software components in heterogeneous environments. While the CORBA project attempts to federate distributed mechanisms within a unique architecture, its internal model is not very flexible and seems not to be suitable for future evolutions. In this paper, we present OpenCorba, a reflective open broker, enabling users to adapt dynamically the representation and the execution policies of the software bus. We first expose the reflective foundations underlying the implementation of OpenCorba: i) metaclasses which provide a better separation of concerns in order to improve the class reuse; ii) a protocol which enables the dynamic changing of metaclass in order to allow run-time adaptation of systems. Based on this reflective environment, OpenCorba enables the adaptability of the internal characteristics of the broker in order to change its run-time behavior (e...
2K: A Distributed Operating System for Dynamic Heterogeneous Environments
- in 9th IEEE International Symposium on High Performance Distributed Computing
, 1999
"... The first decades of the new millennium will witness an explosive growth in the number and diversity of networked devices. We foresee high degrees of mobility, heterogeneity, and interactions among computing devices connected to global networks. Conventional operating system architectures are inadeq ..."
Abstract
-
Cited by 60 (9 self)
- Add to MetaCart
The first decades of the new millennium will witness an explosive growth in the number and diversity of networked devices. We foresee high degrees of mobility, heterogeneity, and interactions among computing devices connected to global networks. Conventional operating system architectures are inadequate for the wide-area, heterogeneous computing environments of the new millennium. While previous research in distributed operating systems solved many problems related to resource management, they seldom addressed the problems of heterogeneity and dynamic adaptability. On the other hand, middleware solutions, like CORBA and JINI, solve part of the heterogeneity problem by permitting seamless communication among different platforms. But, still, they do not address dynamic, distributed resource management and adaptability. This paper presents 2K, an integrated operating system architecture that addresses the problems of resource management in heterogeneous networks, dynamic adaptability, and configuration of component-based distributed applications. We discuss our rationale, describe our prototype implementation, and point to future directions.
Reflective middleware solutions for context-aware applications
- IN: INTERNATIONAL CONFERENCE ON METALEVEL ARCHITECTURES AND SEPARATION OF CROSSCUTTING CONCERNS
, 2001
"... In this paper, we argue that middleware for wired distributed systems cannot be used in a mobile setting, as the principle of transparency that has driven their design runs counter to the new degrees of awareness imposed by mobility. We propose the marriage of reflection and metadata as a means for ..."
Abstract
-
Cited by 54 (10 self)
- Add to MetaCart
In this paper, we argue that middleware for wired distributed systems cannot be used in a mobile setting, as the principle of transparency that has driven their design runs counter to the new degrees of awareness imposed by mobility. We propose the marriage of reflection and metadata as a means for middleware to give applications dynamic access to information about their execution context. Finally, we describe a conceptual model that provides the basis of our reflective middleware.
Chisel: A Policy-Driven, Context-Aware, Dynamic Adaptation Framework
, 2003
"... We argue that the software user, the developer, the designer and indeed the application logic itself all possess invaluable intelligence to gear how software should adapt itself to changing requirements and changing context. We present Chisel, an open framework for dynamic adaptation of services usi ..."
Abstract
-
Cited by 42 (0 self)
- Add to MetaCart
We argue that the software user, the developer, the designer and indeed the application logic itself all possess invaluable intelligence to gear how software should adapt itself to changing requirements and changing context. We present Chisel, an open framework for dynamic adaptation of services using reflection in a policy-driven, context-aware manner. The system is based on decomposing the particular aspects of a service object that do not provide its core functionality into multiple possible behaviours. As the execution environment, user context and application context change, the service object will be adapted to use different behaviours, driven by a human-readable declarative adaptation policy script. To demonstrate this framework we will provide a dynamically adaptive middleware for mobile computing. The framework will allow users and applications to make mobile-aware dynamic changes to the behaviour of various services of the middleware, and allow the addition of new unanticipated behaviours at run-time, without changing or stopping the middleware or an application that may be using it. This is achieved by implementing the behaviours as metatypes in Iguana/J, which supports non-invasive dynamic associations of metatypes to service objects without any requirement to interrupt, change or access the objects source code.
On the Separation of Concerns in Program Families
, 2004
"... Aspect-orientation can help to separate concerns in software. One of the goals of this separation is to promote flexibility and configurability; this is especially true when constructing program families (and product-lines). This paper introduces a set of principles that instruct in the creation of ..."
Abstract
-
Cited by 40 (0 self)
- Add to MetaCart
Aspect-orientation can help to separate concerns in software. One of the goals of this separation is to promote flexibility and configurability; this is especially true when constructing program families (and product-lines). This paper introduces a set of principles that instruct in the creation of flexible, configurable, aspect-oriented systems. We illustrate the principles through their application to a software product-line. The principle of dependency alignment serves as a guideline for structuring concern implementation in modules, eliminating unwarranted dependencies between concerns. The principles of orthogonal and weakly orthogonal aspects instruct in the design of aspects that are included in some system configurations, but not in others. We show how these principles scale to larger systems and larger concern implementations.
The Design of a Configurable and Reconfigurable Middleware Platform
- Distributed Computing
, 2002
"... It is now well established that middleware platforms must accommodate an increasingly diverse range of requirements arising from the needs of both applications and underlying systems. Moreover, it is clear that to achieve this accommodation, platforms must be capable of both deployment-time conf ..."
Abstract
-
Cited by 31 (3 self)
- Add to MetaCart
It is now well established that middleware platforms must accommodate an increasingly diverse range of requirements arising from the needs of both applications and underlying systems. Moreover, it is clear that to achieve this accommodation, platforms must be capable of both deployment-time configurability and run-time reconfigurability. This paper describes a middleware platform that addresses these requirements. The platform is built using a well-founded lightweight component model, uses reflective techniques to facilitate (re)configuration, and employs the notion of component frameworks to manage and constrain the scope of reconfiguration operations.
The Role of Software Architecture in Constraining Adaptation in Component-based Middleware Platforms
, 2000
"... . Future middleware platforms will need to be more configurable in order to meet the demands of a wide variety of application domains. Furthermore, we believe that such platforms will also need to be re-configurable, for example to enable systems to adapt to changes in the underlying systems inf ..."
Abstract
-
Cited by 31 (5 self)
- Add to MetaCart
. Future middleware platforms will need to be more configurable in order to meet the demands of a wide variety of application domains. Furthermore, we believe that such platforms will also need to be re-configurable, for example to enable systems to adapt to changes in the underlying systems infrastructure. A number of technologies are emerging to support this level of configurability and re-configurability, most notably middleware platforms based on the concepts of open implementation and reflection. One problem with this general approach is that widespread changes can often be made to the middleware platform, potentially jeopardizing the integrity of the overall system. This paper discusses the role of software architecture in maintaining the overall integrity of the system in such an environment. More specifically, the paper discusses extensions to the Aster framework to support the re-configuration of a reflective (component-based) middleware platform in a constrained m...

