Results 1 - 10
of
39
Gaia: A Middleware Infrastructure to Enable Active Spaces
- IEEE Pervasive Computing
, 2002
"... We envision a future where people’s living spaces are interactive and programmable. Users interact with their offices, homes, cars, malls and airports to request information, benefit from the resources available, and configure the habitat’s behavior. Data and tasks are always accessible and are mapp ..."
Abstract
-
Cited by 175 (16 self)
- Add to MetaCart
We envision a future where people’s living spaces are interactive and programmable. Users interact with their offices, homes, cars, malls and airports to request information, benefit from the resources available, and configure the habitat’s behavior. Data and tasks are always accessible and are mapped dynamically to convenient resources present in the current location. Users may extend the habitat with personal devices that seamlessly integrate with the environment. Such user-oriented interactive environments may require a novel software infrastructure to operate their resources, sense context properties, and assist in the development and execution of applications. In this article, we present an experimental middleware infrastructure called Gaia that we have used to prototype the resource management of and provide the useroriented interfaces for such physical spaces populated with network-enabled computing resources. To limit the scope of our research, we focus on physical spaces used for teaching; classrooms, offices, and lecture rooms. The system described in this paper is derived from a series of experiments starting in 1996. We show how, by applying the concepts of a conventional operating system to middleware, we can manage the resources, devices and distributed objects in a room, building, or physical space, how a distributed extension of the model–view–controller that is use in personal computers simplifies and structures practical applications for these environments, and how, by driving context-sensitivity into its data storage mechanisms, the system can help satisfy the requirements for user-centricity and mobility. 1.
A Taxonomy and Survey of Grid Resource Management Systems for Distributed Computing
, 2001
"... ..."
Dynamic Resource Management and Automatic Configuration of Distributed Component Systems
"... Component technology promotes code-reuse by enabling the construction of complex applications by assembling of-the-shelf components. However, components depend on certain characteristics of the environment in which they execute. They depend on other software components and on hardware resources. In ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
Component technology promotes code-reuse by enabling the construction of complex applications by assembling of-the-shelf components. However, components depend on certain characteristics of the environment in which they execute. They depend on other software components and on hardware resources. In existing component architectures, the application developer is left with the task of resolving those dependencies, i.e., making sure that each component has access to all the resources it needs and that all the required components are loaded. Nevertheless, according to encapsulation principles, developers should not be aware of the component internals. Thus, it may be dicult to fi nd out what a component really needs. In complex systems, this manual approach to dependency management can lead to disastrous results. In this paper, we propose an integrated architecture for managing dependencies in distributed component-based systems in an efective and uniform way. The architecture supports automatic configuration and dynamic resource management in distributed heterogeneous environments. We describe a concrete implementation of this architecture and present experimental results.
Using Process Technology to Control and Coordinate Software Adaptation
, 2003
"... We have developed an infrastructure for end-to-end run-time monitoring, behavior / performance analysis, and dynamic adaptation of distributed software applications. This feedback-loop infrastructure is primarily targeted to pre-existing systems and thus operates outside the application itself witho ..."
Abstract
-
Cited by 26 (8 self)
- Add to MetaCart
We have developed an infrastructure for end-to-end run-time monitoring, behavior / performance analysis, and dynamic adaptation of distributed software applications. This feedback-loop infrastructure is primarily targeted to pre-existing systems and thus operates outside the application itself without making assumptions about the target system's internal communication/computation mechanisms, implementation language/framework, availability of source code, etc. This paper assumes the existence of the monitoring and analysis components, presented elsewhere, and focuses on the mechanisms used to control and coordinate possibly complex repairs/reconfigurations to the target system. These mechanisms require lower-level actuators or effectors somehow attached to the target system, so we briefly sketch one such facility (elaborated elsewhere). The core of the paper is the model, architecture, and implementation of Workflakes, the decentralized process engine we use to tailor, control, coordinate, respond to contingencies, etc. regarding a cohort of such actuators. We have validated our approach and the Workflakes prototype in several case studies, related to different application domains. Due to space restrictions we concentrate primarily on one case study, elaborate with some detais a second, and only sketch others.
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.
The four levels of requirements engineering for and in dynamic adaptive systems
- In 11th International Workshop on Requirements Engineering Foundation for Software Quality (REFSQ
, 2005
"... This paper argues that there are four levels of requirements engineering for and in a dynamic adaptive system: (1) by humans, for the general behavior of the system, (2) by the system itself, whenever it is adapting based on changes to its input, (3) by humans, to decide when, how, and where the sys ..."
Abstract
-
Cited by 21 (7 self)
- Add to MetaCart
This paper argues that there are four levels of requirements engineering for and in a dynamic adaptive system: (1) by humans, for the general behavior of the system, (2) by the system itself, whenever it is adapting based on changes to its input, (3) by humans, to decide when, how, and where the system is to adapt, and (4) by humans, doing research about adaptive systems. 1. OVERVIEW Recently, a significant amount of effort has been devoted to developing technologies to support dynamic adaptive systems (DASs) [e.g., 1; 2; 3]. A DAS is a computer-based system (CBS) that is capable of recognizing that the environment with which it shares an interface has changed and that is capable of changing its behavior to adapt to the changing conditions. Much of the interest in DASs is motivated by the increasing demand for pervasive, mobile, and automatic computing. 1.1
Retrofitting autonomic capabilities onto legacy systems
, 2006
"... Autonomic computing—self-configuring, self-healing, self-managing applications, systems and networks—is a promising solution to ever-increasing system complexity and the spiraling costs of human management as systems scale to global proportions. Most results to date, however, suggest ways to archite ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
Autonomic computing—self-configuring, self-healing, self-managing applications, systems and networks—is a promising solution to ever-increasing system complexity and the spiraling costs of human management as systems scale to global proportions. Most results to date, however, suggest ways to architect new software designed from the ground up as autonomic systems, whereas in the real world organizations continue to use stovepipe legacy systems and/or build “systems of systems ” that draw from a gamut of disparate technologies from numerous vendors. Our goal is to retrofit autonomic computing onto such systems, externally, without any need to understand, modify or even recompile the target system’s code. We present an autonomic infrastructure that operates similarly to active middleware, to explicitly add autonomic services to pre-existing systems via continual monitoring and a feedback loop that performs reconfiguration and/or repair as needed. Our lightweight design and separation of concerns enables easy adoption of individual components for use with a variety of target systems, independent of the rest of the full infrastructure. This work has been validated by several case studies spanning multiple real-world application domains.
Embedded Databases for Embedded Real-Time Systems: A Component-Based Approach
, 2002
"... In the last years the deployment of embedded real-time systems has increased dramatically. At the same time, the amount of data that needs to be managed by embedded real-time systems is increasing, thus requiring an efficient and structured data management. Hence, database functionality is needed to ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
In the last years the deployment of embedded real-time systems has increased dramatically. At the same time, the amount of data that needs to be managed by embedded real-time systems is increasing, thus requiring an efficient and structured data management. Hence, database functionality is needed to provide support for storage and manipulation of data in embedded real-time systems. However, a database that can be used in an embedded real-time system must fulfill requirements both from an embedded system and from a realtime system, i.e., at the same time the database needs to be an embedded and a real-time database. The real-time database must handle transactions with temporal constraints, as well as maintain consistency as in a conventional database. The main objectives for an embedded database are low memory usage, i.e., small memory footprint, portability to different operating system platforms, efficient resource management, e.g., minimization of the CPU usage, ability to run for long periods of time without administration, and ability to be tailored for different applications. In addition, development costs must be kept as low as possible, with short time-to-market and a reliable software. In this report we survey embedded and real-time database platforms developed in industrial and research environments. This survey represents the state-of-the-art in the area of embedded databases for embedded real-time systems. The survey enables us to identify a gap between embedded systems, real-time systems and database systems, i.e., embedded databases suitable for real-time systems are sparse. Furthermore, it is observed that there is a need for a more generic embedded database that can be tailored, such that the application designer can get an optimized database for a specif...
Dynamic application composition: Customizing the behavior of an active space
- 1st IEEE Conference on Pervasive Computing and Communications, IEEE CS Press, Dallas (TX
, 2003
"... The proliferation of wireless networks, hand-held PCs, touch panels, large flat displays, sensors, and embedded devices is transforming traditional habitats and living spaces into ubiquitous computing environments, or active spaces. We envision a middleware software infrastructure that abstracts the ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
The proliferation of wireless networks, hand-held PCs, touch panels, large flat displays, sensors, and embedded devices is transforming traditional habitats and living spaces into ubiquitous computing environments, or active spaces. We envision a middleware software infrastructure that abstracts the heterogeneity of these environments and transforms them into programmable environments. This middleware infrastructure provides support to manage the resources contained in an active space (low-level functionality), support to develop applications (application-level functionality), and support to define interaction rules among applications (active space-level functionality). In this paper, we present a mechanism called “application bridge ” that implements active space-level functionality. Application bridges provide a simple, yet effective, mechanism to define dynamic application composition interaction rules that confer the active space a specific behavior based on a number of parameters, including context, application status, and user actions. 1.

