CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Developed by Reneta Barneva, SUNY Fredonia
Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Assurance through Enhanced Design Methodology Orlando, FL 5 December 2012 Nirav Davé SRI International This effort is sponsored by the Defense Advanced.
CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments James H. Hill, Douglas Schmidt Vanderbilt University Nashville,
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Automatically Extracting and Verifying Design Patterns in Java Code James Norris Ruchika Agrawal Computer Science Department Stanford University {jcn,
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
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Presenter: Chi-Hung Lu 1. Problems Distributed applications are hard to validate Distribution of application state across many distinct execution environments.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Abstract A software development life cycle can be divided into requirements elicitation, specification, design, implementation, testing, and maintenance.
High-Speed Parallel Processing of Protocol-Aware Signatures Jordi Ros-Giralt, James Ezick, Peter Szilagyi, Richard Lethin Unclassified, DISTRIBUTION STATEMENT.
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
OASIS WSQM TC Meeting Dugki Min. 컴퓨터공학부 건국대학교 Agenda 1. Roll Call 2. Review and approval of the agenda 3. Review and approval of the previous.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
A Specification Language and Test Planner for Software Testing Aolat A. Adedeji 1 Mary Lou Soffa 1 1 DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF VIRGINIA.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Crystal-25 April The Rising Power of the Web Browser: Douglas du Boulay, Clinton Chee, Romain Quilici, Peter Turner, Mathew Wyatt. Part of a.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
CSE 219 Computer Science III Program Design Principles.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Synchronous Parallel Environment for Emulation and Discrete-Event Simulation. The SPEEDES simulation engine allows the simulation builder to perform optimistic.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Author Software Engineering Institute
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Checking Model Specifications with CrossCheck™ Jonathan Springer James Ezick U.S. Air Force AFRL-SBIR FA C-0049 Unclassified, DISTRIBUTION STATEMENT.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Erik Jonsson School of Engineering and Computer Science The University of Texas at Dallas Cyber Security Research on Engineering Solutions Dr. Bhavani.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
CSCI-235 Micro-Computer Applications
Self Healing and Dynamic Construction Framework:
Distribution and components
Model-Driven Analysis Frameworks for Embedded Systems
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model Specifications with CrossCheck™ Through CSL, CrossCheck provides a mechanism to specify important properties of the SPRUCE CUTS simulation model Integrating CrossCheck with CUTS is straightforward and relies upon components with well-defined interfaces that can be reused in any CUTS model As the CUTS model size increases, the number of messages exchanged per second increases, leading to message deadline violations in some simulation runs. CrossCheck correctly detects and reports these violations to indicate whether or not the simulation was successful (Figure 1) By including a CrossCheck Runtime instance on each simulation node, there is more than ample processing capability for the SPRUCE CUTS model. CrossCheck is suitable for the verification of models with high per-second message rates such as the SPRUCE CUTS multiprocessor avionics model (Figure 2) Problem: It is difficult to verify the behavior of a complex design prior to implementation. But design errors can be very costly. Model based simulation allows early validation of designs CUTS (Component Workload Emulator Utilization Test Suite) is a model-based tool for emulating systems of components to evaluate workloads at the design stage [2] Specifications for the challenge problem are written in CSL. Check that minimum message rate is maintained CSL describes: Event structure Sequences of events to match Specific checking actions in a C-like syntax The CrossCheck engine maintains state about the progress of the simulation. SPRUCE: a collaborative workspace hosting challenge problems for software intensive systems [3] Challenge problem: an avionics system specification A collection of ~11,000 signals transmitted among ~20 processors About 2000 signals are periodic, requiring a minimum rate We encoded a model of the signal traffic in CUTS, using GAME The CrossCheck dynamic specification checker is integrated to check properties of the simulation as it executes. Specifications written in CrossCheck Specification Language (CSL) Instrumentation is added to the model to turn model messages into CrossCheck events We created reusable CUTS components that generate CrossCheck events, easing instrumentation Specifications are checked dynamically as the model is simulated 1.J. Springer, J. Ezick, D. Wohlford, M. Craven, and R. Buskens, “CrossCheck: Improving System Confidence through High-Speed Dynamic Property Checking”, in High Performance Embedded Computing Workshop, Sept J. Hill, H. Turner, J. Edmondson, and D. C. Schmidt, “Unit Testing Non-Functional Concerns of Component-based Distributed Systems,” in Proceedings of the 2nd International Conference on Software Testing, Verification, and Validation (ICST), Denver, Apr P. Lardieri, R. Buskens, W. McKeever, S. Drager, “SPRUCE: A Web Portal for the Collaborative Engineering of Software Intensive Systems Producibility Challenge Problems and Solutions,” in Proceedings of the 2009 IEEE Conference on Collaborative Technologies and Systems, Baltimore, May Unclassified, Distribution Statement A: Approved for public release; distribution is unlimited. This material is based upon works supported by the Department of Defense under contract numbers FA C-0133 and FA C Any opinions, findings and conclusions expressed in this material are those of Reservoir Labs, and do not necessarily reflect the views of the Department of Defense. Copyright © 2009 Reservoir Labs, Inc. SBIR funded by Air Force Research Laboratory Model (XML) CrossCheck specification (CSL) Model (XML) CUTS CSLC Model sim. source (C++) Model sim. source (C++) CrossCheck runtime source (C++) Platform compiler Model sim. executable Model sim. executable CrossCheck runtime Specification violation report Compile time Run time Modeling frameworkMonitoring framework CUTS model is described in XML Model is created using GME, a GUI editor Larger models are created programmatically using the GAME API CUTS can “compile” model to code that will simulate it Allows behavior to be examined Still difficult to analyze this behavior, mine the data  Motivates use of CrossCheck P17_P21_1(timestamp_ms:uint64);; P17_P21_2(timestamp_ms:uint64);; % SpruceMsgPred <- ?: ;; SpruceMsgRateRule := SpruceMsgPred, group::1, attr::{oldest_only, rollback}, recover::, desc::"Check message rates from model" ;; % DECLARE_PREDICATE_F(msg_pred_f, m, C, s) { switch (s->type) { case ET_P17_P21_1: … rate = ceil (db_count.u.Uint32 / (total_time/1000.0)); if (rate < min_rate) { C = context_update(C, "RATE", rate); return C; // spec violation } … } … } CrossCheck: a dynamic specification checker [1] Specifications defined in terms of events transmitted by application Events can be normal application output, or abstractions generated with code inserted into the application CrossCheck checking engine can be remote, over the network Figure 1: Number of deadline violations given SPRUCE CUTS model size in term of messages exchanged per second Figure 2: Maximum rate of CrossCheck messages sent per-host Example CSL block with embedded C code from a SPRUCE specification Acknowledgement: Thanks to Dr. James Hill, Department of Computer Science, Indiana University/Purdue University at Indianapolis for help with the CUTS framework. Jonathan Springer James Ezick Reservoir Labs, Inc. Matthew Craven Rick Buskens Lockheed Martin