2,055 research outputs found
Contributions to multi-view modeling and the multi-view consistency problem for infinitary languages and discrete systems
The modeling of most large and complex systems, such as embedded, cyber-physical, or distributed systems, necessarily involves many designers. The multiple stakeholders carry their own perspectives of the system under development in order to meet a variety of objectives, and hence they derive their own models for the same system. This practice is known as multiview modeling, where the distinct models of a system are called views. Inevitably, the separate views are related, and possible overlaps may give rise to inconsistencies. Checking for multiview consistency is key to multi-view modeling approaches, especially when a global model for the system is absent, and can only be synthesized from the views.
The present thesis provides an overview of the representative related work in multi-view modeling, and contributes to the formal study of multi-view modeling and the multi-view consistency problem for views and systems described as sets of behaviors. In particular, two distinct settings are investigated, namely, infinitary languages, and discrete systems. In the former research, a system and its views are described by mixed automata, which accept both finite and infinite words, and the corresponding infinitary languages. The views are obtained from the system by projections of an alphabet of events (system domain) onto a subalphabet (view domain), while inverse projections are used in the other direction. A systematic study is provided for mixed automata, and their languages are proved to be closed under union, intersection, complementation, projection, and inverse projection. In the sequel, these results are used in order to solve the multi-view consistency problem in the infinitary language setting.
The second research introduces the notion of periodic sampling abstraction functions, and investigates the multi-view consistency problem for symbolic discrete systems with respect to these functions. Apart from periodic samplings, inverse periodic samplings are also introduced, and the closure of discrete systems under these operations is investigated. Then, three variations of the multi-view consistency problem are considered, and their relations are discussed. Moreover, an algorithm is provided for detecting view inconsistencies. The algorithm is sound but it may fail to detect all inconsistencies, as it relies on a state-based reachability, and inconsistencies may also involve the transition structure of the system
Recommended from our members
Modular and Safe Event-Driven Programming
Asynchronous event-driven systems are ubiquitous across domains such as device drivers, distributed systems, and robotics. These systems are notoriously hard to get right as the programmer needs to reason about numerous control paths resulting from the complex interleaving of events (or messages) and failures. Unsurprisingly, it is easy to introduce subtle errors while attempting to fill in gaps between high-level system specifications and their concrete implementations.This dissertation proposes new methods for programming safe event-driven asynchronous systems.In the first part of the thesis, we present ModP, a modular programming framework for compositional programming and testing of event-driven asynchronous systems.The ModP module system supports a novel theory of compositional refinement for assume-guarantee reasoning of dynamic event-driven asynchronous systems. We build a complex distributed systems software stack using ModP.Our results demonstrate that compositional reasoning can help scale model-checking (both explicit and symbolic) to large distributed systems.ModP is transforming the way asynchronous software is built at Microsoft and Amazon Web Services (AWS). Microsoft uses ModP for implementing safe device drivers and other software in the Windows kernel.AWS uses ModP for compositional model checking of complex distributed systems. While ModP simplifies analysis of such systems, the state space of industrial-scale systems remains extremely large.In the second part of this thesis, we present scalable verification and systematic testing approaches to further mitigate this state-space explosion problem.First, we introduce the concept of a delaying explorer to perform prioritized exploration of the behaviors of an asynchronous reactive program. A delaying explorer stratifies the search space using a custom strategy (tailored towards finding bugs faster), and a delay operation that allows deviation from that strategy. We show that prioritized search with a delaying explorer performs significantly better than existing approaches for finding bugs in asynchronous programs.Next, we consider the challenge of verifying time-synchronized systems; these are almost-synchronous systems as they are neither completely asynchronous nor synchronous.We introduce approximate synchrony, a sound and tunable abstraction for verification of almost-synchronous systems. We show how approximate synchrony can be used for verification of both time-synchronization protocols and applications running on top of them.Moreover, we show how approximate synchrony also provides a useful strategy to guide state-space exploration during model-checking.Using approximate synchrony and implementing it as a delaying explorer, we were able to verify the correctness of the IEEE 1588 distributed time-synchronization protocol and, in the process, uncovered a bug in the protocol that was well appreciated by the standards committee.In the final part of this thesis, we consider the challenge of programming a special class of event-driven asynchronous systems -- safe autonomous robotics systems.Our approach towards achieving assured autonomy for robotics systems consists of two parts: (1) a high-level programming language for implementing and validating the reactive robotics software stack; and (2) an integrated runtime assurance system to ensure that the assumptions used during design-time validation of the high-level software hold at runtime.Combining high-level programming language and model-checking with runtime assurance helps us bridge the gap between design-time software validation that makes assumptions about the untrusted components (e.g., low-level controllers), and the physical world, and the actual execution of the software on a real robotic platform in the physical world. We implemented our approach as DRONA, a programming framework for building safe robotics systems.We used DRONA for building a distributed mobile robotics system and deployed it on real drone platforms. Our results demonstrate that DRONA (with the runtime-assurance capabilities) enables programmers to build an autonomous robotics software stack with formal safety guarantees.To summarize, this thesis contributes new theory and tools to the areas of programming languages, verification, systematic testing, and runtime assurance for programming safe asynchronous event-driven across the domains of fault-tolerant distributed systems and safe autonomous robotics systems
Proceedings of Monterey Workshop 2001 Engineering Automation for Sofware Intensive System Integration
The 2001 Monterey Workshop on Engineering Automation for Software Intensive System Integration was sponsored by the Office of Naval Research, Air Force Office of Scientific Research, Army Research Office and the Defense Advance Research Projects Agency. It is our pleasure to thank the workshop advisory and sponsors for their vision of a principled engineering solution for software and for their many-year tireless effort in supporting a series of workshops to bring everyone together.This workshop is the 8 in a series of International workshops. The workshop was held in Monterey Beach Hotel, Monterey, California during June 18-22, 2001. The general theme of the workshop has been to present and discuss research works that aims at increasing the practical impact of formal methods for software and systems engineering. The particular focus of this workshop was "Engineering Automation for Software Intensive System Integration". Previous workshops have been focused on issues including, "Real-time & Concurrent Systems", "Software Merging and Slicing", "Software Evolution", "Software Architecture", "Requirements Targeting Software" and "Modeling Software System Structures in a fastly moving scenario".Office of Naval ResearchAir Force Office of Scientific Research Army Research OfficeDefense Advanced Research Projects AgencyApproved for public release, distribution unlimite
Control-Theoretical Perspective in Feedback-Based Systems Testing
Self-Adaptive Systems (SAS) and Cyber-Physical Systems (CPS) have received significant attention in recent computer engineering research. This is due to their ability to improve the level of autonomy of engineering artefacts. In both cases, this autonomy increase is achieved through feedback. Feedback is the iteration of sens- ing and actuation to respectively acquire knowledge about the current state of said artefacts and steer them toward a desired state or behaviour. In this thesis we dis- cuss the challenges that the introduction of feedback poses on the verification and validation process for such systems, more specifically, on their testing. We highlight three types of new challenges with respect to traditional software testing: alteration of testing input and output definition, and intertwining of components with different nature. Said challenges affect the ways we can define different elements of the test- ing process: coverage criteria, testing set-ups, test-case generation strategies, and oracles in the testing process. This thesis consists of a collection of three papers and contributes to the definition of each of the mentioned testing elements. In terms of coverage criteria for SAS, Paper I proposes the casting of the testing problem, to a semi-infinite optimisation problem. This allows to leverage the Scenario Theory from the field of robust control, and provide a worst-case probabilistic bound on a given performance metric of the system under test. For what concerns the definition of testing set-ups for control-based CPS, Paper II investigates the implications of the use of different abstractions (i.e., the use of implemented or emulated compo- nents) on the significance of the testing. The paper provides evidence that confutes the common assumption present in previous literature on the existence of a hierar- chy among commonly used testing set-ups. Finally, regarding the test-case gener- ation and oracle definition, Paper III defines the problem of stress testing control- based CPS software. We contribute to the generation and identification of stress test cases for such software by proposing a novel test case parametrisation. Leveraging the proposed parametrisation we define metamorphic relations on the expected be- haviour of the system under test. We use said relations for the development of stress testing approach and sanity checks on the testing results
Formal Techniques for Component-based Design of Embedded Systems
Embedded systems have become ubiquitous - from avionics and automotive over consumer electronics to medical devices. Failures may entailmaterial damage or compromise safety of human beings. At the same time, shorter product cycles, together with fast growing complexity of the systems to be designed, create a tremendous need for rigorous design techniques. The goal of component-based construction is to build complex systems from simpler components that are well understood and can be (re)used so as to accelerate the design process. This document presents a summary of the formal techniques for component-based design of embedded systems I have (co-)developed
Simulation and statistical model-checking of logic-based multi-agent system models
This thesis presents SALMA (Simulation and Analysis of Logic-Based Multi-
Agent Models), a new approach for simulation and statistical model checking
of multi-agent system models.
Statistical model checking is a relatively new branch of model-based approximative
verification methods that help to overcome the well-known scalability
problems of exact model checking. In contrast to existing solutions,
SALMA specifies the mechanisms of the simulated system by means of logical
axioms based upon the well-established situation calculus. Leveraging
the resulting first-order logic structure of the system model, the simulation
is coupled with a statistical model-checker that uses a first-order variant of
time-bounded linear temporal logic (LTL) for describing properties. This is
combined with a procedural and process-based language for describing agent
behavior. Together, these parts create a very expressive framework for modeling
and verification that allows direct fine-grained reasoning about the agents’
interaction with each other and with their (physical) environment.
SALMA extends the classical situation calculus and linear temporal logic
(LTL) with means to address the specific requirements of multi-agent simulation
models. In particular, cyber-physical domains are considered where
the agents interact with their physical environment. Among other things,
the thesis describes a generic situation calculus axiomatization that encompasses
sensing and information transfer in multi agent systems, for instance
sensor measurements or inter-agent messages. The proposed model explicitly
accounts for real-time constraints and stochastic effects that are inevitable in
cyber-physical systems.
In order to make SALMA’s statistical model checking facilities usable also
for more complex problems, a mechanism for the efficient on-the-fly evaluation
of first-order LTL properties was developed. In particular, the presented algorithm
uses an interval-based representation of the formula evaluation state
together with several other optimization techniques to avoid unnecessary computation.
Altogether, the goal of this thesis was to create an approach for simulation
and statistical model checking of multi-agent systems that builds upon
well-proven logical and statistical foundations, but at the same time takes a
pragmatic software engineering perspective that considers factors like usability,
scalability, and extensibility. In fact, experience gained during several small
to mid-sized experiments that are presented in this thesis suggest that the
SALMA approach seems to be able to live up to these expectations.In dieser Dissertation wird SALMA (Simulation and Analysis of Logic-Based
Multi-Agent Models) vorgestellt, ein im Rahmen dieser Arbeit entwickelter
Ansatz für die Simulation und die statistische Modellprüfung (Model Checking)
von Multiagentensystemen.
Der Begriff „Statistisches Model Checking” beschreibt modellbasierte approximative
Verifikationsmethoden, die insbesondere dazu eingesetzt werden
können, um den unvermeidlichen Skalierbarkeitsproblemen von exakten Methoden
zu entgehen. Im Gegensatz zu bisherigen Ansätzen werden in SALMA die
Mechanismen des simulierten Systems mithilfe logischer Axiome beschrieben,
die auf dem etablierten Situationskalkül aufbauen. Die dadurch entstehende
prädikatenlogische Struktur des Systemmodells wird ausgenutzt um ein Model
Checking Modul zu integrieren, das seinerseits eine prädikatenlogische Variante
der linearen temporalen Logik (LTL) verwendet. In Kombination mit
einer prozeduralen und prozessorientierten Sprache für die Beschreibung von
Agentenverhalten entsteht eine ausdrucksstarke und flexible Plattform für die
Modellierung und Verifikation von Multiagentensystemen. Sie ermöglicht eine
direkte und feingranulare Beschreibung der Interaktionen sowohl zwischen
Agenten als auch von Agenten mit ihrer (physischen) Umgebung.
SALMA erweitert den klassischen Situationskalkül und die lineare temporale
Logik (LTL) um Elemente und Konzepte, die auf die spezifischen Anforderungen
bei der Simulation und Modellierung von Multiagentensystemen
ausgelegt sind. Insbesondere werden cyber-physische Systeme (CPS) unterstützt,
in denen Agenten mit ihrer physischen Umgebung interagieren. Unter
anderem wird eine generische, auf dem Situationskalkül basierende, Axiomatisierung
von Prozessen beschrieben, in denen Informationen innerhalb von
Multiagentensystemen transferiert werden – beispielsweise in Form von Sensor-
Messwerten oder Netzwerkpaketen. Dabei werden ausdrücklich die unvermeidbaren
stochastischen Effekte und Echtzeitanforderungen in cyber-physischen
Systemen berücksichtigt.
Um statistisches Model Checking mit SALMA auch für komplexere Problemstellungen
zu ermöglichen, wurde ein Mechanismus für die effiziente Auswertung
von prädikatenlogischen LTL-Formeln entwickelt. Insbesondere beinhaltet
der vorgestellte Algorithmus eine Intervall-basierte Repräsentation des
Auswertungszustands, sowie einige andere Optimierungsansätze zur Vermeidung
von unnötigen Berechnungsschritten.
Insgesamt war es das Ziel dieser Dissertation, eine Lösung für Simulation
und statistisches Model Checking zu schaffen, die einerseits auf fundierten
logischen und statistischen Grundlagen aufbaut, auf der anderen Seite jedoch
auch pragmatischen Gesichtspunkten wie Benutzbarkeit oder Erweiterbarkeit
genügt. Tatsächlich legen erste Ergebnisse und Erfahrungen aus
mehreren kleinen bis mittelgroßen Experimenten nahe, dass SALMA diesen
Zielen gerecht wird
Investigating Actuation Force Fight with Asynchronous and Synchronous Redundancy Management Techniques
Within distributed fault-tolerant systems the term force-fight is colloquially used to describe the level of command disagreement present at redundant actuation interfaces. This report details an investigation of force-fight using three distributed system case-study architectures. Each case study architecture is abstracted and formally modeled using the Symbolic Analysis Laboratory (SAL) tool chain from the Stanford Research Institute (SRI). We use the formal SAL models to produce k-induction based proofs of a bounded actuation agreement property. We also present a mathematically derived bound of redundant actuation agreement for sine-wave stimulus. The report documents our experiences and lessons learned developing the formal models and the associated proofs
- …