Rich Interface Theories for Component-based Design Dirk Beyer ┼, Arindam Chakrabarti *, Luca de Alfaro **, Thomas A Henzinger * ┼, Marcin Jurdziński *,

Slides:



Advertisements
Similar presentations
A System Architecture for Tiny Networked Devices
Advertisements

Interface Theories in Practice Luca de Alfaro UC Santa Cruz GDV 2006.
SPL/2010 Test-Driven Development (TDD) 1. SPL/
CMSC 611: Advanced Computer Architecture
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Energy and Mean-Payoff Parity Markov Decision Processes Laurent Doyen LSV, ENS Cachan & CNRS Krishnendu Chatterjee IST Austria MFCS 2011.
Interface-based design Philippe Giabbanelli CMPT 894 – Spring 2008.
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.
Overview of PTIDES Project
Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.
Towards System Architecture for Tiny Networked Devices David Culler U.C. Berkeley Wireless hoo-hah 5/30/2000.
Chess Review May 11, 2005 Berkeley, CA Platform Based Design for Wireless Sensor Networks Alvise Bonivento Alberto Sangiovanni-Vincentelli U.C. Berkeley.
Models and Theory of Computation (MTC) EPFL Dirk Beyer, Jasmin Fisher, Nir Piterman Simon Kramer: Logic for cryptography Marc Schaub: Models for biological.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Arindam Chakrabarti Luca de Alfaro Thomas A Henzinger Marcin Jurdziñski Freddy Y C Mang UC Berkeley Interface Compatibility Checking for Software Modules.
A System Architecture for Tiny Networked Devices Jason Hill U.C. Berkeley 9/22/2000.
Synthesis of Interface Specifications for Java Classes Rajeev Alur University of Pennsylvania Joint work with P. Cerny, G. Gupta, P. Madhusudan, W. Nam,
Sensor Node Architecture Issues Stefan Dulman
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Chess Review May 10, 2004 Berkeley, CA Rich Interface Theories for Component-based Design Arindam Chakrabarti Luca de Alfaro Thomas A. Henzinger Marcin.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
Device Management. Serial Port Serial Device Serial Device Memory CPU Printer Terminal Modem Mouse etc.
TinyOS Tutorial Jianping Wang (merge several tutorials found online)
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
A Transmission Control Scheme for Media Access in Sensor Networks Alec Woo and David Culler University of California at Berkeley Intel Research ACM SIGMOBILE.
DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK
Wireless Sensor Networks MOTE-KITS TinyOS Crossbow UC Berkeley.
Software Architecture in Practice Architectural description (The reduced version)
Extreme Networked Systems: Large Self-Organized Networks of Tiny Wireless Sensors David Culler Computer Science Division U.C. Berkeley Intel
Dhanshree Nimje Smita Khartad
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Example Distributed Sensor Network with TinyOS Motes RPI ECSE – 6965/4694 Daniel Casner 2007 April 13th.
Games with Secure Equilibria Krishnendu Chatterjee (Berkeley) Thomas A. Henzinger (EPFL) Marcin Jurdzinski (Warwick)
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
Main Issues Three major issues that we are concerned with in sensor networks are – Clustering Routing and Security To be considered against the backdrop.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
WSN Software Platforms - concepts Vinod Kulathumani Lecture uses some slides from tutorials prepared by authors of these platforms.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Treasure Chess ECE 477 Team 2 Parul Schroff Software Design Narrative.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Protocol Layering Chapter 11.
TinyOS By Valliappan Annamalai. Hardware Mica motes (Mica2 and Mica2Dot) Hardware –Radio –Microcontroller –Flash memory –ADC –Sensor Board (MTA310)
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Not So Deep Blue The original Deep Blue. LED chess board Track movements of all pieces Show possible moves Track game time Detect piece movement -Magnets/Reed.
Implementing Context Aware Applications Class 5. Agenda Review of TinyOS execution model Tutorial on TinyOS Code walk through Code quiz Assignment 2.
Chip Config & Drivers – Required Drivers:
Software Testing.
Microprocessor Systems Design I
Ch 13 WAN Technologies and Routing
Click to edit Master subtitle style
Layered Architectures
On-Time Network On-chip
Introduction to cosynthesis Rabi Mahapatra CSCE617
DATA FLOW DIAGRAM.
Programmable Data Communication Blocks
Wide Area Networks (WANs), Routing, and Shortest Paths
Wide Area Networks (WANs), Routing, and Shortest Paths
Chapter 13: I/O Systems.
Presentation transcript:

