Figure 5 - uploaded by Eric P. Kasten
Content may be subject to copyright.
2D map prior to recomposition. 

2D map prior to recomposition. 

Source publication
Conference Paper
Full-text available
We address a key issue that arises in run-time recomposition of software: the transfer of nontransient state between old components and their replacements. We focus on the concept of collateral change, which refers to the set of recomposition actions that must be applied atomically for continued correct execution of the system. We describe Perimorp...

Context in source publication

Context 1
... addition to the adaptive queue application, we used Perimorph to implement a digital elevation model (DEM) [38] mapping program. The DEM format is a common data format used by the United States Geological Survey (USGS) and other organizations for recording ge- ographical elevation information. We developed our mapping application using Perimorph such that a 2D viewer can be recomposed into a 3D viewer at run time. Such recompositions are useful during handoff between dissimilar devices. For instance, a palmtop, due to limited memory, processing power and display capability, might use only the 2D viewer. However, upon arriving at the office, a user may handoff the application to a workstation that can easily present a three-dimensional map. With Perimorph, the viewer can dynamically be transformed into a 3D viewer without loss of application state. Figure 5 shows a two-dimensional representation of Mount St. Helens after eruption in 1980. This representation uses different colors to indicate changes in elevation. Typically, the lighter the color the greater the elevation. Initially, the mapping application comprises factors implementing a 2D viewer. Figure 6 depicts the factors recomposed during conversion to a 3D display. Upgrading the map requires modification of the functional concerns of both the map plotter and map window components. The map plotter paints the map on the map window. Depend- ing on whether the map plotter and map window are composed using the two or three-dimensional factor set determines how map data will be displayed. Nontransient state, comprising DEM map data, is assigned from the two-dimensional to the three-dimensional factor set during factor exchange. Figure 7 shows a three-dimension map following dynamic, run-time recomposition. Proper initialization and construction of the GUI components require the coding of activate() and deactivate() factor set methods, which were left as empty methods for the adaptive queue. Besides dynamic reconfiguration, constructing ...

Similar publications

Article
Full-text available
Spintronics, also known as magneto-electronics or spin transport electronics, uses the magnetic moment of the electron due to intrinsic spin along with its electric charge. In the present review, the topological insulators (2D, 3D, and hydride) were discussed including the conducting edge of 2D topological insulators (TIs). Preparation methods of T...

Citations

