Testing and Monitoring at Penn Testing and Monitoring Model-based Generated Program Li Tan, Jesung Kim, and Insup Lee July, 2003.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Compiler Construction by Muhammad Bilal Zafar (AP)
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
MotoHawk Training Model-Based Design of Embedded Systems.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Modular Specification of Hybrid Systems in CHARON R. Alur, R. Grosu, Y. Hur, V. Kumar, I. Lee University of Pennsylvania SDRL and GRASP.
Testing Generation at UPenn Testing Hybrid System: Phase I Randomized test generator=Randomized Simulator+ Coverage Checker. 1. Local ramdomization 1.
Fall 2002CIS 6401 CIS : Advanced Topics in Software Systems Software reliability methods and Embedded Systems.
SDRL and GRASP University of Pennsylvania 6/27/00 MoBIES 1 Design, Implementation, and Validation of Embedded Software (DIVES) Contract No. F C-1707.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
University of Pennsylvania 1 SDRL CHARON SDRL and GRASP University of Pennsylvania Funded by DARPA ITO.
Property-Based Test Generation Li Tan, Oleg Sokolsky, and Insup Lee University of Pennsylvania.
CIS 700-3: Selected Topics in Embedded Systems Insup Lee University of Pennsylvania June 24, 2015 Introduction.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
8/3/011 Formal methods for CARA development Insup Lee (Univ. of Pennsylvania) Rance Cleaveland (SUNY at Stony Brook) Elsa Gunter (NJIT)
Interfaces for Control Components Rajeev Alur University of Pennsylvania Joint work with Gera Weiss (and many others)
System Design Research Laboratory Model-based Testing and Monitoring for Hybrid Embedded Systems Li Tan Jesung Kim Oleg Sokolsky Insup Lee University of.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
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
Composing Security Policies on Java Cards Michael McDougall with Rajeev Alur and Carl A. Gunter University of Pennsylvania April 26, 2004.
DIVES Alur, Lee, Kumar, Pappas: University of Pennsylvania  Charon: high-level modeling language and a design environment reflecting the current state.
System Design Research Laboratory Specification-based Testing with Linear Temporal Logic Li Tan Oleg Sokolsky Insup Lee University of Pennsylvania.
Testing and Monitoring at Penn An Integrated Framework for Validating Model-based Embedded Software Li Tan University of Pennsylvania September, 2003.
Tool Integration of Ptolemy II EE290N Class Project Haiyang Zheng May
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Code Generation from CHARON Rajeev Alur, Yerang Hur, Franjo Ivancic, Jesung Kim, Insup Lee, and Oleg Sokolsky University of Pennsylvania.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
An Overview of Virtual Machine Architectures by J.E. Smith and Ravi Nair presented by Sebastian Burckhardt University of Pennsylvania CIS 700 – Virtualization.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Computer Architecture The Concept Ola Flygt V ä xj ö University
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Compilers, Interpreters and Debuggers Ruibin Bai (Room AB326) Division of Computer Science.
Xactium xDSLs Run Models Not Code Tony Clark
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Testing Generation at UPenn Model-Based Test Generation I. Model-based test generation for discrete systems [HLS02]. Temp. Prop. Translator Controller.
Model-based Analysis and Implementation of Embedded Systems
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
5/27/03MDES Supporting Model-Based Validation at Run-time Insup Lee and Oleg Sokolsky Department of Computer and Information Science University of.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Quality Driven SystemC Design By Nasir Mahmood. Hybrid Approach The idea here is to combine the strengths of simulation – namely the ability to handle.
Polymorphous Computing Architectures Run-time Environment And Design Application for Polymorphous Technology Verification & Validation (READAPT V&V) Lockheed.
Software Construction Lecture 18 Software Testing.
MXJ: Model-Centric, Safety- Critical Java for Exploration Matthias Anlauff Kestrel Institute, Palo Alto, CA
Testing Generation at UPenn Model-Based Test Generation Temp. Prop. Translator Controller Model Checker Witness generator  1 Æ.
Recursive Design for Embedded Real-Time Systems Minoru Yamaguchi Software Process Development section MSBC ・ CNC Sony Corporation Copyright 2001 Sony Corporation.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Siena Computational Crystallography School 2005
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
Verification & Validation By: Amir Masoud Gharehbaghi
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Real-time Systems Group University of Pennsylvania 10/13/98 1 Design-time and Run-time Assurance Insup Lee Department of Computer and Information Science.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
WoPANets: Decision-support Tool for real-time Networks Design
Methodological Issues in Model-Based Testing (MBT)
Formally Specified Monitoring of Temporal Properties
Software Design Methodology
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Gabor Madl Nikil Dutt Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Testing and Monitoring at Penn Testing and Monitoring Model-based Generated Program Li Tan, Jesung Kim, and Insup Lee July, 2003