Rich Interface Theories for Component-based Design Dirk Beyer ┼, Arindam Chakrabarti *, Luca de Alfaro **, Thomas A Henzinger * ┼, Marcin Jurdziński *, Freddy Mang ***, Mariëlle Stoelinga ** ┼ EPFL Lausanne *UC Berkeley **UC Santa Cruz ***Synopsys November 18, 2004 Method availability constraints msg?send! nack? fail! ok!ack? acknacksend msgfailok ack? msg! ok? msgokfail Download Chic 1.1 today !! Chic 1.1 is available as a plug-in for Ptolemy* and JBuilder (* Thanks to Eleftherios Matsikoudis) Composing is a game A winning environment strategy exists if the system is usable in some context. The winning strategy gives the behavior required of the context: Do not provide inputs a,b after outputs x, y respectively. x y aabb a? x,y? 1 a,b? a?b? 2 78 a?b? a? x! y! Node limit = 8 ab interface Abstract data, Local Methods, External Methods, Call assumptions, Abstract local method bodies, Availability constraints Data, method implementations module Methods implemented in this module Methods implemented by the environment Local methods not called transitively Interface states in which a local method is available Software Module Interfaces Resource consumption constraints + a!b? 46 + Node limit = = 10 > Path limit = = = = =22 22>20 (Path limit) Resource Interfaces and Applications Two Synthesis Questions for each class of Resource Interfaces: Strategy Synthesis (e.g. resource scheduler, sensornet routing algorithm): Given a resource bound, how can player Input achieve her objective ? Resource Synthesis (e.g. necessary buffer size, battery capacity): What is the minimum resource requirement so that player Input can achieve her objective ? Game algorithms implemented in Chic can answer both. Two classes of resource interfaces Node Limit Resource Interfaces (e.g. mutex, limited buffer size, limited peak power): Player Input must forever avoid states that exceed the Node Limit. Path Limit Resource Interfaces (e.g. limited battery capacity): Player Input must forever avoid paths that exceed the Path Limit. Motor driver in lego robot 0 stopslowfast 12 fast? slow?stop? slow? fast? stop? slow? fast? A B C D E F G H Value = -9 Resource Synthesis for a Path Limit Game GUI void GUI.paint(G g) not call { GUI.paint } { … } paint calls BUTTON paint void BUTTON.paint(G g) not call { GUI.paint } { … } Call graph constraints Composing is a game msgsend! nack? fail! okack? acknack send ack? Winning environment strategy exists if the system is usable in some context. The winning strategy gives the behavior required of the context: Do not give two nack’s in a row. RadioByte Bug char TOS_COMMAND(RADIO_BYTE_PWR)(char mode){ if(mode == 0){ TOS_CALL_COMMAND(RADIO_SUB_PWR)(0); VAR(state) = 0xff; }else{ TOS_CALL_COMMAND(RADIO_SUB_RX_MODE)(); TOS_CALL_COMMAND(RADIO_SUB_SET_BIT_RATE)(0); VAR(state) = 0; } return 1; } Forgotten call to RADIO_SUB_PWR(1) !! RFM Radio byte Radio Packet UART Serial Packet ADC Tempphoto Active Messages clocks bit byte packet Route map routersensor appln application HW SW Culler et al, ASPLOS 2000 Example: TinyOS Warehouse Transport Service Retail Store Payment Service Customer Vendor Warehouse Vendor Customer Web Service Interfaces and Applications We assume hardware and software platforms never fail, and focus only on problems resulting from service interaction protocol errors. The services are designed and implemented separately, possibly by different companies. However, a system using a set of services has correctness requirements global to the set. E.g. In a web store, Customer must be charged if and only if item is shipped. Any reserved item is eventually released or requested. Specifications can be written in a temporal logic:  ((Payment,FAILURE)  (ShipItem,*)) ( (Payment,SUCCESS))   (ShipItem,SUCCESS)) Our system checks whether a set of services together satisfies a set of correctness requirements.