... [Version: 2010/05/13 v3.00] 2 N. GUI AND V. DE FLORIO such principle, in many of the approaches in the state-of-the-art, applications are automatically (re-)constructed and adapted to their changing contexts during run-time by taking compositional adaptation and/or parameter-based adaptation actions [7]. Several adaptive systems have already been proposed to provide such software adaptation support [8,2,9,4,5]. ...
... As one of the core modules in all run-time adaptation systems, such as Servicebinder [11] or Perimorph [9], the design of this module has been intensively studied. However, unlike these approaches, in our middleware, Structural Modeler is defined following DSMC design principle and separated from the other modules. ...
... Kasten et al. [9] propose the Perimorph framework to achieve run-time composition and state management for adaptive system. Perimorph enables an application designer to quantify and codify collateral changes in terms of factor sets. ...
Article
As software systems today increasingly operate in changing and complex environments, they are expected to dynamically adapt to the changing environments sometimes with multiple coexisting adaptation goals. In this paper, an adaptation framework to facilitate adaptation with multiple concerns by using reusable and composable adaptation modules is proposed. Rather than using one-size-fits-all approach, in this framework, system global adaptation behavior is generated by contextually fusing adaptation plans from multiple adaptation modules. In order to handle possible conflicts from multiple adaptation plans, supports for conflict detection and resolution are provided. Following the framework design principles, a supporting middleware is implemented based on the service-oriented component model. Adaptation behaviors are realized as individually deployable adaptation components. A strategy called normalized context matching degree is proposed to rate and select applicable adaptation components. Possible conflicts in dealing with multiple adaptation concerns are resolved by using the semantics of actuators and context conditions. This middleware is also designed to be readily reconfigurable to support new features. Case studies and experiment results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation modules, with little complexity and performance overhead. Copyright © 2012 John Wiley & Sons, Ltd.
... The current trend on component model is rather towards making components as run-time manageable entities (Kasten and McKinley, 2004;Coulson et al., 2008;Hall and Cervantes, 2004). However, such approaches maintain little design-time knowledge on the run-time entities. ...
... After Context-specific Modeler and Structural Modeler collectively determine the status of each managed component, Structural Modeler repairs the reference after adaptation. This can effectively reduce adaptation execution time Many run-time composition approaches, such as Service Binder and Perimorph (Kasten and McKinley, 2004), provide a similar layer to manage the references between components. However, lacking context information integration, this functional layer itself could not solve conflicts when several functional configurations are available. ...
... However, the static nature of their adaptation policy and resolving process limits the usage in changing environments. Kasten et al. propose the Perimorph framework to achieve runtime composition and state management for an adaptive system (Kasten and McKinley, 2004). It enables an application designer to quantify and verify collateral changes in terms of factor sets. ...
Article
Software systems are increasingly expected to dynamically self-adapt to the changing environments. One of the main adaptation mechanisms is dynamic recomposition of application components. This paper addresses the key issues that arise when context knowledge is used to steer the run-time (re)composition process so as to match the new environmental conditions. In order to integrate such knowledge into this process, A Continuous Context-Aware Deployment and Adaptation (ACCADA) framework is proposed. To support run-time component composition, the essential runtime abstractions of the underlying component model are studied. By using a layered modeling approach, our framework gradually incorporates design-time as well as run-time knowledge into the component composition process. Service orientation is employed to facilitate the changes of adaptation policy. Results show that our framework has significant advantages over traditional approaches in light of flexibility, resource usage and lines of code. Although our experience was based on the OSGi middleware, we believe our findings to be general to architecture-based management systems using reflective component models.
... By having the system managing the run-time reference update, an application's architecture integrity can be preserved even in the face of configuration changes. Many run-time composition approaches, such as Servicebinder [12] and Perimorph [13], provide similar layer to manage the references between components. However, without context information integration, this functional layer itself could not solve conflicts when several functional configurations are available. ...
... However, our approach can provide more flexible adaptation compared to its static resolving policy. Kasten etc. propose the Perimorph framework to achieve run-time composition and state management for adaptive system [13] It enables an application designer to quantify and codify collateral changes in terms of factor sets. However, due to lack of a clear defined component model, it hard to extern their approach to cross applications adaptation. ...
Conference Paper
Full-text available
Software systems are increasingly expected to dynamically self-adapt to the changing environments. One of the principle adaptation mechanisms is dynamic recomposition of application components. This paper addresses the key issues that arise when external context knowledge is used to steer the run- time (re)composition process. In order to integrate such knowledge into this process, A Continuous Context-Aware Deployment and Adaptation (ACCADA) framework is proposed. To support run-time component composition, the essential runtime abstractions of the underlying component model are studied. By using a layered modeling approach, our framework gradually incorporates design-time as well as run-time knowledge into the component composition process. Service orientation is employed to facilitate the changes of adaptation policy. Results show that our framework has significant advantages over traditional approaches in light of flexibility, resource usage and lines of code. Although our experience was done based on the OSGi middleware, we believe our findings to be general to other architecture-based management systems.
... The software development tools and techniques produced by the ORCHID project will enable the designer to model software systems as digital organisms, observe their evolution under various conditions, and use the results to refine and improve the models. In related studies , McKinley, Cheng and colleagues have investigated several aspects of adaptive software design, In particular, the RAPIDware project [2] addresses high-assurance adaptive software, including programming language support [24,25], middleware support [26, 27] , cross-layer cooperation distributed applications [28, 29], and techniques to maintain the state of the the system across adaptations [30, 31]. We argue that digital evolution can be used in concert with the above methods, by enabling the developer to explore , early in the design process, three aspects of selfadaptive systems that are particularly challenging using traditional software development tools: the decision making process for adaptation, preserving system integrity during reconfiguration, and designing the software infrastructure needed to realize adaptive behavior. ...
... While the state capture problem has been addressed in other contexts, such as checkpointing, process or thread migration, mobile agents, the methods employed there generally are not directly applicable because they either incur too much overhead or do not support state transfer between different implementations of a component. Rather, dynamic software recomposition involves state transfer as it relates to collateral change, defined as the set of recompositions that must be applied to an application atomically for correct execution [30]. Digital organisms have demonstrated the ability to thrive in exceedingly complex environments with many different resources that interact with one another [11]. ...
Article
Full-text available
A key characteristic for ultra-large scale (ULS) software- intensive systems is the need to adapt at run time in re- sponse to changing environmental conditions. Given the scale, complexity, and heterogeneity of ULS elements, in- novative, but rigorous software engineering techniques are needed to address the development and the evolution of these systems. The developer of self-adaptive ULS systems must anticipate how and when the software will need to adapt in the future, codify this behavior in decision-making components to govern the adaptation, and ensure that sys- tem integrity is not compromised during adaptations. We contend that the full potential of dynamically adaptive soft- ware systems cannot be realized without environments that enable the developer to actively explore the "adaptation space" of the system during the early stages of design. We propose an approach to this problem that leverages and extends digital evolution techniques. By mapping models of adaptive software programs into digital organisms and studying traces of their evolution, the developer can gain critical insight into software decision making, software as- surance, and the software infrastructure needed to support desired adaptations.
... Flow of Control/Monitor [209][210][211][212][213] and explicit management of state information [214]. ...
Article
Full-text available
The need for adaptability in software is growing, driven in part by the emergence of pervasive and autonomic computing. In many cases, it is desirable to enhance existing programs with adaptive behavior, enabling them to execute effectively in dynamic environments. In this paper, we propose a general programming model called transparent shaping to enable dynamic adaptation in existing programs. We describe an approach to implementing transparent shaping that combines four key software development techniques: aspect-oriented programming to realize separation of concerns at development time, behavioral reflection to support software reconfiguration at run time, component-based design to facilitate independent development and deployment of adaptive code, and adaptive middleware to encapsulate the adaptive functionality. After presenting the general model, we discuss two specific realizations of transparent shaping that we have developed and used to create adaptable applications from existing programs.
... However, their model does not suit the pervasive computing environment since some of the states may change according to external context. Perimorph [6] is a system that supports compositional adaptation. They suggest the transfer of non-transient state between old components and their replacement, which has a similar goal as our design. ...
Conference Paper
Full-text available
In a ubiquitous computing environment, users continuously access computing services and interact with smart spaces, while moving from one place to another. Application migration, therefore, is an impor- tant and necessary feature. State capturing, migration and restoration play a significant role to enable application migration. However, current software systems usually capture the state at the source and restore it in the destination as it is, without any modification. We believe that ap- plication migration in the ubiquitous computing environment has to be context-aware. In this paper, we introduce a context-aware state captur- ing and restoring mechanism that can achieve context-aware application migration. Our context-aware migration scheme has been implemented in our Sparkle Pervasive Environment, and we demonstrate it with a Universal Browser Application. We believe with this mechanism, appli- cations can be more adaptive to the changing environment as the internal program states will be processed to suit the new context environment at the destination device and mobile code could be brought in from the network to adapt to the new execution context.
... Recomposition of algorithmic or structural components at run-time requires the transfer of nontransient state between an old component and its replacement (Kasten & McKinley 2004). ...
Article
This summative paper investigates the central features of web services in order to determine whether they are a positive development. We are considering whether web services will bring about wide-ranging interoperability. We look at the central definitions of web services then consider four intrinsic features of web service architecture; we look at whether web services are a recent form of distributed computing; we assess whether web services are stateless or not and propose a solution to this issue; we explore whether web services exist to deliver content on the web or whether they exist to create business processes via the Internet; finally we investigate whether web services are an evolutionary or revolutionary development in software engineering. By addressing these questions we are assessing the value of web services to software developers and to the business community. This work represents an evaluation of the web service model and contributes by highlighting strengths and weaknesses in that model. We believe that the evidence indicates that web services have considerable architectural potential in the area of software interoperability.
... Perimorph [17] is a system that supports compositional adaptation. The authors of [17] suggested the transfer of non-transient state between old components and their replacements, which is similar to our design. However, they only focused on the concept of collateral change. ...
Article
(Uncorrected OCR) Abstract of thesis entitled "Context-Aware State Management for Supporting Mobility in a Pervasive Environment" submitted by SIU Po Lam Pauline for the degree of Master of Philosophy at The University of Hong Kong in August 2004 Mobility and invisibility are the intrinsic characteristics of the pervasive computing environment. In such an environment, users are of high mobility, who roam around and access various services through resources that are available to them on the spot. These resources are heterogeneous, embedded in their surroundings, and vary from location to location. Therefore computing services should be able to adapt to different computing contexts, and it is essential for the system to support mobility and make the changing context invisible, so that users can continuously interact with the available services anytime, anywhere, and without disruption. Researchers have worked on mobility support for many years. Mobility has been considered in many aspects, such as user mobility, device mobility, and service mobility. However, little research has so far been conducted on the issue of adaptation. There are some researchers who have worked on adaptation methods, such as data adaptation, code adaptation and functionality adaptation. But they have rarely considered the issue of mobility. Research into mobility or adaptation alone is unlikely to achieve the goals of supporting mobility and achieving invisibility in the pervasive computing environment. Current mobility support would move an application by shipping its code with existing states. On the other hand, adaptability support is mostly concerned with the change of data or code, but very little with states. The state, i.e. the current status of the application, actually plays an important role in both mobility and adaptability, and it binds the two together. iv In order to support mobility, capturing and restoring the state of an application is necessary. Instead of just transferring and restoring the state as it is, manipulation of the state could be done in between. The manipulation of the state becomes our fundamental approach to binding mobility and adaptability. To achieve better adaptability, context-awareness has to be brought into the picture. Context-aware state management is therefore needed to capture, process, transfer, and restore the state from source to destination. We demonstrate our approach to supporting mobility and achieving invisibility through the design and implementation of a mobile functionality system. This system is integrated with our previous work on Sparkle, a component-based software architecture based on functionality adaptation. Our mobile system supports lightweight mobility through shipping functionality specification and the state of an application. Another key feature of the mobile system is the manipulation of states to achieve flexible adaptability. States are divided into three categories, namely, fixed, mutable and disposable. Based on this categorization and our proactive context reasoning rules, states can be adjusted to suit the future environment. We demonstrate the feasibility of our approach through the implementation of a universal browser application under Sparkle. (440 words) v
Conference Paper
Software systems today are increasingly used in changing environments and expected to adapt with variable adaptation concerns. This requirement demands a systematic approach to efficiently construct system global adaptation behaviour according to the dynamic adaptation requirements. This paper presents Transformer a framework for adaptation behaviour composition support based on reusable and compos able adaptation components. Rather than using one adaptation module for all possible contexts, Transformer constructs system global adaptation behaviour by contextually fusing adaptation plans from multiple adaptation components. Explicit conflict resolution is provided to handle possible conflicts raised in the fusion process. In addition to the description of the Transformer framework, this paper also presents its implementation and its application to a video conferencing system. Qualitative analysis and simulation results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation components with little performance overhead.
Article
Business processes, operational environment, variability of resources and user needs may change from time to time. An effective workflow management software system must be able to accommodate these changes. The ability to dynamically adapt to changes is a key success factor for workflow management systems. Holonic multi-agent systems (HMS) provide a flexible and reconfigurable architecture to accommodate changes based on dynamic organization and collaboration of autonomous agents. Although HMS provides a potential architecture to accommodate changes, the dynamic organization formed in HMS poses a challenge in the development of a new software development methodology to dynamically compose the services and adapt to changes as needed. This motivates us to study and propose a methodology to design self-adaptive software systems based on the HMS architecture. In this paper, we formulate a workflow adaptation problem (WAP) and propose an interaction mechanism based on contract net protocol (CNP) to find a solution to WAP to compose the services based on HMS. The interaction mechanism relies on a service publication and discovery scheme to find a set of task agents and a set of actor agents to compose the required services in HMS. We propose a viable self-adaptation scheme to reconfigure the agents and the composed services based on cooperation of agents in HMS to accommodate the changes in workflow and capabilities of actors. We propose architecture for our design methodology and present an application scenario to illustrate our idea.