Applications of Program analysis in Model-Based Design
|
|
- Anastasia Wheeler
- 5 years ago
- Views:
Transcription
1 Applications of Program analysis in Model-Based Design Prahlad Sampath 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders The MathWorks, Inc. 1
2 Outline Model-Based Design overview and role of program analysis (20 mins) Data flow analysis (20 mins) Abstract interpretation (20 mins) Software model checking (20 mins) 2
3 Model-Based Design Overview 3
4 Model-Based Design Design activities Specification, prototyping (at different levels of fidelity), design space exploration, codegeneration, verification Use of appropriate abstractions for modelling from algorithms to systems Graphical languages where appropriate Textual languages where appropriate Provide a framework where these can be combined and analysed Analysis is the corner stone of Model-Based Design Different levels of adoption of Model-Based Design will use different kinds of analysis 4
5 ሶ ሶ Simulink Workflow Dynamical System Graphically model the system in Simulink Simulink Block Diagram Compilation: Convert from graphical model to some internal representation Compiled Information (CI) X = [x c, x d ] x c = f c (X, U, t) x d n + 1 = f d (X, U, t) y = g(x, U, t) X(t 0 ) = X 0 Execution Phase Analyze Results Present the solution (logging, scopes) Simulate CI X = [xc, xd] x c = f(x, u 1, u 2, t) x d n + 1 = g(x, u 1, u 2, t) y = h(x, u 1, u 2, t) X(t 0 ) = X 0 Solver Info t n + 1 = 5
6 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 6
7 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 7
8 Modelling Formalisms Linear systems (ODEs) >>sldemo_bounce_two_integrators 8
9 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines >>sldemo_fuelsys 9
10 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines >>sldemo_fuelsys 10
11 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications >>ex_stt_boiler 11
12 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata >>sf_bounce 12
13 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata >>sf_bounce 13
14 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) 14
15 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) 15
16 Modelling Formalisms Linear systems (ODEs) Hierarchical state machines Tabular specifications Hybrid automata Differential algebraic system (acausal models for physical systems) Discrete event systems Procedural code 16
17 Model-Based Design Hardware Hardware connectivity Real time simulation 17
18 Model-Based Design Hardware Hardware connectivity Real time simulation 18
19 Model-Based Design Hardware Hardware connectivity Real time simulation 19
20 Model-Based Design Hardware Hardware connectivity Real time simulation 20
21 Model-Based Design Code generation Programming Code generation Design optimizations Verification 21
22 Model-Based Design Code generation Programming Code generation Design optimizations Verification 22
23 Model-Based Design Code generation Programming Code generation Design optimizations Verification 23
24 Model-Based Design Code generation Programming Code generation Design optimizations Verification 24
25 Model-Based Design Code generation Programming Code generation Design optimizations Verification 25
26 Model-Based Design Code generation Programming Code generation Design optimizations Verification Data-type design 26
27 Model-Based Design Code generation Programming Code generation Design optimizations Verification Data-type design Systematic verification Coverage analysis Detect run-time error Property proving 27
28 Where does Program Analysis fit into this picture? Techniques for reasoning about behaviour Spanning many programming paradigms Well developed abstraction techniques Abstraction vs. approximation! Scalable algorithms Algorithms that scale to millions of lines of code Active area of research New techniques and algorithms 28
29 Four properties for a tool Automaticity Is the tool press-button or does it require user interaction? Soundness Are results trustable? Completeness Will the tool find all my bugs? Scalability How does the tool react to large programs? 29
30 Comparison of formal methods properties Automaticity Scalability Soundness Completeness Abstract Interpretation Dynamic test Formal proof (Hoare) Model Checking 30
31 It s all about the Workflow! 31
32 Data Flow Analysis 32
33 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations s1 e1 c1 s2 s3 j1 x1 33
34 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations Generate a set of equations Over a lattice domain Solution calculated by using fixpoint iteration entry s1 = exit e1 entry c1 = entry e1 exit j1 exit c1 = entry c1 kill c1 gen(c1) entry j1 = exit s3 exit s3 34
35 A Refresher Infer flows in programs Reason about program statements System of equations that capture the flow across statements in a program Algorithms well suited for program graphs Basis for compiler optimizations Generate a set of equations Over a lattice domain Solution calculated by using fixpoint iteration Forward vs. Backward analysis Context sensitivity Flow sensitivity Inter vs. Intra procedural analysis 35
36 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 36
37 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 37
38 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction 38
39 Applications of data-flow analysis Compiler optimizations Expression folding Variable reuse (RAM) Constant folding Strength reduction Parallelization GPU Coder 39
40 Deploy with GPU Coder ~20 Fps (K40c) Alexnet ~30 Fps (Tegra X1) Vehicle Detection ~66 Fps (Tegra X1) ~130 Fps (K40c) People detection Lane detection 40
41 Debugging Workflow Problem: 41
42 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? 42
43 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs 43
44 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model 44
45 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model Extract and simplify 45
46 Debugging Workflow Problem: You have a large model, with an error. How should you go about localizing the error? Localize the behaviour over time Simulate the model Insert break-points Visualize signals/outputs Localize the behaviour over space Dependency analysis of model Extract and simplify Google search: simulink model slicer youtube 46
47 Slicing Models to Reduce Complexity 47
48 Abstract Interpretation 48
49 Prove that no division by zero occurs here 49
50 Prove that no division by zero occurs here Clearly testing is not practicable Too many unknown 50
51 Prove that no division by zero occurs here Clearly testing is not practicable Too many unknown Philosophy of AI to prove correctness: You don t need the exact value of current_out to prove abscence of ZDIV Having a less precise information e.g. current_out >= 0.2 is sufficient 51
52 Formalization of the concrete semantics of the program States of the program 52
53 Formalization of the concrete semantics of the program States of the program x=1 current_out=? in=? i=? 53
54 Formalization of the concrete semantics of the program States of the program x=1 current_out=0 in=1.6 i=17 54
55 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 55
56 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 56
57 Formalization of the concrete semantics of the program Traces semantics Infinite state machine that simulates program execution 57
58 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 58
59 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 59
60 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 60
61 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 61
62 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 62
63 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 63
64 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 64
65 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 65
66 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 66
67 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 67
68 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 68
69 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 69
70 Formalization of the collecting semantics of the program Invariants semantics Interate until no new states are reached 70
71 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity Finite state machine that over-approximates program execution 71
72 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity X>=0 current_out<=0 in>=0 i>=0 Finite state machine that over-approximates program execution 72
73 Formalization of the abstract semantics of the program Properties semantics Loss of expressivity X>=0 current_out<=0 in>=0 i>=0 Finite state machine that over-approximates program execution X<0 current_out>=0 in<=0 i>0 73
74 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 74
75 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 75
76 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 76
77 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution 77
78 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution Interate until no new states are reached 78
79 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation Finite state machine that over-approximates program execution Interate until no new states are reached Abstract properties represent infinitely many states 79
80 Formalization of the abstract semantics of the program Properties semantics Fixpoint computation False alarm Finite state machine that over-approximates program execution Interate until no new states are reached Abstract properties represent infinitely many states 80
81 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder 81
82 Code Prover Performs abstract invariants computation on C/C++/ADA programs With pointers With floating points With function calls With multi-tasking Zero False Positives Computes many properties on program variables Ranges (interval domains) with holes Multiplicity (both integer and floating point) Linear relations between program variables e.g. 3x 2y + 4z 32 y + 3z t 1 82
83 Simple color code for presenting the information 83
84 Bug Finder Bug Finder uses abstract interpretation techniques to find bugs Does not claim to be exhaustive Cannot prove abscence of bugs May find a broader set of bugs Some are hard to deal with in Code Prover Few False Positives 84
85 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis 85
86 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis Analysis of Models 86
87 Applications of Abstract Interpretation Analysis of C Code Code prover Bug finder Analysis of code generated from models Opportunities for using model semantics to improve precision of code-based analysis Analysis of Models 87
88 Detailed design Data-type design From Specification to Code High level design focuses on maximum flexibility in design space exploration Use doubles Let Simulink choose appropriate data-types Code generation focuses on designs that are quite precisely specified and optimised Cost of computation Cost of memory Precision requirements 88
89 Data type design Start with MATLAB algorithm (uses doubles) 89
90 Data type design Start with MATLAB algorithm (uses doubles) Convert all computations to use fixed-point calculations 90
91 Data type design Start with MATLAB algorithm (uses doubles) 91
92 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs 92
93 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable 93
94 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges 94
95 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges 95
96 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges Change algorithm to use the proposed types 96
97 Data type design Start with MATLAB algorithm (uses doubles) Execute test-bench with sample inputs Instrument MATLAB to monitor min/max for each variable Propose fixpoint types based on observed ranges Change algorithm to use the proposed types Verify behaviour on test-bench 97
98 Data type design Start with MATLAB algorithm (uses doubles) 98
99 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation 99
100 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation 100
101 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation Change algorithm to use the proposed types 101
102 Data type design Start with MATLAB algorithm (uses doubles) Propose fixed-point types based on Abstract Interpretation Change algorithm to use the proposed types Verify behaviour on test-bench 102
103 Software Model Checking 103
104 Model Checking Start with a model Various forms of state machines/transition systems Represents a system Add a property Various forms of logic temporal, modal etc. Represents a property Algorithms to check the satisfiability/validity of the property on the model 104
105 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries 105
106 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries Some properties can also be encoded in the software ASSERT statements 106
107 Software Model Checking Model is software Complex control-flow Functions/procedures Data-structures, pointers Libraries Some properties can also be encoded in the software ASSERT statements Prove that the ASSERT statements cannot be hit or provide evidence of reachability 107
108 Model-Based Software Model Checking Model is the software (is the model)! 108
109 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams 109
110 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow 110
111 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations 111
112 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, 112
113 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models 113
114 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models Arrays of signals, Buses (structures) of signals 114
115 Model-Based Software Model Checking Model is the software (is the model)! Discrete state Simulink diagrams Stateflow Tabular notations Integrators, Lookup tables, Signals, Triggers, Function calls, Subsystems, Reference Models Arrays of signals, Buses (structures) of signals MATLAB code 115
116 Model-Based Software Model Checking Model is the software (is the model!) 116
117 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks 117
118 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks 118
119 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code 119
120 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code 120
121 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code Prove properties valid 121
122 Model-Based Software Model Checking Model is the software (is the model!) Property is also modelled Assertion blocks Assumption blocks Special statements in MATLAB code Prove properties valid Provide evidence of invalidity 122
123 Run-time Error Check Counter-example 123
124 Test Generation Analysis 124
125 Property Proving Functional verification and witness generation for safety properties Check for bounded depth validation or for full guarantees Counter-example 125
126 It s all about the Workflow! 126
127 Opportunities at MathWorks Bangalore Teams working on multiple areas of MATLAB and Simulink IN-SLVnV team Simulink Design Verifier Simulink Solvers and Execution Engine HDL Code Generation and optimizations Simulink Model Advisor Simulink Test Simulink Coder and optimizations MATLAB Coder and optimizations Masters with some industry experience or PhD Passion for developing software 127
Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.
Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. 2015 The MathWorks, Inc. 1 Designing complex systems Is there something I don t know about
More informationVerification, Validation and Test in Model Based Design Manohar Reddy
Verification, Validation and Test in Model Based Design Manohar Reddy 2015 The MathWorks, Inc. 1 Continuous Test & Verification Productivity + Model & Code Quality System & Component Dynamic testing &
More informationAutomated Requirements-Based Testing
Automated Requirements-Based Testing Tuesday, October 7 th 2008 2008 The MathWorks, Inc. Dr. Marc Segelken Senior Application Engineer Overview Purposes of Testing Test Case Generation Structural Testing
More informationDeveloping AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon
Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon 2015 The MathWorks, Inc. 1 Agenda AUTOSAR Compliant Code Generation AUTOSAR Workflows Starting from Software Component
More informationSimulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 The MathWorks, Inc. 1
Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 2012 The MathWorks, Inc. 1 Agenda Formal Verification Key concept Applications Verification of designs against (functional) requirements Design error detection Test
More informationFrom Design to Production
From Design to Production An integrated approach Paolo Fabbri Senior Engineer 2014 The MathWorks, Inc. 1 Do you know what it is? Requirements System Test Functional Spec Integration Test Detailed Design
More informationModel-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008
Model-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008 2008 The MathWorks, Inc. Safety-Critical Model-Based Design Workflow Validate Trace:
More informationModel-Based Design of Connected and Autonomous Vehicles
Model-Based Design of Connected and Autonomous Vehicles Akshay Rajhans, PhD Senior Research Scientist Advanced Research and Technology Office MathWorks https://arajhans.github.io 2 nd IEEE Summer School
More informationStatic Analysis by A. I. of Embedded Critical Software
Static Analysis by Abstract Interpretation of Embedded Critical Software Julien Bertrane ENS, Julien.bertrane@ens.fr Patrick Cousot ENS & CIMS, Patrick.Cousot@ens.fr Radhia Cousot CNRS & ENS, Radhia.Cousot@ens.fr
More informationImplementation and Verification Daniel MARTINS Application Engineer MathWorks
Implementation and Verification Daniel MARTINS Application Engineer MathWorks Daniel.Martins@mathworks.fr 2014 The MathWorks, Inc. 1 Agenda Benefits of Model-Based Design Verification at Model level Code
More informationStructuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C
Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C David Bühler CEA LIST, Software Safety Lab Frama-C & SPARK Day 2017 May 30th, 2017 David
More informationProgram Static Analysis. Overview
Program Static Analysis Overview Program static analysis Abstract interpretation Data flow analysis Intra-procedural Inter-procedural 2 1 What is static analysis? The analysis to understand computer software
More informationAutomatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies
08AE-22 Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies Copyright 2007 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Scott Breiner John Deere ABSTRACT
More informationMoving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation
Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation Houman Zarrinkoub, PhD. Product Manager Signal Processing Toolboxes The MathWorks Inc. 2007 The MathWorks,
More informationA Gentle Introduction to Program Analysis
A Gentle Introduction to Program Analysis Işıl Dillig University of Texas, Austin January 21, 2014 Programming Languages Mentoring Workshop 1 / 24 What is Program Analysis? Very broad topic, but generally
More informationVerifying C & C++ with ESBMC
Verifying C & C++ with ESBMC Denis A Nicole dan@ecs.soton.ac.uk CyberSecuritySoton.org [w] @CybSecSoton [fb & tw] ESBMC ESBMC, the Efficient SMT-Based Context-Bounded Model Checker was originally developed
More informationGuidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process
Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process UK MathWorks Aerospace & Defence Industry Working Group Guidelines for deployment of MathWorks R2010a toolset within
More informationModel-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.
Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc. Tucson, AZ USA 2009 The MathWorks, Inc. Model-Based Design for High Integrity Software
More informationWHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development
WHITE PAPER 10 Reasons to Use Static Analysis for Embedded Software Development Overview Software is in everything. And in many embedded systems like flight control, medical devices, and powertrains, quality
More informationJay Abraham 1 MathWorks, Natick, MA, 01760
Jay Abraham 1 MathWorks, Natick, MA, 01760 Stringent performance requirements and shorter development cycles are driving the use of modeling and simulation. Model-Based Design core of this development
More informationDistributed Systems Programming (F21DS1) Formal Verification
Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on
More informationFlight Systems are Cyber-Physical Systems
Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November
More information2015 The MathWorks, Inc. 1
2015 The MathWorks, Inc. 1 신호처리응용을위한 Model Based Design Workflow 이웅재부장 2015 The MathWorks, Inc. 2 CASE: Software in Signal Processing Application (Medical) Medical devices are increasingly driven by complex
More informationModel-Based Design Challenges for Cyber-Physical Systems
Model-Based Design Challenges for Cyber-Physical Systems Akshay Rajhans, PhD Senior Research Scientist Advanced Research and Technology Office MathWorks https://arajhans.github.io ExCAPE PI Meeting, University
More informationIntroduction to Control Systems Design
Experiment One Introduction to Control Systems Design Control Systems Laboratory Dr. Zaer Abo Hammour Dr. Zaer Abo Hammour Control Systems Laboratory 1.1 Control System Design The design of control systems
More informationImplementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks
Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks 2014 The MathWorks, Inc. 1 Traditional Implementation Workflow: Challenges Algorithm Development
More informationLecture 6. Abstract Interpretation
Lecture 6. Abstract Interpretation Wei Le 2014.10 Outline Motivation History What it is: an intuitive understanding An example Steps of abstract interpretation Galois connection Narrowing and Widening
More informationWhat s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group
What s New with the MATLAB and Simulink Product Families Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group 1 Area MATLAB Math, Statistics, and Optimization Application Deployment Parallel
More informationOn the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR
1 / 16 On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR Philipp Rümmer Oxford University, Computing Laboratory philr@comlab.ox.ac.uk 8th KeY Symposium May 19th 2009
More informationSendmail crackaddr - Static Analysis strikes back
Sendmail crackaddr - Static Analysis strikes back Bogdan Mihaila Technical University of Munich, Germany December 6, 2014 Name Lastname < name@mail.org > ()()()()()()()()()... ()()() 1 / 25 Abstract Interpretation
More informationModel Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12
Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are
More informationReducing the cost of FPGA/ASIC Verification with MATLAB and Simulink
Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,
More informationDesign and Verification of FPGA and ASIC Applications Graham Reith MathWorks
Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping
More informationXuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata
BACH: Path-oriented Reachability Checker of Linear Hybrid Automata Xuandong Li Department of Computer Science and Technology, Nanjing University, P.R.China Outline Preliminary Knowledge Path-oriented Reachability
More information4/24/18. Overview. Program Static Analysis. Has anyone done static analysis? What is static analysis? Why static analysis?
Overview Program Static Analysis Program static analysis Abstract interpretation Static analysis techniques 2 What is static analysis? The analysis to understand computer software without executing programs
More informationAdvanced Programming Methods. Introduction in program analysis
Advanced Programming Methods Introduction in program analysis What is Program Analysis? Very broad topic, but generally speaking, automated analysis of program behavior Program analysis is about developing
More informationDuet: Static Analysis for Unbounded Parallelism
Duet: Static Analysis for Unbounded Parallelism Azadeh Farzan and Zachary Kincaid University of Toronto Abstract. Duet is a static analysis tool for concurrent programs in which the number of executing
More informationOptimize DSP Designs and Code using Fixed-Point Designer
Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview
More informationMaking the Most of your MATLAB Models to Improve Verification
Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The
More information[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개
[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 정승혁과장 Senior Application Engineer MathWorks Korea 2015 The MathWorks, Inc. 1 Outline When FPGA, ASIC, or System-on-Chip (SoC) hardware is needed Hardware
More informationIntegrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC
Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC 2012 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top
More informationModel-Based Design: Generating Embedded Code for Prototyping or Production
Model-Based Design: Generating Embedded Code for Prototyping or Production Ruth-Anne Marchant Application Engineer MathWorks 2016 The MathWorks, Inc. 1 2 ABB Accelerates Application Control Software Development
More informationTest and Evaluation of Autonomous Systems in a Model Based Engineering Context
Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Raytheon Michael Nolan USAF AFRL Aaron Fifarek Jonathan Hoffman 3 March 2016 Copyright 2016. Unpublished Work. Raytheon Company.
More informationSimulink as Your Enterprise Simulation Platform
Simulink as Your Enterprise Simulation Platform Stephan van Beek Manager, Applications Engineering Group 2015 The MathWorks, Inc. 1 Why simulation? 2 Hyperloop 3 TU Delft Wins Elon Musk Hyperloop Competition
More informationThis project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No
This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No 643921. TOOLS INTEGRATION UnCoVerCPS toolchain Goran Frehse, UGA Xavier
More informationUsing HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown
Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown sensor interfaces external memory controller 2 / Context Image and signal processing in firmware Is complex! Requires
More informationLeveraging Formal Verification Throughout the Entire Design Cycle
Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification
More informationHECTOR: Formal System-Level to RTL Equivalence Checking
ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008
More informationTeam-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI
Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI 2012 The MathWorks, Inc. Development of a complex system Agenda Team-based workflow considerations Reproducing the design
More informationLectures 20, 21: Axiomatic Semantics
Lectures 20, 21: Axiomatic Semantics Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Static Analysis Based on slides by George Necula Pratikakis (CSD) Axiomatic Semantics
More informationDIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre
DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models Diane Bahrami, Alain Faivre, Arnault Lapitre CEA, LIST, Laboratory of Model Driven Engineering for Embedded Systems (LISE), Point
More informationReading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis
Reading Assignment Symbolic Evaluation/Execution *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationSystem Requirements & Platform Availability by Product for R2016b
& Platform Availability by Product for R2016b View general system requirements. Product Aerospace Blockset Requires Aerospace Control recommended Aerospace Antenna RF recommended Phased Array recommended
More informationGenerating Industry Standards Production C Code Using Embedded Coder
Generating Industry Standards Production C Code Using Embedded Coder Rajat Arora Durvesh Kulkarni 2015 The MathWorks, Inc. 1 Lines of Code (LOC) is exploding 2011 1M 2018 100M We ve got 100 million lines
More informationWhat s New in MATLAB and Simulink
What s New in MATLAB Simulink Fabrizio Sara 2015 The MathWorks, Inc. 1 Engineers scientists 2 Engineers scientists Develop algorithms Analyze data write MATLAB code. 3 Engineers scientists deploy algorithms
More informationSymbolic Evaluation/Execution
Symbolic Evaluation/Execution Reading Assignment *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationUtilisation des Méthodes Formelles Sur le code et sur les modèles
Utilisation des Méthodes Formelles Sur le code et sur les modèles Patrick Munier Co-fondateur de PolySpace Technologies Polyspace Development Manager, MathWorks Patrick.Munier@mathworks.fr Forum Méthodes
More informationSoftware and Energy-aware Computing Fundamentals of static analysis of software
Software and Energy-aware Computing Fundamentals of static analysis of software John Gallagher Roskilde University ICT-Energy: Energy consumption in future ICT devices Summer School, Aalborg, Denmark,
More informationEmbarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA
Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA Pierre Nowodzienski Engineer pierre.nowodzienski@mathworks.fr 2018 The MathWorks, Inc. 1 From Data to Business value Make decisions Get
More informationThe Apron Library. Bertrand Jeannet and Antoine Miné. CAV 09 conference 02/07/2009 INRIA, CNRS/ENS
The Apron Library Bertrand Jeannet and Antoine Miné INRIA, CNRS/ENS CAV 09 conference 02/07/2009 Context : Static Analysis What is it about? Discover properties of a program statically and automatically.
More informationTools for Formally Reasoning about Systems. June Prepared by Lucas Wagner
Tools for Formally Reasoning about Systems June 9 2015 Prepared by Lucas Wagner 2015 Rockwell 2015 Collins. Rockwell All Collins. rights reserved. All rights reserved. Complex systems are getting more
More informationPrinciples of Program Analysis. Lecture 1 Harry Xu Spring 2013
Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states
More informationVerification, Validation, and Test with Model-Based Design
2008-01-2709 Verification, Validation, and Test with Model-Based Design Copyright 2008 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Mirko Conrad The MathWorks, Inc. ABSTRACT Model-Based Design with
More informationModeling a 4G LTE System in MATLAB
Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink
More informationVerification and Test with Model-Based Design
Verification and Test with Model-Based Design Flight Software Workshop 2015 Jay Abraham 2015 The MathWorks, Inc. 1 The software development process Develop, iterate and specify requirements Create high
More informationAreas related to SW verif. Trends in Software Validation. Your Expertise. Research Trends High level. Research Trends - Ex 2. Research Trends Ex 1
Areas related to SW verif. Trends in Software Validation Abhik Roychoudhury CS 6214 Formal Methods Model based techniques Proof construction techniques Program Analysis Static Analysis Abstract Interpretation
More informationArchitecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL
Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Restricted Siemens AG 2017 Realize innovation. Content 1 Overview 3 2 LMS Imagine.Lab
More informationWhat s New in MATLAB & Simulink. Prashant Rao Technical Manager MathWorks India
What s New in MATLAB & Simulink Prashant Rao Technical Manager MathWorks India Agenda Flashback Key Areas of Focus from 2013 Key Areas of Focus & What s New in 2013b/2014a MATLAB product family Simulink
More informationCourse Introduction to Matlab and Simulink - Stateflow
Course Introduction to Matlab and Simulink - Stateflow Emanuele Ruffaldi June 08, 2017 http://www.eruffaldi.com/wp/introduction-to-matlab-and-simulink/ Scuola Superiore Sant Anna, Pisa Event-driven Systems
More informationLecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning
Lecture 1 Contracts 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,
More informationIntroducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering
Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering 2012 The MathWorks, Inc. 1 Simulink R2012b the most significant upgrade to
More informationAutomatic Software Verification
Automatic Software Verification Instructor: Mooly Sagiv TA: Oded Padon Slides from Eran Yahav and the Noun Project, Wikipedia Course Requirements Summarize one lecture 10% one lecture notes 45% homework
More informationAlgebraic Program Analysis
Introduction to Algebraic Program Analysis Zachary Kincaid 1 Thomas Reps 2,3 1 Princeton University 2 University of Wisconsin-Madison 3 GrammaTech, Inc. January 8, 2018 1 Program analysis Design algorithms
More informationCritical Analysis of Computer Science Methodology: Theory
Critical Analysis of Computer Science Methodology: Theory Björn Lisper Dept. of Computer Science and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ March 3, 2004 Critical
More informationCOS 320. Compiling Techniques
Topic 5: Types COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer 1 Types: potential benefits (I) 2 For programmers: help to eliminate common programming mistakes, particularly
More informationWhat s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India
What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India 2013 The MathWorks, Inc. 1 MathWorks Product Overview 2 Core MathWorks Products The leading environment for technical computing
More informationHardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio
Hardware Implementation and Verification by -Based Design Workflow - Communication s to FPGA-based Radio Katsuhisa Shibata Industry Marketing MathWorks Japan 2015 The MathWorks, Inc. 1 Agenda Challenges
More informationDRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN
DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN Problem Definition To generate and deploy automatic code for Drying Control Logics compatible with new SW architecture in 6 months using MBD, a
More informationEmbedded Software Verification Challenges and Solutions. Static Program Analysis
Embedded Software Verification Challenges and Solutions Static Program Analysis Chao Wang chaowang@nec-labs.com NEC Labs America Princeton, NJ ICCAD Tutorial November 11, 2008 www.nec-labs.com 1 Outline
More informationTesting, Validating, and Verifying with Model-Based Design Phil Rottier
Testing, Validating, and Verifying with Model-Based Design Phil Rottier 2015 The MathWorks, Inc. 1 Summary MATLAB, Simulink and Stateflow help individuals and teams rapidly develop complex designs These
More informationHardware and Software Co-Design for Motor Control Applications
Hardware and Software Co-Design for Motor Control Applications GianCarlo Pacitti Senior Application Engineer, MathWorks 2015 The MathWorks, Inc. 1 Agenda Why use Hardware and Software for motor control?
More informationVerification and Validation Introducing Simulink Design Verifier
Verification and Validation Introducing Simulink Design Verifier Goran Begic, Technical Marketing Goran.Begic@mathworks.com June 5, 2007 2007 The MathWorks, Inc. Agenda Verification and Validation in Model-Based
More informationIntroduction to C and HDL Code Generation from MATLAB
Introduction to C and HDL Code Generation from MATLAB 이웅재차장 Senior Application Engineer 2012 The MathWorks, Inc. 1 Algorithm Development Process Requirements Research & Design Explore and discover Design
More informationLeveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance
Leveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance Prashant Mathapati Senior Application Engineer MATLAB EXPO 2013 The MathWorks, Inc. 1 The problem
More informationAbstract Interpretation
Abstract Interpretation Ranjit Jhala, UC San Diego April 22, 2013 Fundamental Challenge of Program Analysis How to infer (loop) invariants? Fundamental Challenge of Program Analysis Key issue for any analysis
More informationReal-Time Simulation of Simscape Models
2010 The MathWorks, Inc. Real-Time Simulation of Simscape Models Vehicle Dynamics Motor Planetary Gear Electric Motor Electric Generator DC-DC Converter Battery Controller Hybrid Electric Vehicle Wit ursilo
More informationIn Our Last Exciting Episode
In Our Last Exciting Episode #1 Lessons From Model Checking To find bugs, we need specifications What are some good specifications? To convert a program into a model, we need predicates/invariants and
More informationSimulink Verification and Validation
Simulink Verification and Validation Mark Walker MathWorks 7 th October 2014 2014 The MathWorks, Inc. 1 V Diagrams 3 When to Stop? A perfectly tested design would never be released Time spent on V&V is
More informationAutomating Best Practices to Improve Design Quality
Automating Best Practices to Improve Design Quality 임베디드 SW 개발에서의품질확보방안 이제훈차장 2015 The MathWorks, Inc. 1 Key Takeaways Author, manage requirements in Simulink Early verification to find defects sooner
More informationLecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning
Lecture 1 Contracts 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,
More informationSoftware Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Specification Checking - Specification Patterns Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course
More informationModel-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan
Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan WHITE PAPER Summary This document describes how HDL Coder from MathWorks can
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationCompiler Design. Fall Control-Flow Analysis. Prof. Pedro C. Diniz
Compiler Design Fall 2015 Control-Flow Analysis Sample Exercises and Solutions Prof. Pedro C. Diniz USC / Information Sciences Institute 4676 Admiralty Way, Suite 1001 Marina del Rey, California 90292
More informationAutomatic Qualification of Abstract Interpretation-based Static Analysis Tools. Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013
Automatic Qualification of Abstract Interpretation-based Static Analysis Tools Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013 2 Functional Safety Demonstration of functional correctness Well-defined
More informationPractical Model-based Testing With Papyrus and RT-Tester
Practical Model-based Testing With Papyrus and RT-Tester Jan Peleska and Wen-ling Huang University of Bremen Verified Systems International GmbH Fourth Halmstad Summer School on Testing, 2014-06-11 Acknowledgements.
More informationType checking. Jianguo Lu. November 27, slides adapted from Sean Treichler and Alex Aiken s. Jianguo Lu November 27, / 39
Type checking Jianguo Lu November 27, 2014 slides adapted from Sean Treichler and Alex Aiken s Jianguo Lu November 27, 2014 1 / 39 Outline 1 Language translation 2 Type checking 3 optimization Jianguo
More informationAutomating Best Practices to Improve Design Quality
Automating Best Practices to Improve Design Quality Adam Whitmill, Senior Application Engineer 2015 The MathWorks, Inc. 1 Growing Complexity of Embedded Systems Emergency Braking Body Control Module Voice
More informationCSE 501: Compiler Construction. Course outline. Goals for language implementation. Why study compilers? Models of compilation
CSE 501: Compiler Construction Course outline Main focus: program analysis and transformation how to represent programs? how to analyze programs? what to analyze? how to transform programs? what transformations
More informationThursday, December 23, The attack model: Static Program Analysis
The attack model: Static Program Analysis How making SPA? DFA - Data Flow Analysis CFA - Control Flow Analysis Proving invariance: theorem proving Checking models: model checking Giaco & Ranzato DFA:
More information