Interface Theories With Component Reuse Laurent DoyenEPFL Thomas HenzingerEPFL Barbara JobstmannEPFL Tatjana PetrovEPFL.

Slides:



Advertisements
Similar presentations
Synthesis of Protocol Converter Using Timed Petri-Nets Anh Dang Balaji Krishnamoorthy Manoj Iyer Presented by:
Advertisements

Interface Theories in Practice Luca de Alfaro UC Santa Cruz GDV 2006.
From Graph Models to Game Models Tom Henzinger EPFL.
An improved on-the-fly tableau construction for a real-time temporal logic Marc Geilen 12 July 2003 /e.
Discrete Mathematics Lecture 3
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Abstraction of Source Code (from Bandera lectures and talks)
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Verification of Evolving Software Natasha Sharygina Joint work with Sagar Chaki and Nishant Sinha Carnegie Mellon University.
Runtime Verification Based on Executable Models: On-the-Fly Matching of Timed Traces Mikhail Chupilko, Alexander Kamkin.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
Formal Development and Verification of Distibuted Railway Control System – Haxthausen&Peleska To allow for private companies to be key players in the railway.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by Intel.
Model Checking : Making Automatic Formal Verification Scale Shaz Qadeer EECS Department University of California at Berkeley.
Interface-based design Philippe Giabbanelli CMPT 894 – Spring 2008.
Weakly endochronous systems Dumitru Potop-Butucaru IRISA, France Joint work with A. Benveniste and B. Caillaud.
Capstone Project Presentation A Tool for Cryptography Problem Generation CSc 499 Mark Weston Winter 2006.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
The Language Theory of Bounded Context-Switching Gennaro Parlato (U. of Illinois, U.S.A.) Joint work with: Salvatore La Torre (U. of Salerno, Italy) P.
Fault-Tolerant Real-Time Networks Tom Henzinger UC Berkeley MURI Kick-off Workshop Berkeley, May 2000.
Quantitative Verification Arindam Chakrabarti * Krishnendu Chatterjee * Thomas A. Henzinger * Orna Kupferman ** Rupak Majumdar *** * UC Berkeley ** Hebrew.
Permissive Interfaces Tom Henzinger Ranjit Jhala Rupak Majumdar.
Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.
STARI: A Case Study in Compositional and Hierarchical Timing Verification Serdar Tasiran, Prof. Robert K. Brayton Department of Electrical Engineering.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
Models and Theory of Computation (MTC) EPFL Dirk Beyer, Jasmin Fisher, Nir Piterman Simon Kramer: Logic for cryptography Marc Schaub: Models for biological.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Behavioral Types for Actor-Oriented Design Edward A. Lee.
Discrete Mathematics Lecture 4 Harper Langston New York University.
Component-Interaction Automata for Specification and Verification of Component Interactions P. Vařeková and B. Zimmerova Masaryk University in Brno Czech.
© Betty HC Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledge: S.
Verification of Hierarchical Cache Coherence Protocols for Future Processors Student: Xiaofang Chen Advisor: Ganesh Gopalakrishnan.
Modular Verification of Multithreaded Software Shaz Qadeer Compaq Systems Research Center Shaz Qadeer Compaq Systems Research Center Joint work with Cormac.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
An Extensible Type System for Component-Based Design
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Chess Review May 10, 2004 Berkeley, CA Rich Interface Theories for Component-based Design Arindam Chakrabarti Luca de Alfaro Thomas A. Henzinger Marcin.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Objectives The student will be able to: 7A: Find the prime factorization of a number, the greatest common factor (GCF) for a set of monomials and polynomials.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Automatic Assumption Generation for Compositional Verification Dimitra Giannakopoulou (RIACS), Corina Păsăreanu (Kestrel) Automated Software Engineering.
PAT: Getting started.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Author: Alex Groce, Daniel Kroening, and Flavio Lerda Computer Science Department, Carnegie Mellon University Pittsburgh, PA Source: R. Alur and.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Predicate Abstraction. Abstract state space exploration Method: (1) start in the abstract initial state (2) use to compute reachable states (invariants)
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Symbolic Algorithms for Infinite-state Systems Rupak Majumdar (UC Berkeley) Joint work with Luca de Alfaro (UC Santa Cruz) Thomas A. Henzinger (UC Berkeley)
About Alternating Automata Daniel Choi Provable Software Laboratory KAIST.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
CPE555A: Real-Time Embedded Systems
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
Propositional Calculus: Boolean Algebra and Simplification
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Model Checking for an Executable Subset of UML
Interface Theories in Ptolemy II
ECE/CS 584: Verification of Embedded Computing Systems
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Using the Distributive Property to Simplify Algebraic Expressions
Presentation transcript:

