Improve Complexity Management with Model-Based Design in V-Modell Polarion User-Conference 2013 Stuttgart, 01.10.2013 © 2013 The MathWorks, Inc.1 The MathWorks Team Today Michael Hopfenzitz Senior Account Manager Christian Guß Application Engineer 2 Agenda Introduction Complexity in Embedded Software Projects MathWorks User-Stories Model-Based Design Approach Traceability between Polarion Requirements and Simulink 3 MathWorks at a Glance Earth’s topography on a Miller cylindrical projection, created with MATLAB and Mapping Toolbox ● Headquarters: Natick, Massachusetts US ● Other U.S. Locations: California, Michigan, Texas, Washington, DC ● Europe: France, Germany, Italy, Netherlands, Spain, Sweden, Switzerland, United Kingdom ● Asia-Pacific: Australia, China, India, Japan, Korea ● Worldwide training and consulting ● Distributors serving more than 20 countries 4 High-Integrity Applications Software-based systems that are designed and maintained such that they have a high probability of carrying out their intended function cf. Buncefield Investigation Glossary www.buncefieldinvestigation.gov.uk/glossary.htm 5 Weinmann Develops Life-Saving Transport Ventilator Using Model-Based Design Challenge Develop embedded software for an advanced emergency and hospital transport ventilator The MEDUMAT Transport ventilator. Image © Weinmann Medical Technology. Solution Use MATLAB and Simulink for Model-Based Design to model and simulate the controller, generate production code, and streamline compliance certification “Modeling, simulating, and Results greatly simplified compliance Code development and reviews accelerated by 50% Dozens of design alternatives explored 60% of core design reused implementing the ventilator’s embedded software with Simulink certification. The model helped ensure a structured development process and provided thorough documentation and a visual representation of the system for the certification review.” Dr. Florian Dietz Weinmann Link to user story 6 Complexity Challenges in Software Development RESEARCH REQUIREMENTS SPECIFICATIONS Requirement Documents • Difficult to analyze • Difficult to manage as they change Paper Specifications • Easy to misinterpret • Difficult to integrate with design DESIGN EDA Algorithm Design MCAD/ MCAE Electrical Components Embeddable Algorithms Mechanical Components IMPLEMENTATION Physical Prototypes • Incomplete and expensive • Prevents rapid iteration • No system-level testing Manual Coding • Time consuming • Introduces defects and variance • Difficult to reuse C/C++ Embedded Software Testing • Design and integration issues found late • Difficult to feed insights back into design process • Traceability INTEGRATION AND TEST 7 What is Model-Based Design? Model, Simulate, Verify the control algorithm, Auto-generate C code, Deploy & Test on the embedded hardware 8 Example: Glycemic Control System Input Controller Sensor Plant Output 9 Executable Specification 10 Component Design – Subsystems 11 Model-Based Design Development Process Requirements User Acceptance Testing Complete Integration & Test System Design Environment Integration testing Physical Components Algorithms System-Level Integration & Test System-Level Specification Code Verification and Validation Component Design Research Subsystem Design Embedded Software Digital Electronics C, C++ Data Analysis Algorithm Development MCU Subsystem Integration & Test VHDL, Verilog DSP FPGA ASIC Integration Data Modeling Implementation Subsystem Implementation 12 Model-Based Design Development Process Requirements capturing in Polarion Requirements User Acceptance Testing Complete Integration & Test System Design Environment Integration testing Physical Components Algorithms System-Level Integration & Test System-Level Specification Code Verification and Validation Component Design Research Subsystem Design Embedded Software Digital Electronics C, C++ Data Analysis Algorithm Development MCU Subsystem Integration & Test VHDL, Verilog DSP FPGA ASIC Integration Data Modeling Implementation Subsystem Implementation 13 Polarion Connector for MATLAB Simulink See: www.polarion.com/connectors/matlab Extension Requirements Polarion 2013 MATLAB/Simulink 2013a Simulink Validation and Verification Toolbox 14 Highlight Requirements Inside 15 Highlight Requirements Inside 16 Traceability from Simulink to Polarion 17 Traceability from Simulink to Polarion 18 Traceability from Polarion to Simulink Link to Simulink Model 19 Model-Based Design Multi-Domain Modeling and Algorithm Development Methods for modeling systems in different domains Requirements User Acceptance Testing Complete Integration & Test System Design Environment Integration testing Physical Components Algorithms System-Level Integration & Test System-Level Specification Physical Modeling Code (Schematic) Data Flow (Block diagram) Verification and Validation Component Design Research Subsystem Design Modeling of Event-Driven Systems (State Machines) Implementation Embedded Software Digital Electronics C, C++ Data Analysis MCU Algorithm Development Data Modeling VHDL, Verilog DSP FPGA ASIC Subsystem Integration & Test Programing Language (Textual) Integration Subsystem Implementation 20 Model-Based Design Early Concept Verification Requirements User Acceptance Testing • Executable System Design System-Level Specification specifications • Predict dynamic system behaviour Environment by simulation Physical Components - System & environment models Algorithms - Less physical prototypes • Use of simulation results for system design - Fast What-/If studies Component Design - Short iteration cycles Research Subsystem Design Embedded Software Digital Electronics C, C++ Complete Integration & Test Integration testing System-Level Integration & Test Code Verification and Validation Subsystem Integration & Test VHDL, Verilog Data Analysis MCU Algorithm Development Data Modeling Idea DSP FPGA ASIC Integration Implementation Subsystem Simple Model Implementation Detailed Model 21 Model-Based Design Automatic Code Generation Requirements • C/C++, VHDL and PLC-Code Generation User Acceptance Testing from one model C, C++ System Design MCU • Support for Fixed Point Data Format VHDL, Verilog DSP FPGA Structured Text PLC Complete ASIC Integration & Test Environment • Automatic scaling • Supported in Simulation and Code-Generation Physical Components Integration testing PLC Coder (Structured Text) PLC Algorithms • Easy integration of legacy C/C++-Code System-Level Integration & Test System-Level Specification • System development Componentindependent Design of the target Research Subsystem Design Embedded Coder (C, C++) EmbeddedDSP & µC Digital Software Electronics C, C++ Data Analysis Algorithm Development MCU HDL Coder Code (VHDL, Verilog) Verification and Validation Subsystem Integration & Test FPGA & ASIC VHDL, Verilog DSP FPGA ASIC Integration Data Modeling Implementation Subsystem Implementation 22 Traceability: Requirement Model Code HTML Code Generation Report 23 Model-Based Design Verification and Validation Continuous Verification and Validation Requirements System Design Environment Physical Components Algorithms System-Level Specification Component Design Research Subsystem Design Algorithm Development Complete Integration & Test Integration testing System-Level Integration & Test Code Verification and Validation Embedded Software Digital Electronics C, C++ Data Analysis User Acceptance Testing MCU Subsystem Integration & Test VHDL, Verilog DSP FPGA ASIC Integration Data Modeling Implementation Subsystem Implementation 24 Benefits of Model-Based Design Models: Core of the Development Process Unambiguous Description of Requirements (Executable Specification) Fast Evaluation of Design Variants Frontloading - Early Test and Verification Automatic Code Generation Better Cooperation, Communication and Collaboration Higher Product Quality Executable Specifications Design with Simulation Models Continuous Test and Verification Automatic Code Generation 25 Support and Community Application Engineering Technical Support 26