Danny Weyns, Tomas Bures, Radu Calinescu, Barnaby Craggs, John Fitzgerald,
David Garlan, Bashar Nuseibeh, Liliana Pasquale, Awais Rashid,
Ivan Ruchkin and
Bradley Schmerl. Six Software Engineering Principles for Smarter Cyber-Physical Systems. In Proceedings of the Workshop on Self-Improving System Integration. September 27, 2021.
https://doi.org/10.1109/acsos-c52956.2021.00058.
Abstract: Cyber-Physical Systems (CPS) integrate computational and physical components. With the digitisation of society and industry and the progressing integration of systems, CPS need to become 'smarter' - in the sense that they can adapt and learn to handle new and unexpected conditions, and improve over time. Smarter CPS present a combination of challenges that existing engineering methods have difficulties addressing: inter-twined digital, physical and social spaces, need for heterogeneous modelling formalisms, demand for context-tied cooperation to achieve system goals, widespread uncertainty and disruptions in changing contexts, inherent human constituents, and continuous encounter with new situations. While approaches have been put forward to deal with some of these challenges, a coherent perspective on engineering smarter CPS is lacking. In this paper, we present six engineering principles for addressing the challenges of smarter CPS. As smarter CPS are software-intensive systems, we approach them from a software engineering perspective with the angle of self-adaptation that offers an effective approach to deal with run-time change. The six principles create an integrated landscape for the engineering and operation of smarter CPS.
Abstract: Self-adaptive software systems rely on planning to
make adaptation decisions autonomously. Planning is required
to produce high-quality adaptation plans in a timely manner;
however, quality and timeliness of planning are conflicting in
nature. This conflict can be reconciled with hybrid planning,
which can combine reactive planning (to quickly provide an
emergency response) with deliberative planning that take time
but determine a higher-quality plan. While often effective, reactive
planning sometimes risks making the situation worse. Hence,
a challenge in hybrid planning is to decide whether to invoke
reactive planning until the deliberative planning is ready with a
high-quality plan. To make this decision, this paper proposes a
novel learning-based approach. We demonstrate that this learning-based
approach outperforms existing techniques that are based
on specifying fixed conditions to invoke reactive planning in two
domains: enterprise cloud systems and unmanned aerial vehicles.
Abstract: Design and verification of modern systems requires diverse models,
which often come from a variety of disciplines, and it is challenging to manage
their heterogeneity รขโฌโ especially in the case of cyber-physical systems. To check
consistency between models, recent approaches map these models to flexible static
abstractions, such as architectural views. This model integration approach, however, comes at a cost of reduced expressiveness because complex behaviors of the
models are abstracted away. As a result, it may be impossible to automatically
verify important behavioral properties across multiple models, leaving systems
vulnerable to subtle bugs. This paper introduces the Integration Property Language (IPL) that improves integration expressiveness using modular verification of
properties that depend on detailed behavioral semantics while retaining the ability
for static system-wide reasoning. We prove that the verification algorithm is sound
and analyze its termination conditions. Furthermore, we perform a case study on a
mobile robot to demonstrate IPL is practically useful and evaluate its performance.
Abstract: Approaches to self-adaptation face a fundamental
trade-off between quality and timeliness in decision-making. Due
to this trade-off, designers of self-adaptive systems often have
to find a fixed and suboptimal compromise between these two
requirements. Recent work has proposed the hybrid planning approach
that can resolve this trade-off dynamically and potentially
in an optimal way. The promise of hybrid planning is to combine
multiple planners at run time to produce adaptation plans of
the highest quality within given time constraints. However, since
decision-making approaches are complex and diverse, the problem
of combining them is even more difficult, and no frameworks for
hybrid planning. This paper makes an important step in simplifying
the problem of hybrid planning by formalizing it and decomposing
it into four simpler subproblems. These formalizations
will serve as a foundation for creating and evaluating engineering
solutions to the hybrid planning problem.
๐
Ivan Ruchkin, Selva Samuel,
Bradley Schmerl, Amanda Rico and
David Garlan. Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems. In Workshop on MARTCPS Models at Runtime and Networked Control for Cyber Physical Systems at IEEE World Forum on the Internet of Things, Reston, Virginia. December 12-14, 2016.
https://doi.org/10.1109/wf-iot.2016.7845513.
Winner of the IEEE World Forum on the Internet of Things Best Paper Award.
Abstract: Cyber-physical systems (CPSs) mix software,
hardware, and physical aspects with equal importance. Typically,
the use of models of such systems during run time
has concentrated only on managing and controlling the cyber
(software) aspects. However, to fully realize the goals of a
CPS, physical models too have to be treated as first-class
models. This approach gives rise to three main challenges:
(a) identifying and integrating physical and software models
with different characteristics and semantics; (b) obtaining
instances of physical models at a suitable level of abstraction
for adaptation; and (c) using and adapting physical models to
control CPSs. In this position paper, we elaborate on these three
challenges and describe our vision of making physical models
first-class entities in adaptation. We illustrate this vision in the
context of power adaptation for a service robotic system.
Abstract: Recent research in embedded and cyber-physical
systems has developed theories and tools for integration of
heterogeneous components and models. These efforts, although
important, are insufficient for high-quality and error-free systems
integration since inconsistencies between system elements may
stem from factors not directly represented in models (e.g.,
analysis tools and expert disagreements). Therefore, we need to
broaden our perspective on integration, and devise approaches
in three novel directions of integration: modeling methods, data
sets, and humans. This paper summarizes the latest advances, and
discusses those directions and associated challenges in integration
for cyber-physical systems.
Ivan Ruchkin, Ashwini Rao, Dio De Niz, Sagar Chaki and
David Garlan. Eliminating Inter-Domain Vulnerabilities in Cyber-Physical
Systems: An Analysis Contracts Approach. In Proceedings of the First ACM Workshop on Cyber-Physical Systems Security and Privacy, Denver, Colorado. October 16, 2015.
https://doi.org/10.1145/2808705.2808714.
Abstract: Designing secure cyber-physical systems (CPS) is a particularly
difficult task since security vulnerabilities stem not
only from traditional cybersecurity concerns, but also physical
ones as well. Many of the standard methods for CPS
design make strong and unverified assumptions about the
trustworthiness of physical devices, such as sensors. When
these assumptions are violated, subtle inter-domain vulnerabilities
are introduced into the system model. In this paper
we propose to use formal specification of analysis contracts
to expose security assumptions and guarantees of analyses
from reliability, control, and sensor security domains. We
show that this specification allows us to determine where
these assumptions are violated or ignore important failure
modes that open the door to malicious attacks. We demonstrate
how this approach can help discover and prevent vulnerabilities
in a self-driving car example.
๐ฅ
Ivan Ruchkin. Architectural and Analytic Integration of Cyber-Physical System Models. In ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems, ACM Student Research Award Competition, Ottawa, Canada. September 30-October 2, 2015.
Gold Medal Winner.
Abstract: Modeling methods for Cyber-Physical Systems
(CPS) originate in various engineering fields, and are difficult to
use together due to their heterogeneity. Inconsistencies between
mutually oblivious models and analyses often lead to implicit design
errors, which may cause catastrophic failures of critical CPS.
Such consistency issues are not fully solved by the state-of-the-art
integration methods, which lack generality, formal guarantees,
and effectiveness. To overcome these limitations and achieve
better integration, this paper outlines a two-level integration
approach based on architectural views and analysis contracts.
In particular, this paper proposes languages and algorithms
to specify and verify important integration properties, such as
correct analysis execution and rich consistency of architectural
views. According to the results to date, this approach shows
promise in detection and prevention of implicit errors, which
would be difficult to fix otherwise.
Ivan Ruchkin,
Bradley Schmerl and
David Garlan. Analytic Dependency Loops in Architectural Models of Cyber-Physical Systems. In Proceedings of the 8th International Workshop on Model-based Architecting of Cyber-Physical and Embedded Systems, Ottawa, Canada. September 28, 2015.
Abstract: Rigorous engineering of safety-critical Cyber-
Physical Systems (CPS) requires integration of heterogeneous
modeling methods from different disciplines. It is often necessary
to view this integration from the perspective of analyses โ
algorithms that read and change models. Although analytic
integration supports formal contract-based verification of model
evolution, it suffers from the limitation of analytic dependency
loops. Dependency loops between analyses cannot be resolved
based on the existing contract-based verification. This paper
makes a step towards using rich architectural description to
resolve circular analytic dependencies. We characterize the dependency
loop problem and discuss three algorithmic approaches
to resolving such loops: analysis iteration, constraint solving, and
genetic search. These approaches take advantage of information
in multi-view architectures to resolve analytic dependency loops.
Abstract: Modern cyber-physical systems interact closely with continuous physical processes like kinematic movement. Software component frameworks do not provide an explicit way to represent or reason about these processes. Meanwhile, hybrid program models have been successful in proving critical properties of discrete-continuous systems. These programs deal with diverse aspects of a cyber-physical system such as controller decisions, component communication protocols, and mechanical dynamics, requiring several programs to address the variation. However, currently these aspects are often intertwined in mostly monolithic hybrid programs, which are difficult to understand, change, and organize. These issues can be addressed by component-based engineering, making hybrid modeling more practical. This paper lays the foundation for using architectural models to provide component-based benefits to developing hybrid programs. We build formal architectural abstractions of hybrid programs and formulas, enabling analysis of hybrid programs at the component level, reusing parts of hybrid programs, and automatic transformation from views into hybrid programs and formulas. Our approach is evaluated in the context of a robotic collision avoidance case study.
Abstract: Development of modern Cyber-Physical Systems (CPS) relies on a number of analysis tools to verify critical properties. The Architecture Analysis and Design Language (AADL) standard provides a common architectural model to which multiple CPS analyses can be applied. Unfortunately, interaction between these analyses can invalidate their results. In this paper we present ACTIVE, a tool developed within the OSATE/AADL infrastructure to solve this problem. We analyze the problems that occur when multiple analyses are applied to an AADL model and how these problems invalidate analysis results. Interactions between analyses, implemented as OSATE plugins, are formally described in ACTIVE in order to enable automatic verification. In particular, these interactions are captured in an analysis contract consisting of inputs, outputs, assumptions, and guarantees. The inputs and outputs help determine the correct order of execution of the plugins. Assumptions capture the conditions that must be valid in order to execute an analysis plugin, while guarantees are conditions that are expected to be valid afterwards. ACTIVE allows the use of any generic verification tool (e. g., a model checker) to validate these conditions. To coordinate these activities our tool uses two components: ACTIVE EXECUTER and ACTIVE VERIFIER. ACTIVE EXECUTER invokes the analysis plugins in the required order and uses ACTIVE VERIFIER to check assumptions and guarantees. ACTIVE VERIFIER identifies and executes the verification tool that needs to be invoked based on the target formula. Together, they ensure that plugins are always executed in the correct order and under the correct conditions, guaranteeing correct results. To the best of our knowledge, ACTIVE is the first extensible framework that integrates independently-developed analysis plugins ensuring provably-correct interactions.
Abstract: Developing cyber-physical systems involves creating systems with properties from multiple domains, e. g., timing, logical correctness, thermal resilience, aerodynamics, and mechanical stress. In today/s industrial practice, multiple analyses are used to obtain and verify such properties. Unfortunately, given that these analyses originate from different scientific domains, they abstract away interactions among themselves, risking the invalidation of their results. Specifically, one challenge is to ensure that an analysis is never applied to a model that violates its assumptions. Since such violation can originate from the updating of the model by another analysis, analyses must be executed in the correct order. Another challenge is to do this soundly and scalably over models of realistic complexity and diverse set of analyses. To address these challenges, we develop an analysis integration approach that uses contracts to specify dependencies between analyses, determine their correct orders of application, and specify and verify applicability conditions across multiple domains. We present an implementation of our approach, and demonstrate its effectiveness, extensibility, and scalability.
David Garlan,
Vishal Dwivedi,
Ivan Ruchkin and
Bradley Schmerl. Foundations and Tools for End-User Architecting. In Large-Scale Complex IT Systems. Development, Operation and Management, 17th Monterey Workshop 2012, Oxford, UK, March 19-21, 2012,
David Garlan and Radu Calinescu (Eds.), Springer. Lecture Notes in Computer Science, Vol. 7539, pp. 157-182. 2012.
https://doi.org/10.1007/978-3-642-34059-8_9.
Abstract: Within an increasing number of domains an important emerging need is the ability for technically naive users to compose computational elements into novel configurations. Examples include astronomers who create new analysis pipelines to process telescopic data, intelligence analysts who must process diverse sources of unstructured text to discover socio-technical trends, and medical researchers who have to process brain image data in new ways to understand disease pathways. Creating such compositions today typically requires low-level technical expertise, limiting the use of computational methods and increasing the cost of using them. In this paper we describe an approach -- which we term end-user architecting -- that exploits the similarity between such compositional activities and those of software architects. Drawing on the rich heritage of software architecture languages, methods, and tools, we show how those techniques can be adapted to support end users in composing rich computational systems through domain-specific compositional paradigms and component repositories, without requiring that they have knowledge of the low-level implementation details of the components or the compositional infrastructure. Further, we outline a set of open research challenges that the area of end-user architecting raises.