Engineering Adaptive Software Systems: A Research Agenda
John Mylopoulos,?University?of Trento, Italy and University of Toronto, Canada
Abstract?? Adaptive software systems need to be capable of multiple behaviours for fulfilling their requirements, so that if one behaviour is failing for whatever reasons, the system can switch (“reconfigure”) to an alternative behaviour. The most important question then in engineering such systems is: how do we design and implement systems that are capable of fulfilling their requirements in multiple ways? What are the concepts in terms of which such systems are conceived, designed and implemented? What techniques do we use to analyze and design them? What are the adaptation mechanisms through which an adaptive system monitors its behaviour, determines root causes for failing requirements and selects a suitable adaptation?
The presentation will review answers we have given to some of these questions in the PhD theses of Vitor Souza and Kostas Angelopoulos (on-going), also some of the open questions that constitute our current research agenda.
How to Capture Context and Context-dependent Behavior
Tetsuo Tamai, Hosei University, Japan
Abstract???Adaptive systems change their behavior dependent on context?changes. The key issue in modeling and developing such systems is how to?capture context and context-dependent behavior. Factors that determine?context may include location, time, interacting agents and technical?environment. In this talk, I’d like to discuss ways of determining?appropriate contexts from the requirements engineering point of view.
Adaptation and Boundaries
Bashar Nuseibeh,?Lero and The Open University, UK
Abstract?? In this speculative talk, I will explore the role of boundaries in engineering adaptive software systems, and will revisit claims that they are ‘disappearing’. I will use this exploration to inform the development of a research agenda in the area of engineering adaptive?software.
Integrated Control and Systems Science for Cyber-Physical Systems: A Research Agenda
Hausi A.?Müller, University of Victoria, Canada?
Abstract???Cyber-physical systems (CPS) are smart systems that encompass computational and physical components, seamlessly integrated and closely?interacting to sense the context of the real world. The societal impact of CPS is enormous. Virtually every engineered system is affected by advances in these?interconnected capabilities. Today CPS R&D affords transformative opportunities due to the convergence of analytical and cognitive capabilities, real-time?and networked control, pervasive sensing and actuating, as well as compute and storage clouds.
Advancement in CPS requires an integrated control and systems?science (CSS) that encompasses both physical and computational aspects. Engineering and computer science researchers have provided impressive advances?in CPS foundations?control, communications and computing, in general, and embedded, real-time,?self-adaptive,?and autonomic systems, in?particular. We now need to address the unique scientific and technical challenges for this new type of integrated CSS for CPS.
The Aftermath of Mystery Flight MH370: What Can Adaptive Software Engineers Do?
Yijun Yu,?The Open University, UK
Abstract?? The aftermath of the?missing MH370 flight a year?ago remains still a mystery: no one knows firmly where the crash?was and what caused the problem. In order to answer these?questions, worldwide?search has been carried out ever since to?locate first hand evidence in on-board flight data recorders (also?known as blackboxes). To enhance aviation security, a proposal?was using cloud computing to analyse live streamed flight data.?This talk elaborates this proposal from an adaptive software?engineering perspective.
Dynamic Software Evolution – Approaches and Issues
Shinichi Honiden, National Institute of Informatics and The
University of Tokyo, Japan
Abstract?? In my talk, I will mention some approaches?to enable dynamic software evolution. In particular, the reflection?technique is a promising approach because it enables the software to?change itself dynamically. I will also talk about some issues to apply?these approaches.
Discrete Time Adaptive Linear Control for Software Systems
Martina Maggio, Lund University, Sweden
?Abstract?? Modern software systems are complex entities, that should guarantee their behavior satisfy a certain number of requirements and constraints, during their execution. Control theory has been identified as one of the possible design drivers for runtime adaptation, but the adoption of this discipline’s principles often requires additional knowledge to be processed by a specialist. To overcome? this limitation, automated methodologies have been proposed, that try to extract the necessary information from experimental data and design a control system for runtime adaptation. In this talk I will overview the research journey from the early adoption of ad hoc linear control systems to these automated methodologies and present some of the results that we obtained with different problems, from clock synchronization to cloud performance predictability.
Assured?Graceful?Degradation with Discrete Controller Synthesis
Kenji Tei, NII, Japan
?Abstract???System will face unexpected consequence in its operating environment.?In such a situation, the system should degrade gracefully to avoid catastrophic situation.
Research questions I address here are how does the system degrade gracefully at runtime?with assurance?and how does the system determine how much it should degrade.?My talk will show a framework enabling guaranteed graceful degradation with discrete controller synthesis,?and techniques to select functionality level that system can satisfy in the current perception of the environment,?and to which the system can seamlessly degrade.
Software Self-Adaptivity Measurement based on Requirements Models
Zhi Jin, Peking University, China
?Abstract?? Self-adpativity is currently becoming a more and more important property of software which will run in an open and dynamically changing environment. How do we know if the to-be-built software system will possess the necessary capability of adjusting its behavior for responding the changes in environment? The measurement can be conducted as earlier at the system modeling stage. This talk is trying to deliver some thinking about modeling of the self-adaptive software systems and measuring of the software self-adpativity based on requirements models.
Contexts and Unit of Adaptation in Context-oriented Programming
Hidehiko Masuhara, Tokyo Institute of Technology, Japan
Abstract?? Context-oriented programming (COP) is proposed?for modularizing?dynamically-changing,?context-dependent behaviours. A motivation behind COP is that many modules in a program tend to have fragments of?descriptions that are specific to a specific context.? The approach in?COP is providing a new abstraction that is specific to a context, yet?affects many modules.? While COP has been successful as a programming?mechanism, the notion of a context and the unit of adaptations in COP?are not yet clear.? For example in some COP languages, contexts are?merely “callers” of a module, while in some others, contexts exist?outside of a running program, whose changes are observed as events in?a program.? In this talk, we discuss several required properties of?contexts and unit of adaptation, and possible language designs to?generalize those notions.
Dynamic Software Composition for Run-time System Evolution
Robert Hirschfeld, Hasso Plattner Institute at the University of Potsdam, Germany
Abstract???The longer systems run, the more likely they will need to be revised to keep up with the changes in their environment ranging from user expectations over technological advances to mistakes made. Since many such situations are unanticipated, planning for them in advance is often impossible. While computational reflection as such allows for changing running systems at the language level, the mechanisms provided are often very primitive and too general to be applied comfortably. Context-oriented programming, or COP for short, offers modularity constructs and composition mechanisms that allow for run-time adaptation and evolution at a higher level of abstraction in a more structured way. We will give an introduction to COP, present recent developments of COP language and infrastructure support in our group, and hope to learn about and discuss new and interesting application areas and scenarios to derive novel research questions.
Requirements-Driven Mediation for Collaborative Security
Amel?Bennaceur,?The Open University, UK
Abstract?? Collaborative security exploits the capabilities of the components available in the ubiquitous computing environment in order to protect assets from intentional harm.?By dynamically composing the capabilities of multiple components, collaborative security implements the security controls by which requirements are satisfied.?However, this dynamic composition is often hampered by the heterogeneity of the components available in the environment and the diversity of their behaviours.
In this talk I will present a systematic,?tool-supported approach for ?collaborative security based on a combination of feature modelling and mediator synthesis.?This approach ensures?that the implemented security controls are the optimal ones given the capabilities available in the operating environment. I will show how we used the FICS (Feature-driven MedIation for Collaborative Security) tool to make two robots?a humanoid robot and a vacuum cleaner?collaborate in order to implement an additional security control for protecting a mobile phone from theft.
Towards Robust Linear Quadratic Control of Software Systems
Marin Litoiu, York University, Canada
Abstract?? Adaptive software systems cope with changes in environment by self-adjusting their structure and the behaviour. Robustness refers to the ability of the system to deal with uncertainty, that is parameter perturbations or not-modeled system dynamics that can affect the quality of the adaptation. In this presentation we show a formal method to design and implement a model identification adaptive controller (MIAC) using a combination of performance and control models. The controller optimizes a linear quadratic objective function. We show preliminary results on a cloud-deployed application and show that the controller performs well for a wide range of perturbations.
Evolving Dynamic Software Product Lines
Clément Quinton, Politecnico di Milano, Italy
Abstract?? In many domains, systems need to run continuously and cannot be shut down for reconfiguration or maintenance tasks. Cyber-physical or cloud-based systems, for instance, thus often provide means to support their adaptation at runtime. The required flexibility and adaptability of systems suggests the application of Software Product Line (SPL) principles to manage their variability and to support their reconfiguration. Specifically, Dynamic Software Product Lines (DSPL) have been proposed to support the management and binding of variability at runtime. While SPL evolution has been widely studied, it has so far not been investigated in detail in a DSPL context. Variability models that are used in a DSPL have to co-evolve and be kept consistent with the systems they represent to support reconfiguration even after changes to the systems at runtime. In this presentation we describe the consequences of such changes on the consistency of the DSPL and analyze their impact on the running system.
Guaranteeing Solution Quality for SAS Optimization Problems by Being Greedy
Ulrike Stege, University of Victoria, Canada
?Abstract?? When dealing with self-adaptive systems one is regularly tasked with solving optimization problems. A frequent strategy?to solve such a?problem is the greedy approach. Unfortunately, often no quality guarantees are known for a?specific greedy algorithm solution?specific?solutions are often validated and compared using simulations. In this talk we discuss a mathematical framework to investigate the quality of greedy approaches for maximization problems systematically and, thereby, often eliminating the need for extensive?simulation runs. Furthermore, we discuss methods to tweak the problem at hand to improve?the solution quality obtained using the greedy approach.
Bidirectional Programming for Self-adaptive Systems
Lionel Montrieux, NII, Japan
Abstract?? A bidirectional transformation is a pair of functions, ‘get’ and ‘put’,?allowing developers to keep two documents, a source and a view,?synchronised. ‘get’ takes a source and produces a view, whilst ‘put’
takes a source as well as an updated view, and reflects the changes made
to the view into the source. Bidirectional?programming uses?Domain-Specific Languages (DSLs) to facilitate writing bidirectional?transformations, while ensuring that the transformations satisfy some?important properties.
This talk will explore our use of?bidirectional programming in?self-adaptive systems. In particular, we will discuss the use of?bidirectional transformations to keep the knowledge base synchronised?with the monitored system, and to extract and manipulate parts of the?knowledge base into smaller, more manageable models.
High Variability Models for Better Adaptive Systems
Kostas Angelopoulos,?University?of Trento, Italy
?Abstract???Variability is essential for adaptive systems, because it capture the solution space where the alternative adaptations a system can perform, when it adapts. In our work we investigate a) what types of variability are present in software systems and their environment, b) what models are suitable for eliciting all the variables that affect the performance (wrt requirements fulfillment) of the system-at-hand and c) how these models are related with each other. Finally, we examine methods from Control-Theory in order to efficiently handle the elicited variables and maintain a stable and optimal satisfaction of the prescribed requirements.
Next Generation Collaborative Distributed Visualization Systems on the Distributed Cloud
Rick?McGeer, SAP,?San Francisco, USA
Abstract?? We describe the Distributed Collaborative Scientific Visualization System, a system designed to permit real-time interaction and visual collaboration?around large data sets, with an initial emphasis on scientific data. The Visualization System offers such a collaborative environment,?with real-time interaction on any device between users separated across the wide area. The Visualization System provides seamless interaction?and immediate updates even under heavy load and when users are widely separated: the design goal was to fetch a data set consisting of 30,000 points from a server and render it within 150 milliseconds, for a user anywhere in the world, and reflect changes made by a user in one location to all other users?within a bound provided by network latency. The system was demonstrated successfully on a significant worldwide air pollution data set, with pollution?values on a 10 km, 25 km, 50 km, and 100 km worldwide grid, with monthly values over an 18-year period. It was demonstrated on a wide variety of clients, including laptop, tablet, and smartphone.
Towards Effective Management of Dynamic Software Evolution
Yasuyuki Tahara, The University of Electro-Communications,
? ? ? ? ?Japan
Abstract?? Recently, there are arising several?research topics dealing?with dynamic software evolution, such as self-* systems, including?self-adaptive ones, autonomic computing, models at run time, and?requirements at run time. Because the behaviors of dynamically?evolving software tend to become complicated, it is more difficult to?manage those behaviors effectively than conventional software. In my?talk, I will examine various existing approaches, including formal?verification, to management of dynamic software evolution and their?problems, and will suggest some research directions to solve the?problems.
An Adaptive Framework for Individual Privacy
Nobukazu Yoshioka, NII, Japan
Abstract?? Privacy is a right of users to control their private?information. In?other words, users can decide to reveal their private information to?others.? Services with users’ private information should be provided?with respect to privacy.? Some frameworks to preserve the right have?been proposed.? It, however, still hard for developers to meet users’?privacy preferences and develop a privacy friendly service.
In my talk, we propose a new framework?to address these problems.? The?framework allows users to choose their privacy preferences from the?viewpoints of both the privacy risk and the value of services.? In?addition, developers can design the behavior with the variation of a?service, so that the development costs are reduced.? Furthermore, our?framework can adapt to the changes of a preference automatically.? We?illustrate the effectiveness with a case study of an exercise service.
Context-Oriented Programming for Adaptive Software Systems
Tetsuo Kamina, Ritsumeikan University, Japan
?Abstract?? Behavior adapted to the system at runtime in response to environment?changes often crosscuts several parts of the system.? Context-oriented?programming (COP) is an emerging programming paradigm to modularize?such behavior adaptation.? In this work, we identify the challenges in?developing COP languages and what we have achieved through the?development of our COP language, ServalCJ.? We then propose a software?development methodology based on COP.? In particular, we develop a?systematic way to find an appropriate linguistic mechanism to?implement context-dependent behavior and dynamic adaptations of it at?modeling and design time, leading to the mechanized mapping from?requirements and design artifacts formed by our methodology to the COP?implementation.? Through case studies, this mapping is demonstrated?using ServalCJ. Moreover, we discuss the applicability of COP to the?development of adaptive software systems.
A View-based Approach to Software Adaptation
Zhenjiang Hu, NII, Japan
Abstract?? I will talk about a new approach to structuring adaptation rules so?that the rule set can be reconstructed?dynamically for different?purposes and goals. The key idea is to embed a local invariant view to?each rule so that the global view of a desired adaptation logic can be?realized safely by combining rules with relevant local views. Our new?view-based adaptation framework combines the strengths of the?rule-based and goal-based adaptation approaches, and enjoys the?advantages of both.
This is joint work with Tianqi Zhao, Haiyan Zhao,?and Zhi Jin from?Peking University, and Tao Zan from NII.
Modularity for Uncertainties in Adaptive Software SystemsNaoyasu Ubayashi, Kyushu University, Japan
Abstract ??Embracing uncertainties in software evolution is one of the crucial?research topics in engineering?adaptive software systems. As the?research on uncertainty is so young, there are many issues to be?tackled. Modularity for uncertainties is one of them. If uncertainties?can be dealt with modularly, we can add or delete uncertain concerns?to/from a software system whenever these concerns arise or are fixed?to certain concerns. To deal with this challenging issue, we propose a?modularization mechanism for uncertainties. Agile methods embrace?changes to accept changeable user requirements. On the other hand, our?approach embraces uncertainties to support exploratory software?evolution.