Model-based development of dynamically adaptive software
Increasingly, software should dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing and communication infrastructure, and in the surrounding physical environment. In order for an adaptive program to be trusted, it is important to have mechanisms to ensure that the program functions correctly during and after adaptations. Adaptive programs are generally more difficult to specify, verify, and validate due to their high complexity. Particularly, when involving multi-threaded adaptations, the program behavior is the result of the collaborative behavior of multiple threads and software components. This paper introduces an approach to create formal models for the behavior of adaptive programs. Our approach separates the adaptation behavior and non-adaptive behavior specifications of adaptive programs, making the models easier to specify and more amenable to automated analysis and visual inspection. We introduce a process to construct adaptation models, automatically generate adaptive programs from the models, and verify and validate the models. We illustrate our approach through the development of an adaptive GSM-oriented audio streaming protocol for a mobile computing application.

title: Towards Re-engineering Legacy Systems for Assured Dynamic Adaptation
abstract: Increasingly, software must adapt its behavior in response to changes in the supporting computing, communication infrastructure, and in the surrounding physical environment. Since most existing software was not designed to adapt, research on technique to make legacy software dynamically adaptive has gained increasing interest. Assurance is crucial for adaptive software to fulfill its intended purpose. Correctness is even more critical if it is to be applied in high assurance systems. This paper proposes a model-driven approach to introduce dynamic adaptation to non-adaptive legacy systems while maintaining assurance properties. An aspect-oriented technique is applied to achieve separation of concerns in the implementation.

title: Modular verification of dynamically adaptive systems
abstract: Cyber-physical systems increasingly rely on dynamically adaptive programs to respond to changes in their physical environment; examples include ecosystem monitoring and disaster relief systems. These systems are considered high-assurance since errors during execution could result in injury, loss of life, environmental impact, and/or financial loss. In order to facilitate the development and verification of dynamically adaptive systems, we separate functional concerns from adaptive concerns. Specifically, we model a dynamically adaptive program as a collection of (non-adaptive) steady-state programs and a set of adaptations that realize transitions among steady state programs in response to environmental changes. We use Linear Temporal Logic (LTL) to specify properties of the non-adaptive portions of the system, and we use A-LTL (an adapt-operator extension toLTL) to concisely specify properties that hold during the adaptation process. Model checking offers an attractive approach to automatically analyzing models for adherence to formal properties and thus providing assurance. However, currently, model checkers are unable to verify properties specified using A-LTL. Moreover, as the number of steady-state programs and adaptations increase, the verification costs (in terms of space and time) potentially become unwieldy. To address these issues, we propose a modular model checking approach to verifying that a formal model of an adaptive program satisfies its requirements specified in LTL and A-LTL, respectively.

title: Enabling Safe Dynamic Component-Based Software Adaptation
abstract: Recomposable software enables a system to change its structure and behavior during execution, in response to a dynamic execution environment. This paper proposes an approach to ensure that such adaptations are safe with respect to system consistency. The proposed method takes into consideration dependency analysis for target components, specifically determining viable sequences of adaptive actions and those states in which an adaptive action may be applied safely. We demonstrate that the technique ensures safe adaptation (insertion, removal, and replacement of components) in response to changing external conditions in a wireless multicast video application.

title: Using temporal logic to specify adaptive program semantics
abstract: Computer software must dynamically adapt to changing conditions. In order to fully realize the benefit of dynamic adaptation, it must be performed correctly. The correctness of adaptation cannot be properly addressed without precisely specifying the requirements for adaptation. This paper introduces an approach to formally specifying adaptation requirements in temporal logic. We introduce A-LTL, an adaptation-based extension to linear temporal logic, and use this logic to specify three commonly used adaptation semantics. Composition techniques are developed and applied to A-LTL to construct the specification of an adaptive program. We introduce adaptation semantics graphs to visually represent the adaptation semantics, which can also be used to automatically generate specification for adaptive programs.

title: Novel view generation from two reference images based on the same optical axis
abstract: As hopping and walking through different cylindrical panoramic viewpoints, we can feel the view-field jumping between the former and the subsequent view. Based on the same optical axis in the general planar-pinhole camera model, an algorithm is proposed for generating novel views from the two reference images in this paper. On the supposition that the two reference images have the same intrinsic parameter matrix, a warping equation is derived to map points from a reference image to a desired image. The point correspondences can be determined between the two reference images by using the method based on the pairs of feature line segments. The sequence of warping images from each reference image can be computed. Then the corresponding warping images are cross-dissolved to generate the novel views. The problems such as seams, holes, folds and irregular points are analyzed and resolved to generate convincing novel views.

title: A model-driven approach to enforce crosscutting assertion checking
abstract: Design by Contract provides an effective principle to enable the construction of robust software by describing properties of a module using logical assertions. This paper presents a model-driven approach for weaving assertion checking aspects into a large software system. The approach is based on a technique called two-level aspect weaving. At the top level, crosscutting assertions are weaved into a model by use of a model weaver. The second step of the weaving process occurs when the Model-Driven Program Transformation technique is applied to perform large-scale adaptation of the underlying source code from the contracts specified in the high-level models. The paper briefly presents a case study to illustrate the concept.

title: Spectral Unmixing Technique Based on Flexibly Selected Endmembers
abstract: In traditional spectral unmixing methods of hyperspectral imagery, all endmembers (EMs) take part in the process of each pixel unmixing, and each EM is invariable in the whole processing. This kind of ways discounts unmixing accuracy by introducing some EMs unrelated with mixed pixel to be analyzed, and by the inaccuracy representation of each class by a fixed EM. So the traditional way of spectral unmixing can not get satisfied result. In this case, the paper proposes spectral unmixng ways based on flexibly selected EMs to improve unmixing accuracy. In the first way, partly EMs corresponding to classes of interest are selected to be used in the whole process of spectral unmixing. In the second way, related EMs of a mixed pixel are concluded by utilizing spatial information, then spectral unmixing is done with only related classes considered. In the third way, each class EM is adjusted regionally in each locally divided area. And so, more accuracy EMs are used in spectral unmixing. Experimental results show that spectral unmixing based on flexibly selected EMs can get better performance.

title: Model-Driven Adaptive Self-healing for Autonomic Computing
abstract: Self-healing is a vital property that an autonomic system must possess in order to provide robust performance and survivability. The promise of self-healing depends on other properties that the system should provide, which include self-monitoring and self-configuring. Autonomic systems further require self-healing behavior to adapt to changes in user needs, business goals, and environmental conditions such that self-healing decisions are made dynamically and adaptively according to the system context. In this paper, we propose a model-driven approach that leverages modeling techniques, reliability engineering methodologies, and aspect-oriented development to realize an adaptive self- healing paradigm for autonomic computing.

title: Motion segmentation of multiple translating objects from line correspondences
abstract: This paper presents an analytic approach to motion segmentation of multiple translating objects from line correspondences in three perspective views. The basic idea of our algorithm is to view the estimation of multiple translational motions as the estimation of a single, though more complex, multibody motion model that is then factored into the original models by polynomial differentiation. Experimental results on synthetic and real scenes are presented.