423 research outputs found
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
Distributed Planning for Self-Organizing Production Systems
FĂĽr automatisierte Produktionsanlagen gibt es einen fundamentalen Tradeoff
zwischen Effizienz und Flexibilität. In den meisten Fällen sind die Abläufe
nicht nur durch den physischen Aufbau der Produktionsanlage, sondern auch durch
die spezielle zugeschnittene Programmierung der Anlagensteuerung fest
vorgegeben. Änderungen müssen aufwändig in einer Vielzahl von Systemen
nachgezogen werden. Das macht die Herstellung kleiner StĂĽckzahlen unrentabel.
In dieser Dissertation wird ein Ansatz entwickelt, um eine automatische
Anpassung des Verhaltens von Produktionsanlagen an wechselnde Aufträge und
Rahmenbedingungen zu erreichen. Dabei kommt das Prinzip der Selbstorganisation
durch verteilte Planung zum Einsatz. Die aufeinander aufbauenden Ergebnisse der
Dissertation sind wie folgt:
1. Es wird ein Modell von Produktionsanlagen entwickelt, dass nahtlos von der
detaillierten Betrachtung physikalischer Produktionsprozesse bis hin zu
Lieferbeziehungen zwischen Unternehmen skaliert. Im Vergleich zu
existierenden Modellen von Produktionsanlagen werden weniger limitierende
Annahmen gestellt. In diesem Sinne ist der Modellierungsansatz ein Kandidat
für eine häufig geforderte "Theorie der Produktion".
2. FĂĽr die so modellierten Szenarien wird ein Algorithmus zur Optimierung der
nebenläufigen Abläufe entwickelt. Der Algorithmus verbindet Techniken für die
kombinatorische und die kontinuierliche Optimierung: Je nach Detailgrad und
Ausgestaltung des modellierten Szenarios kann der identische Algorithmus
kombinatorische Fertigungsfeinplanung (Scheduling) vornehmen, weltweite
Lieferbeziehungen unter Einbezug von Unsicherheiten und Risiko optimieren und
physikalische Prozesse prädiktiv regeln. Dafür werden Techniken der
Monte-Carlo Baumsuche (die auch bei Deepminds Alpha Go zum Einsatz kommen)
weiterentwickelt. Durch Ausnutzung zusätzlicher Struktur in den Modellen
skaliert der Ansatz auch auf groĂźe Szenarien.
3. Der Planungsalgorithmus wird auf die verteilte Optimierung durch unabhängige
Agenten ĂĽbertragen. DafĂĽr wird die sogenannte "Nutzen-Propagation" als
Koordinations-Mechanismus entwickelt. Diese ist von der Belief-Propagation
zur Inferenz in Probabilistischen Graphischen Modellen inspiriert. Jeder
teilnehmende Agent hat einen lokalen Handlungsraum, in dem er den
Systemzustand beobachten und handelnd eingreifen kann. Die Agenten sind an
der Maximierung der Gesamtwohlfahrt ĂĽber alle Agenten hinweg interessiert.
Die dafĂĽr notwendige Kooperation entsteht ĂĽber den Austausch von Nachrichten
zwischen benachbarten Agenten. Die Nachrichten beschreiben den erwarteten
Nutzen fĂĽr ein angenommenes Verhalten im Handlungsraum beider Agenten.
4. Es wird eine Beschreibung der wiederverwendbaren Fähigkeiten von Maschinen
und Anlagen auf Basis formaler Beschreibungslogiken entwickelt. Ausgehend von
den beschriebenen Fähigkeiten, sowie der vorliegenden Aufträge mit ihren
notwendigen Produktionsschritten, werden ausfĂĽhrbare Aktionen abgeleitet. Die
ausfĂĽhrbaren Aktionen, mit wohldefinierten Vorbedingungen und Effekten,
kapseln benötigte Parametrierungen, programmierte Abläufe und die
Synchronisation von Maschinen zur Laufzeit.
Die Ergebnisse zusammenfassend werden Grundlagen fĂĽr flexible automatisierte
Produktionssysteme geschaffen -- in einer Werkshalle, aber auch ĂĽber Standorte
und Organisationen verteilt -- welche die ihnen innewohnenden Freiheitsgrade
durch Planung zur Laufzeit und agentenbasierte Koordination gezielt einsetzen
können. Der Bezug zur Praxis wird durch Anwendungsbeispiele hergestellt. Die
Machbarkeit des Ansatzes wurde mit realen Maschinen im Rahmen des EU-Projekts
SkillPro und in einer Simulationsumgebung mit weiteren Szenarien demonstriert
A Model-based Approach for Designing Cyber-Physical Production Systems
The most recent development trend related to manufacturing is called "Industry 4.0". It proposes to transition from "blind" mechatronics systems to Cyber-Physical Production Systems (CPPSs). Such systems are capable of communicating with each other, acquiring and transmitting real-time production data. Their management and control require a structured software architecture, which is tipically referred to as the "Automation Pyramid". The design of both the software architecture and the components (i.e., the CPPSs) is a complex task, where the complexity is induced by the heterogeneity of the required functionalities. In such a context, the target of this thesis is to propose a model-based framework for the analysis and the design of production lines, compliant with the Industry 4.0 paradigm. In particular, this framework exploits the Systems Modeling Language (SysML) as a unified representation for the different viewpoints of a manufacturing system. At the components level, the structural and behavioral diagrams provided by SysML are used to produce a set of logical propositions about the system and components under design. Such an approach is specifically tailored towards constructing Assume-Guarantee contracts. By exploiting reactive synthesis techniques, contracts are used to prototype portions of components' behaviors and to verify whether implementations are consistent with the requirements. At the software level, the framework proposes a particular architecture based on the concept of "service". Such an architecture facilitates the reconfiguration of components and integrates an advanced scheduling technique, taking advantage of the production recipe SysML model. The proposed framework has been built coupled with the construction of the ICE Laboratory, a research facility consisting of a full-fledged production line. Such an approach has been adopted to construct models of the laboratory, to virtual prototype parts of the system and to manage the physical system through the proposed software architecture
Multilevel Runtime Verification for Safety and Security Critical Cyber Physical Systems from a Model Based Engineering Perspective
Advanced embedded system technology is one of the key driving forces behind the rapid growth of Cyber-Physical System (CPS) applications. CPS consists of multiple coordinating and cooperating components, which are often software-intensive and interact with each other to achieve unprecedented tasks. Such highly integrated CPSs have complex interaction failures, attack surfaces, and attack vectors that we have to protect and secure against. This dissertation advances the state-of-the-art by developing a multilevel runtime monitoring approach for safety and security critical CPSs where there are monitors at each level of processing and integration. Given that computation and data processing vulnerabilities may exist at multiple levels in an embedded CPS, it follows that solutions present at the levels where the faults or vulnerabilities originate are beneficial in timely detection of anomalies.
Further, increasing functional and architectural complexity of critical CPSs have significant safety and security operational implications. These challenges are leading to a need for new methods where there is a continuum between design time assurance and runtime or operational assurance. Towards this end, this dissertation explores Model Based Engineering methods by which design assurance can be carried forward to the runtime domain, creating a shared responsibility for reducing the overall risk associated with the system at operation. Therefore, a synergistic combination of Verification & Validation at design time and runtime monitoring at multiple levels is beneficial in assuring safety and security of critical CPS. Furthermore, we realize our multilevel runtime monitor framework on hardware using a stream-based runtime verification language
On-Device Deep Learning Inference for System-on-Chip (SoC) Architectures
As machine learning becomes ubiquitous, the need to deploy models on real-time, embedded systems will become increasingly critical. This is especially true for deep learning solutions, whose large models pose interesting challenges for target architectures at the “edge” that are resource-constrained. The realization of machine learning, and deep learning, is being driven by the availability of specialized hardware, such as system-on-chip solutions, which provide some alleviation of constraints. Equally important, however, are the operating systems that run on this hardware, and specifically the ability to leverage commercial real-time operating systems which, unlike general purpose operating systems such as Linux, can provide the low-latency, deterministic execution required for embedded, and potentially safety-critical, applications at the edge. Despite this, studies considering the integration of real-time operating systems, specialized hardware, and machine learning/deep learning algorithms remain limited. In particular, better mechanisms for real-time scheduling in the context of machine learning applications will prove to be critical as these technologies move to the edge. In order to address some of these challenges, we present a resource management framework designed to provide a dynamic on-device approach to the allocation and scheduling of limited resources in a real-time processing environment. These types of mechanisms are necessary to support the deterministic behavior required by the control components contained in the edge nodes. To validate the effectiveness of our approach, we applied rigorous schedulability analysis to a large set of randomly generated simulated task sets and then verified the most time critical applications, such as the control tasks which maintained low-latency deterministic behavior even during off-nominal conditions. The practicality of our scheduling framework was demonstrated by integrating it into a commercial real-time operating system (VxWorks) then running a typical deep learning image processing application to perform simple object detection. The results indicate that our proposed resource management framework can be leveraged to facilitate integration of machine learning algorithms with real-time operating systems and embedded platforms, including widely-used, industry-standard real-time operating systems
Advances in integrating autonomy with acoustic communications for intelligent networks of marine robots
Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the Massachusetts Institute of Technology and the Woods Hole Oceanographic Institution February 2013Autonomous marine vehicles are increasingly used in clusters for an array of oceanographic
tasks. The effectiveness of this collaboration is often limited by communications:
throughput, latency, and ease of reconfiguration. This thesis argues that improved communication
on intelligent marine robotic agents can be gained from acting on knowledge
gained by improved awareness of the physical acoustic link and higher network layers by
the AUV’s decision making software.
This thesis presents a modular acoustic networking framework, realized through a
C++ library called goby-acomms, to provide collaborating underwater vehicles with an
efficient short-range single-hop network. goby-acomms is comprised of four components
that provide: 1) losslessly compressed encoding of short messages; 2) a set of message
queues that dynamically prioritize messages based both on overall importance and time
sensitivity; 3) Time Division Multiple Access (TDMA) Medium Access Control (MAC) with
automatic discovery; and 4) an abstract acoustic modem driver.
Building on this networking framework, two approaches that use the vehicle’s “intelligence”
to improve communications are presented. The first is a “non-disruptive”
approach which is a novel technique for using state observers in conjunction with an entropy
source encoder to enable highly compressed telemetry of autonomous underwater
vehicle (AUV) position vectors. This system was analyzed on experimental data and implemented
on a fielded vehicle. Using an adaptive probability distribution in combination
with either of two state observer models, greater than 90% compression, relative to
a 32-bit integer baseline, was achieved.
The second approach is “disruptive,” as it changes the vehicle’s course to effect an improvement
in the communications channel. A hybrid data- and model-based autonomous
environmental adaptation framework is presented which allows autonomous underwater
vehicles (AUVs) with acoustic sensors to follow a path which optimizes their ability to
maintain connectivity with an acoustic contact for optimal sensing or communication.I wish to acknowledge the sponsors of this research for their generous support
of my tuition, stipend, and research: the WHOI/MIT Joint Program, the MIT Presidential Fellowship, the Office of Naval Research (ONR) # N00014-08-1-0011, # N00014-08-1-0013, and the ONR PlusNet Program Graduate Fellowship, the Defense Advanced Research Projects Agency (DARPA) (Deep Sea Operations: Applied Physical Sciences (APS) Award # APS 11-15 3352-006, APS 11-15-3352-215 ST 2.6 and 2.7
Integration and validation of embedded flight software on space-qualified multicore architectures
In the recent decades, the importance of software on space missions has notably increased, reflecting the need to integrate advanced on-board functionalities. With multicore processors being lately introduced to host critical high-performance applications, the complexity to validate software has significantly raised with respect to single core architectures. While there has been a big step forward in avionics after the publication of the CAST-32A paper, the ECSS-E-ST-40C software engineering standard used by the European Space Agency (ESA) is still not providing validation support for multicore processors. Hence, it is expected that standardising guidelines to develop software on such platforms will become a recurring topic in the industry to match the demands of future space exploration missions
ModelPlex: Verified Runtime Validation of Verified Cyber-Physical System Models
Abstract. Formal verification and validation play a crucial role in making cyber-physical systems (CPS) safe. Formal methods make strong guarantees about the system behavior if accurate models of the system can be obtained, including mod-els of the controller and of the physical dynamics. In CPS, models are essential; but any model we could possibly build necessarily deviates from the real world. If the real system fits to the model, its behavior is guaranteed to satisfy the correct-ness properties verified w.r.t. the model. Otherwise, all bets are off. This paper introduces ModelPlex, a method ensuring that verification results about models apply to CPS implementations. ModelPlex provides correctness guarantees for CPS executions at runtime: it combines offline verification of CPS models with runtime validation of system executions for compliance with the model. Model-Plex ensures that the verification results obtained for the model apply to the ac-tual system runs by monitoring the behavior of the world for compliance with the model, assuming the system dynamics deviation is bounded. If, at some point, the observed behavior no longer complies with the model so that offline verifica-tion results no longer apply, ModelPlex initiates provably safe fallback actions. This paper, furthermore, develops a systematic technique to synthesize provably correct monitors automatically from CPS proofs in differential dynamic logic.
Systematic Model-based Design Assurance and Property-based Fault Injection for Safety Critical Digital Systems
With advances in sensing, wireless communications, computing, control, and automation technologies, we are witnessing the rapid uptake of Cyber-Physical Systems across many applications including connected vehicles, healthcare, energy, manufacturing, smart homes etc. Many of these applications are safety-critical in nature and they depend on the correct and safe execution of software and hardware that are intrinsically subject to faults. These faults can be design faults (Software Faults, Specification faults, etc.) or physically occurring faults (hardware failures, Single-event-upsets, etc.). Both types of faults must be addressed during the design and development of these critical systems. Several safety-critical industries have widely adopted Model-Based Engineering paradigms to manage the design assurance processes of these complex CPSs. This thesis studies the application of IEC 61508 compliant model-based design assurance methodology on a representative safety-critical digital architecture targeted for the Nuclear power generation facilities. The study presents detailed experiences and results to demonstrate the benefits of Model testing in finding design flaws and its relevance to subsequent verification steps in the workflow. Additionally, to study the impact of physical faults on the digital architecture we develop a novel property-based fault injection method that overcomes few deficiencies of traditional fault injection methods. The model-based fault injection approach presented here guarantees high efficiency and near-exhaustive input/state/fault space coverage, by utilizing formal model checking principles to identify fault activation conditions and prove the fault tolerance features. The fault injection framework facilitates automated integration of fault saboteurs throughout the model to enable exhaustive fault location coverage in the model
- …