Interface Theories With Component Reuse Laurent DoyenEPFL Thomas HenzingerEPFL Barbara JobstmannEPFL Tatjana PetrovEPFL

2 Outline 1.Motivation –Interface theories and component-based design –New operator: component reuse 2.Shared refinement: Stateless Interfaces 3.Shared refinement: Stateful Interfaces 4.Conclusions and future work

Interfaces Odd(x)? Divide x inty boolean x int y int, y!=0 z real  Signature  Assertional analogy with type systems static checking at compile-time well-formed: usable in some environment 3

Interface Automaton FIFO enq deq E F Size2Buffer EF (enq,deq), (!enq,!deq) enq deq E F (enq,deq) (enq,!deq) (!enq,deq) (enq,!deq) (enq,deq), (!enq,!deq) (enq,deq), (!enq,!deq) Assumption: !(deq,!enq) Guarantee: (E,!F) Transition guards 4

I111 I112 I21I22 I13 I12 I11 I2 Component-Based Design I1 I2 I11 5

Interface Theories If A and B are compatible and A'  A and B'  B, then A’ and B' are compatible and A'||B'  A||B. 6 B A A’ B’

I111 I112 I21I22 I13 I12 I11 I2 Component-Based Design I1 I2 I11 I22 Π I112 7

Interface Theories Parallel composition and feedback, Contravariant refinement relation => independent implementiability => stepwise refinement [de Alfaro, Henzinger, 2001] Shared refinement => greatest lower bound in the refinement lattice => associativity => distributivity 8

Stateless Interface Predicates over input and output variables Wellformedness Inputs and outputs disjoint Assumption satisfiable Guarantee satisfiable 9 Assumption about inputs Guarantee over outputs Divide x int y int, y!=0 z real

Parallel Composition 10 A even(x) y mod 3 = 0 B x > 0 z mod 4 = 0 A even(x) & (x>0) y B z A||B x y mod 3 = 0 & z mod 4 = 0

Parallel Composition 11 even(x) y mod 3 = 0 odd(x) z mod 4 = 0 FALSE y mod 3 = 0 & z mod 4 = 0 A y B z A||B x A B INCOMPATIBLE !

Connection A z y x z y x Ac x=0 => y=0TRUE forall x,z. (TRUE & (x=z)) => (x=0 => y=0) TRUE & (x=z) y=0 12

Connection TRUE y = 0 z Ac INCOMPATIBLE ! 13

Refinement Relation B refines A even(x) even(y) x int y mod 4 = 0 14 A B

Refinement Relation Implementation must obey output guarantee → B does not refine C even(x) y mod 3 = 0 x int y mod 4 = 0 15 C B

Refinement Relation Implementation must accept all permissible inputs → B does not refine D D even(x) even(y) B odd(x) y mod 4 = 0 16

Shared Refinement 17 (A Π B) can be used in any design as an implementation of A, and as an implementation of B A even(x) y mod 3 = 0 B x>0 y mod 4 = 0 A Π B even(x) OR x>0 y mod 12 = 0

Shared Refinement 18 A even(x) odd(y) B x>0 y mod 4 = 0

Shared Refinement 19 A even(x) odd(y) B x>0 y mod 4 = 0 A Π B even(x) OR x>0 FALSE NOT SHARED-REFINABLE !

