Specifying real-time properties in autonomic systems
Increasingly, computer software must adapt dynamically to changing conditions. The correctness of adaptation cannot be rigorously addressed without precisely specifying the requirements for adaptation. In many situations, these requirements involve absolute time, in addition to a logical ordering of events. This paper introduces an approach to formally specifying such timing requirements for adaptive software. We introduce TA-LTL, a timed adaptation-based extension to linear temporal logic, and use this logic to specify three timing properties associated with the adaptation process: safety, liveness, and stability. A dynamic adaptation scenario involving interactive audio streaming software is used to illustrate the timed temporal logic.

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: Optimizing the Java Piped I/O Stream Library for Performance
abstract: The overall performance of Java programs has been significantly improved since Java emerged as a mainstream programming language. However, these improvements have revealed a second tier of performance bottlenecks. In this paper, we address one of these issues: the performance of Java piped I/O stream library. We analyze commonly used data transfer patterns in which one reader thread and one writer thread communicate via Java piped I/O streams. We consider data buffering and synchronization between these two threads, as well as the thread scheduling policy used in the Java virtual machine. Based on our observations, we propose several optimization techniques that can significantly improve Java piped I/O stream performance. We use these techniques to modify the Java piped I/O stream library. We present performance results for seven example programs from the literature that use the Java piped I/O stream library. Our methods improve the performance of the programs by over a factor of 4 on average, and by a factor of 27 in the best case.

title: Model-based development of dynamically adaptive software
abstract: 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: Specifying adaptation 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. Neighborhood composition and sequential composition techniques are developed and applied to A-LTL to construct the specification of an adaptive system. We introduce adaptation semantics graphs to visually present the adaptation semantics. Specifications for adaptive systems can be automatically generated from adaptation semantics graphs.

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: 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: 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: Optimal-Nearest-Neighbor Queries
abstract: Given two sets D<sub>A</sub> and D<sub>B</sub> of multidimensional objects, a spatial region R, and a critical distance dc, an optimal-nearest- neighbor (ONN) query retrieves outside R, the object in D<sub>B</sub> with maximum optimality. Let CAR (S<sub>p</sub>,p) be the cardinality of the subset Sp of objects in D<sub>A</sub> which locate within R and are enclosed by the vicinity circle centered at p with radius d<sub>c</sub>. Then, an object <i>o</i> is said to be better than another one o' if (i) CAR (S<sub>o</sub>,o) = CAR (S<sub>o</sub>,o'), or (ii) when CAR (S<sub>o</sub>,o) = CAR (S<sub>o</sub>',o') the sum of the weighted distance from each object in S<sub>o</sub> to <i>o</i> is smaller than the sum of the weighted distance between every object in So' and o'. This type of queries is quite useful in many decision making applications. In this paper, we formalize the ONN query, develop the optimality metric, and propose several algorithms for finding optimal nearest neighbors efficiently. Our techniques assume that both D<sub>A</sub> and D<sub>B</sub> are indexed by R-trees. Extensive experiments demonstrate the efficiency and scalability of our proposed algorithms using both real and synthetic datasets.

title: The Cluster Distribution of Regulatory Motifs of Transcription in Yeast Introns
abstract: A comparative analysis of olignucleotide frequencies in two sets of introns of genes highly-transcribed and lowly-transcribed respectively has suggested that the existence of potential positive regulatory motifs of transcription in yeast introns. To further reveal the distribution feature of these motifs, we detected significant clusters of these motifs (mainly pentanucleotides) in introns by r-scan analysis. The results showed that there are more clusters of regulatory motifs in the introns of ribosomal protein genes (highly-transcribed genes) than in lowly-transcribed introns. Experimental studies show that the transcription factors function cooperatively in transcriptional activation and the corresponding binding sites for factors generally cluster in DNA. Accordingly, we speculated that the cluster distribution of regulatory motifs of transcription in yeast introns could becorrelated with the cooperative action of transcription factors and the transcriptional rates of genes could be improved by the cooperativity.

title: A Web Service Adapter with Contract-Oriented Methodology
abstract: Loose coupling is a cornerstone for Service-Oriented Architecture (SOA). Service contracts enable loose coupling, because they conceal internal details of services from the outside world behind the facade. However, current works on service oriented analysis and design (SOAD) largely focus on defining processes for developing business processes and services without considering variability in details. In this paper, a Web Service adapter of service-contract oriented is presented in order to enhance the applicability and reusability of such services. We also introduce some critical issues about service contract analysis engine, skeleton code generate engine and web-based WSDL editor in the Web Service adapter. Additionally, the Web Service adapter designed in this paper is compared with related tools, and the results indicate that our methods demonstrate a more desirable interactivity and stability.