Results 1 - 10
of
22
Carisma: context-aware reflective middleware system for mobile applications
- IEEE TRANS. 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, batt ..."
Abstract
-
Cited by 177 (5 self)
- Add to MetaCart
(Show Context)
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, etc. 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 different 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 microeconomic 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 practice. 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.
ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability
- Interoperability”, Proc. International Symposium of Distributed Objects and Applications (DOA’03
, 2003
"... Abstract. Mobile client applications must discover and interoperate with application services available to them at their present location. However, these services will be developed upon a range of middleware types (e.g. RMI and publish-subscribe) and advertised using different service discovery prot ..."
Abstract
-
Cited by 63 (19 self)
- Add to MetaCart
(Show Context)
Abstract. Mobile client applications must discover and interoperate with application services available to them at their present location. However, these services will be developed upon a range of middleware types (e.g. RMI and publish-subscribe) and advertised using different service discovery protocols (e.g. UPnP and SLP) unknown to the application developer. Therefore, a middleware platform supporting mobile client applications should ideally adapt its behaviour to interoperate with any type of discovered service. Furthermore, these applications should be developed independently from particular middleware implementations, as the interaction type is unknown until run-time. This paper presents ReM-MoC, a reflective middleware platform that dynamically adapts both its binding and discovery protocol to allow interoperation with heterogeneous services. Furthermore, we present the ReMMoC programming model, which is based upon the Web Services concept of abstract services. We evaluate this work in terms of supporting mobile application development and the memory footprint cost of utilising reflection to create a mobile middleware platform. 1
Dynamic Configuration Of Resource-Aware Services
, 2004
"... the ability to adapt at run time, taking advantage of local computing devices, and coping with dynamically changing resources. Three specific technical challenges in satisfying this requirement are to (1) select an appropriate set of applications or services to carry out a user's task, (2) allo ..."
Abstract
-
Cited by 55 (7 self)
- Add to MetaCart
the ability to adapt at run time, taking advantage of local computing devices, and coping with dynamically changing resources. Three specific technical challenges in satisfying this requirement are to (1) select an appropriate set of applications or services to carry out a user's task, (2) allocate (possibly scarce) resources among those applications, and (3) reconfigure the applications or resource assignments if the situation changes. In this paper we show how to provide a shared infrastructure that automates configuration decisions given a specification of the user's task. The heart of the approach is an analytical model and an efficient algorithm that can be used at run time to make near-optimal (re)configuration decisions. We validate this approach both analytically and by applying it to a representative scenario.
Mobile Computing Middleware
- In Advanced lectures on networking
, 2002
"... Recent advances in wireless networking technologies and the growing success of mobile computing devices, such as laptop computers, third generation mobile phones, personal digital assistants, watches and the like, are enabling new classes of applications that present challenging problems to desi ..."
Abstract
-
Cited by 53 (1 self)
- Add to MetaCart
(Show Context)
Recent advances in wireless networking technologies and the growing success of mobile computing devices, such as laptop computers, third generation mobile phones, personal digital assistants, watches and the like, are enabling new classes of applications that present challenging problems to designers. Mobile devices face temporary loss of network connectivity when they move; they are likely to have scarce resources, such as low battery power, slow CPU speed and little memory; they are required to react to frequent and unannounced changes in the environment, such as high variability of network bandwidth, and in the resources availability. To support designers building mobile applications, research in the field of middleware systems has proliferated. Middleware aims at facilitating communication and coordination of distributed components, concealing complexity raised by mobility from application engineers as much as possible. In this survey, we examine characteristics of mobile distributed systems and distinguish them from their fixed counterpart.
Task-Based Adaptation for Ubiquitous Computing
- In IEEE Trans on Systems, Man, and Cybernetics, Part C: Applications and Reviews, Special Issue on Engineering Autonomic Systems
, 2006
"... Abstract—An important domain for autonomic systems is the area of ubiquitous computing: users are increasingly surrounded by technology that is heterogeneous, pervasive, and variable. In this paper we describe our work in developing self-adapting computing infrastructure that automates the configura ..."
Abstract
-
Cited by 48 (3 self)
- Add to MetaCart
(Show Context)
Abstract—An important domain for autonomic systems is the area of ubiquitous computing: users are increasingly surrounded by technology that is heterogeneous, pervasive, and variable. In this paper we describe our work in developing self-adapting computing infrastructure that automates the configuration and reconfiguration of such environments. Focusing on the engineering issues of self-adaptation in the presence of heterogeneous platforms, legacy applications, mobile users, and resource variable environments, we describe a new approach based on the following key ideas: 1) explicit representation of user tasks allows us to determine what service qualities are required of a given configuration; 2) decoupling task and preference specification from the lower level mechanisms that carry out those preferences provides a clean engineering separation of concerns between what is needed and how it is carried out; and 3) efficient algorithms allow us to calculate in real time near-optimal resource allocations and reallocations for a given task. Index Terms—Multifidelity applications, resource-aware computing, self-adaptation, ubiquitous computing. I.
Exploiting reflection in mobile computing middleware
- ACM SIGMOBILE Mobile Computing and Communications Review
, 2002
"... The increasing popularity of portable devices and recent advances in wireless networking technologies facilitate the engineering of new classes of applications, which present challenging problems to designers. Mobile devices face temporary and unannounced loss of network connectivity when they are m ..."
Abstract
-
Cited by 35 (2 self)
- Add to MetaCart
The increasing popularity of portable devices and recent advances in wireless networking technologies facilitate the engineering of new classes of applications, which present challenging problems to designers. Mobile devices face temporary and unannounced loss of network connectivity when they are moved, they are likely to have scarce resources, and they are required to react to frequent changes in the environment. To accommodate these new requirements imposed by mobility, middleware platforms for mobile computing must be capable of both deployment-time configurability and run-time reconfigurability. We illustrate how reflective techniques can be exploited by middleware designers to address these requirements. We discuss two complementary approaches: CARISMA, where reflection is used to support dynamic adaptation of middleware behaviour to changes in context, and ReMMoC, which uses reflection to accommodate heterogeneity requirements imposed by both applications and underlying device platforms. I.
Software Selection and Configuration in Mobile Environments: A Utility-Based Approach
- Proc EDSER-4 - Workshop on Economics-Driven Software Engineering Research
, 2002
"... Users of low-power mobile computing platforms make ad hoc decisions when choosing software components among alternatives and configuring those components. We propose applying utility-theoretic models, which can help determine optimal allocation of scarce resources to applications given the user&apos ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
(Show Context)
Users of low-power mobile computing platforms make ad hoc decisions when choosing software components among alternatives and configuring those components. We propose applying utility-theoretic models, which can help determine optimal allocation of scarce resources to applications given the user's utility and application resource usage. We believe that taking into consideration resource consumption and applying microeconomic models has the potential of improving the user's satisfaction with the system. In this paper, we formulate the problem, demonstrate the use of a microeconomics-based model on a simple version of the problem, and list possible solutions. Further, we identify issues typical of mobile environments that are not addressed by existing research, and propose ways of tackling these issues.
Novel Component Middleware for Building Dependable Sentient Computing Applications
- in ECOOP 2004, Workshop on Component-Oriented Approaches to Context-Aware Computing
, 2004
"... With advances in sensor-based computing and mobile communication, people have started to explore ubiquitous or pervasive computing systems that aim to have computing devices literally available everywhere, making them disappear into the physical environment. Novel ubiquitous computing applications s ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
(Show Context)
With advances in sensor-based computing and mobile communication, people have started to explore ubiquitous or pervasive computing systems that aim to have computing devices literally available everywhere, making them disappear into the physical environment. Novel ubiquitous computing applications such as intelligent vehicles, smart buildings, and traffic management have special properties that traditional computing applications do not possess, such as context-awareness, massive decentralisation, autonomous behaviour, adaptivity, proactivity, and innate collaboration. In this paper we argue that such applications require a new computational model and middleware that can reflect the autonomy and spontaneity of cooperative entities. The EU funded CORTEX 1 project proposes the sentient object model to support the construction of such large-scale applications. We report on a flexible, run-time reconfigurable component based middleware that we have used to engineer the sentient object programming paradigm. We demonstrate the appropriateness of the novel computational model and validity of the middleware by constructing a proof of concept demonstrator based on the notion of autonomous cooperating vehicles. Keywords: Context-aware, Component, Middleware, Sentient object. 1 The CORTEX (CO-operating Real-time senTient objects: architecture and EXperimental evaluation)
Capitalizing on Awareness of User Tasks for Guiding SelfAdaptation
- Proc. the 1 st International Workshop on Adaptive and Selfmanaging Enterprise Applications at CAISE’05
, 2005
"... Abstract. Computers support more and more tasks in the personal and professional activities of users. Such user tasks increasingly span large periods of time and many locations across the enterprise space and beyond. Recently there has been a growing interest in developing applications that can cope ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
Abstract. Computers support more and more tasks in the personal and professional activities of users. Such user tasks increasingly span large periods of time and many locations across the enterprise space and beyond. Recently there has been a growing interest in developing applications that can cope with the specific environmental conditions at each location, and adapt to dynamic changes in system resources. However, in a given situation there may be many possible configuration solutions, and an awareness of the user's intent for each task is a critical element in knowing which one to pick. In this paper, we discuss the limitations of building such awareness into applications, and propose to factor the awareness of user tasks into a common software layer. That however, brings up the problem of coordinating the system-wide adaptation performed by such a layer with fine-grain adaptation performed by resource-aware applications. We summarize the main features of an architectural framework that incorporates such a layer, and distill some of the lessons learned in implementing the framework.
Accord: A Programming System for Autonomic Self-Managing Applications
, 2005
"... The increasing complexity, heterogeneity, and dynamism of emerging pervasive Grid environments and applications result in significant development and management challenges. This is primarily because application requirements and runtime behaviors depend on the runtime state and execution context and ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
(Show Context)
The increasing complexity, heterogeneity, and dynamism of emerging pervasive Grid environments and applications result in significant development and management challenges. This is primarily because application requirements and runtime behaviors depend on the runtime state and execution context and are typically not known a priori. Recently, autonomic computing has proposed solutions to address these challenges that draw inspiration from biological system. The goal of autonomic computing is to develop applications and systems that can manage themselves based on high level guidance from humans. In this thesis, we develop the Accord programming system for autonomic self-managing applications. Accord builds on existing programming systems and extends them to (1) enable the definition of autonomic elements that encapsulates functional and non-functional specifications, rules, and mechanisms for self-management, (2) enable the formulation of self-managing applications as dynamic compositions of autonomic elements, and (3) provide a runtime infrastructure for the correct and efficient runtime execution of rules to enforce self-managing behaviors in response to changing requirements and execution context. Three prototypes of the Accord programming system have been implemented and customized