Shared Refinement: Properties Greatest lower bound in the refinement lattice Associativity: Distributivity: 20 (A Π B) Π C = A Π (B Π C)‏ a1 g1 a2g2 A1 x A2 a1 OR a2g1 & g2 A1 A1 Π A2 A2 A || (B Π C) = (A || B) Π (A || C) A Π (B || C) = (A Π B) || (A Π C)

A Π B Greatest lower bound in the refinement lattice Shared Refinement: Properties 21 A B for all C, if C ≤ A and C ≤ B then C ≤ A Π B

A Π B Greatest lower bound in the refinement lattice Shared Refinement: Properties 22 A B C

A1 A3 B1 B2 A1 Π B1 Π B2 Π A3 Associativity Shared Refinement: Properties 23

Stateful Interface FIFO enq deq E F Size2Buffer EF (enq,deq), (!enq,!deq) enq deq E F (enq,deq) (enq,!deq) (!enq,deq) (enq,!deq) (enq,deq), (!enq,!deq) (enq,deq), (!enq,!deq) Assumption: !(deq,!enq) Guarantee: (E,!F) Transition guards 24

Interface Theories Define –Refinement relation –Composition of interfaces so that… Ensure If A and B is are compatible and A'  A and B'  B, then A’ and B' are compatible and A'||B'  A||B. [de Alfaro, Henzinger, 2001] 25

Stateful Interface Wellformedness Satisfiable assumption in each state = non-stopping Satisfiable guarantee in each state Deterministic 26 Size2Buffer EF (enq,deq), (!enq, !deq) enq deq E F (enq,deq) (enq,!deq) (!enq, deq) (enq, !deq) (enq,deq), (!enq, !deq) (enq,deq), (!enq, !deq)

Stateful Interfaces: Refinement Alternating simulation relation [Alur, Henzinger, Kupferman, Vardi, 1998] N refines M if there exists a relation R between the states such that if (p,q) is in R, then a(p) => a(q)‏ g(q) => g(p)‏ a(p) & g(q) & (p → p’) & (q → q’) => (p’,q’) in R 27

Stateful Interfaces: Refinement A x: int y : int p1 x int q1 y odd q1 ≤ p1 x even y int p2 x even q2 y odd q2 ≤ p2 x int y int p3 x int q3 y int x even y odd q3 ≤ p3 28

Stateful Interfaces: Refinement 29 Size2Buffer EF (enq,deq), (!enq,!deq) enq deq E F (enq,deq) (enq,!deq) (!enq,deq) (enq,!deq) (enq,deq), (!enq,!deq) (enq,deq), (!enq,!deq) SlowBuffer T T enq deq E F (!enq,!deq) enq or deq (!enq,!deq)

I111 Size2Buffer I21 SlowBuffer I13 I12 I11 I2 Shared Refinement I1 I2 I11 Size2Buffer Π SlowBuffer 30

Stateful Interface 31 EF !e!d EF !ed T T e!d,!ed,ed !e!d !ed ed e!d !ed e!d !ed ed !e!d e!d !e!d ed !e!d ed !ed e!d !ed Size2Buffer Π SlowBuffer

Shared Refinement: Properties Greatest lower bound in the refinement lattice Associativity: Distributivity: 32 (A Π B) Π C = A Π (B Π C)‏ A || (B Π C) ≤ (A || B) Π (A || C) (A Π B) || (A Π C) ≤ A Π (B || C)

(A||B) Π (A||C) Distributivity Shared Refinement: Properties A || (B Π C) ≤ (A || B) Π (A || C) AC AB 33

(A||B) Π (A||C) Distributivity Shared Refinement: Properties A || (B Π C) ≤ (A || B) Π (A || C) AC AB AB Π C A || (B Π C) 34

View-Points 35 F Π T Π P Timing T Power P Functional F

Conclusions We extended the existing theory Possible Applications Implementation of view-points Refactoring of systems Use of standard components 36

Future Work  Implementation of an automatic checker for shared refinability  Asynchronous case  Relationship to modal interfaces [Benveniste et al.: Residual for Component Specifications, 2007] 37