Results 1 - 10
of
46
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.
Programming pervasive and mobile computing applications with the tota middleware
- PerCom 2004. Proceedings of the Second IEEE Annual Conference on
, 2004
"... Pervasive and mobile computing call for suitable middleware and programming models to support the activities of complex software systems in dynamic network environments. In this paper we present TOTA (“Tuples On The Air”), a novel middleware and programming approach for supporting adaptive context-a ..."
Abstract
-
Cited by 60 (20 self)
- Add to MetaCart
Pervasive and mobile computing call for suitable middleware and programming models to support the activities of complex software systems in dynamic network environments. In this paper we present TOTA (“Tuples On The Air”), a novel middleware and programming approach for supporting adaptive context-aware activities in pervasive and mobile computing scenarios. The key idea in TOTA is to rely on spatially distributed tuples, adaptively propagated across a network on the basis of application-specific rules, for both representing contextual information and supporting uncoupled interactions between application components. TOTA promotes a simple way of programming that facilitates access to distributed information, navigation in complex environments, and achievement of complex coordination tasks in a fully distributed and adaptive way, mostly freeing programmers and system managers form the need to take care of lowlevel issues related to network dynamics. This paper includes both application examples to clarify concepts and performance figures to show the feasibility of the approach.
LIME: A coordination model and middleware supporting mobility of hosts and agents
- ACM Transactions on Software Engineering and Methodology
, 2006
"... Lime (Linda in a Mobile Environment) is a model and middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. Lime adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented ..."
Abstract
-
Cited by 31 (6 self)
- Add to MetaCart
Lime (Linda in a Mobile Environment) is a model and middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. Lime adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Linda by a globally accessible, persistent tuple space, is refined in Lime to transient sharing of identically-named tuple spaces carried by individual mobile units. Tuple spaces are also extended with a notion of location and programs are given the ability to react to specified states. The resulting model provides a minimalist set of abstractions that facilitate rapid and dependable development of mobile applications. In this paper, we illustrate the model underlying Lime, provide a formal semantic characterization for the operations it makes available to the application developer, present its current design and implementation, and discuss lessons learned in developing applications that involve physical mobility.
Developing ambient intelligence systems: A solution based on web services
- Journal of Automated Software Engineering
, 2005
"... Abstract. Enabling the ambient intelligence vision means that consumers will be provided with universal and immediate access to available content and services, together with ways of effectively exploiting them. Concentrating on the software system development aspect, this means that the actual imple ..."
Abstract
-
Cited by 26 (16 self)
- Add to MetaCart
Abstract. Enabling the ambient intelligence vision means that consumers will be provided with universal and immediate access to available content and services, together with ways of effectively exploiting them. Concentrating on the software system development aspect, this means that the actual implementation of any ambient intelligence application requested by a user can only be resolved at runtime according to the user’s specific situation. This paper introduces a base declarative language and associated core middleware, which supports the abstract specification of Ambient Intelligence applications together with their dynamic composition according to the environment. The proposed solution builds on the Web services architecture, whose pervasiveness enables both services availability in most environments, and specification of applications supporting automated retrieval and composition. In addition, dynamic composition of applications is dealt in a way that enforces the quality of service of deployed applications in terms of security and performance.
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 25 (1 self)
- Add to MetaCart
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.
An adaptive middleware for context-sensitive communications for real-time applications in ubiquitous computing environments
- Real-Time Systems
, 2004
"... Abstract. Context-sensitivity is an important expected capability in applications in ubiquitous computing (ubicomp) environments. These applications need to use different contextual information from the user, host device, on board sensors, network, and the ambient environments to systematically adap ..."
Abstract
-
Cited by 23 (7 self)
- Add to MetaCart
Abstract. Context-sensitivity is an important expected capability in applications in ubiquitous computing (ubicomp) environments. These applications need to use different contextual information from the user, host device, on board sensors, network, and the ambient environments to systematically adapt their actions. In addition, some context-sensitive applications may use speci®c contextual conditions to trigger impromptu and possibly short-lived interactions with applications in other devices. This property, referred to as context-sensitive or context-aware communications, allows applications to form short-range mobile ad hoc networks consisting of mobile and stationary devices, sensors, and other computing resources. Real-time applications, especially those having reactive behavior, running on embedded devices and requiring context-sensitive communications support, pose new challenges related to systematic representation of speci®c contexts, associations of contexts with real-time actions, timely context data collection and propagation, and transparent context-sensitive connection establishment. An object-based middleware can be effective to meet these challenges if such a middleware can provide a well-de®ned development framework as well as lightweight runtime services. In this paper, an adaptive and object-based middleware, called recon®gurable context-sensitive middleware (RCSM) is presented to facilitate context-sensitive communications in ubicomp environments. To facilitates contextsensitive communications, RCSMprovides a context-aware interface de®nition language for specifying contextsensitive
A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems
- IEEE Trans. on Software Engineering
, 2005
"... A recent emergence of small, resource-constrained, and highly mobile computing platforms presents numerous new challenges for software developers. We refer to development in this new setting as programming-in-the-small-and-many (Prism). This paper provides a description and evaluation of Prism-MW, ..."
Abstract
-
Cited by 23 (10 self)
- Add to MetaCart
A recent emergence of small, resource-constrained, and highly mobile computing platforms presents numerous new challenges for software developers. We refer to development in this new setting as programming-in-the-small-and-many (Prism). This paper provides a description and evaluation of Prism-MW, a middleware platform intended to support software architecture-based development in the Prism setting. Prism-MW provides efficient and scalable implementation-level support for the key aspects of Prism application architectures, including their architectural styles. Additionally, Prism-MW is extensible to support different application requirements suitable for the Prism setting. Prism-MW has been applied in a number of applications and used as an educational tool in graduate-level software architecture and embedded systems courses. Recently, Prism-MW has been successfully evaluated by a major industrial organization for use in one of their key distributed embedded systems. Our experience with the middleware indicates that the principles of architecture-based software development can be successfully, and flexibly, applied in the Prism setting.
LIME: A Coordination Middleware Supporting Mobility of Hosts and Agents
, 2003
"... LIME (Linda in a Mobile Environment) is a middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. LIME adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Lind ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
LIME (Linda in a Mobile Environment) is a middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. LIME adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Linda by a globally accessible, persistent tuple space, is refined in LIME to transient sharing of identically-named tuple spaces carried by individual mobile units. Tuple spaces are also extended with a notion of location and programs are given the ability to react to specified states. The resulting model provides a minimalist set of abstractions that promise to facilitate rapid and dependable development of mobile applications. In this paper, we illustrate the model underlying LIME, provide a formal semantic characterization for the operations it makes available to the application developer, present its current design and implementation, and discuss lessons learned in developing applications that involve physical mobility.
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 21 (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.
A Micro-Economic Approach to Conflict Resolution in Mobile Computing
- In Proceedings of the 10th International Symposium on the Foundations of Software Engineering (FSE-10
, 2002
"... 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 mobile applications. These have to adapt to changes in context, such as variations in network bandwid ..."
Abstract
-
Cited by 16 (3 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 mobile applications. These have to adapt to changes in context, such as variations in network bandwidth, exhaustion of battery power or reachability of services on other devices. We show how the construction of adaptive and context-aware mobile applications can be supported using a reflective middleware. The middleware provides software engineers with primitives to describe how context changes are handled using policies. These policies may conflict. In this paper, we classify the different types of conflicts that may arise in mobile computing. We 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 these policy conflicts can be treated. This method uses a micro-economic approach that relies on a particular type of sealed-bid auction.