Testing and Monitoring at Penn Outline 1. Motivations 2. Overview of our methodology 3. Creating tester 4. Generating monitor 5. Case Study and Performance Issues 6. Related Work and Future direction

Testing and Monitoring at Penn Motivations Challenges of testing and monitoring an implementation with respect to its model. 1. Testing and monitoring integrated hardware/software platforms, e.g., embedded systems. 1. The architecture of platforms are different from general-purpose computing environments: Industrial processors, real-time operation systems. 2. Limited resources. 3. Testing and monitoring tasks should be executed in real systems. 2. Reducing the development cost of monitoring/testing platform. 3. Generating tester and monitor from the model and its requirement specification.

Testing and Monitoring at Penn Our goal Building self-testing and self-monitoring executable programs. Given, A model-based code generator for hybrid automata. Targeted platform: Sony robotic dog, a typical embedded system. Yield, A miniaturized tester and monitor directly works on the targeted platform. The ability to synthesize concrete tester and monitor from the high-level specification. The path Modeling testing and monitoring tasks. Generating tester and monitor from the models.

Testing and Monitoring at Penn Overview of our approach Model monitoring and testing jobs …… Generating monitors and testers from models!

Testing and Monitoring at Penn Modeling testing task Testing task is modeled as a deterministic hybrid automata. Textual Description of Testing Task Testing automata System Model + Simulator/ Coverage Checker Not meet requirement Refine test automata Code Generator Embedded Tester

Testing and Monitoring at Penn Testing Sony Dog: requirements 1. Testing platform: 2. Testing requirements can be a combination of coverage criteria and system properties. 1. (Coverage-based Testing) Testing should cover all the modes in system model (mode coverage). 2. (Specification-based Testing) Dog should not lose the track of ball if ball is visible. 1. Practically, the dog will lose track of the ball if the ball moves too fast, 1. What is the threshold of ball’s speed? 2. What is the reaction of the dog?

Testing and Monitoring at Penn Modeling requirements 2.Translate to a two-mode hybrid automata, 3.Simulator/Coverage Checker is used to refine testing automata and check the required coverage criteria 1.What value of a, b, c, d will make testing meet the requirement? 2.Simulation/coverage checker will execute the models on the simulation level and check the coverage. Vision=false Vision=true Position of ball: Pos=d ¢ sin(a t 2 +b t+c)

Testing and Monitoring at Penn Modeling Monitor Monitoring task is modeled as a deterministic hybrid automata. Textual Description of System properties Deterministc Time automata Hybrid Automata Code Generator Monitor

Testing and Monitoring at Penn Monitoring Sony Dog System specification: 1. Dog should not lose the track of ball if ball is visible. 1. Dog doesn’t lost the ball: |ball-head| < Dog should been given a fair chance to make its efforts: |ball-head|<10 five seconds after the ball is visible. Monitoring automaton is a deterministic timed automaton. Vision indicates visibility of the ball, and 10 is the threshold of a “visible” ball

Testing and Monitoring at Penn Synthesizing monitor Translate to hybrid automaton Time is handled as linear differential equation Generating monitor from the hybrid model.

Testing and Monitoring at Penn Put it together: a case study Monitoring automaton System Model Testing automaton Modular compilation MonitorGenerated CodeTester Link as needed

Testing and Monitoring at Penn Performance Issues 1. Testing and monitoring can be simulated on model level. 2. The space overhead of tester and monitor.

Testing and Monitoring at Penn Conclusions We proposed a framework of generating tester and monitor via code generation: 1. It allows the rapid-prototyping of testing and monitoring programs. 1. Monitor and tester tasks are specified in the high-level modelling language. 2. Tester and monitor can be re-targeted to a different platform for which code generation process is available. 2. Testing and monitoring may be preformed both on simulation level and implementation level. 1. Tester and monitor are executable on targeted platform. 3. Resource saving, 1. Each tester and/or monitor is a customer job. 2. (for modularity compilation) tester and monitor can be linked and applied as needed

Testing and Monitoring at Penn Related works and future directions 1. Related works: “platform-specific” approach v.s. “general purpose” approaches. 1. NASA Ames: Java PathExplorer 2. UPenn: MaC tools 3. Works on synthesizing finite model/test-oracle from the formal specification [DilRam96,GiaHav01] 2. Ongoing and future researches 1. Incorporating existing specification language to the framework. 1. MEDL to CHARON translator 2. Approximating general linear temporal property as monitoring automaton. 3. Testing and monitoring the code from conventional sources.