A User s Experience with Simulink and Stateflow for Real-Time Embedded Applications

Similar documents
Model Based Software Development for DDG 1000 Advanced Gun System

Software Development Principles Applied to Graphical Model Development

Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics

Development of AUTOSAR Software Components within Model-Based Design

JSF Many Programs in One

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

Best practices for developing DO-178 compliant software using Model-Based Design

Agile Model-Based Systems Engineering (ambse)

Caterpillar Automatic Code Generation

Introduction to MATLAB Gergely Somlay Application Engineer

Measuring Return on Investment of Model-Based Design

Evolving the Enterprise Software Configuration Management Model

What is a life cycle model?

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Best Practices for Verification, Validation, and Test in Model- Based Design

COMBATSS-21 Scalable combat management system for the world s navies

SCADE Suite in Space Applications

Software Process and Models

John T. Dillard GRADUATE SCHOOL OF BUSINESS & PUBLIC POLICY U.S. NAVAL POSTGRADUATE SCHOOL

Why Adopt Model-Based Design for Embedded Control Software Development?

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

120mm Mid Range Munition (MRM) ARDEC S&T Effort

Aircraft & Defense Vehicle Simulation Lab

Automating Code Reviews with Simulink Code Inspector

Model-Driven Software Development for Robotics: an overview

SOFTWARE ENGINEERING AT MOTOROLA SOLUTIONS. Jeff Yakey

CDC UNIFIED PROCESS JOB AID

Rotorcraft Health Management System (RHMS)

Executive Summary - 1 -

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Vdot A Revolutionary Tool for Space Logistics Campaign Planning and Simulation

Christie Price Subcontract Administrator Lockheed Martin Corporation South Wadsworth Blvd. Littleton, CO 80125

Lecture 9 Modeling, Simulation, and Systems Engineering

CHAPTER 1 INTRODUCTION

Master of Science in Software Engineering Student Guide

Applications in Business. Embedded Systems. FIGURE 1-17 Application Types and Decision Types

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Software Engineering for LabVIEW Applications

How To Improve The Performance Of Anatm

Taipei Economic and Cultural Representative Office in the United States PATRIOT Advanced Capability-3 Guided Missiles

INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Example Software Development Process.

How To Make An Integrated System For An Unmanned Aircraft System

Team-Based Collaboration in Model-Based Design

Converting Models from Floating Point to Fixed Point for Production Code Generation

OpenSplice DDS. Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech.

Integrating MATLAB into your C/C++ Product Development Workflow Andy Thé Product Marketing Image Processing Applications

Real Time Embedded Software Development Using Agile Technology An Experience Report

Cost effective methods of test environment management. Prabhu Meruga Director - Solution Engineering 16 th July SCQAA Irvine, CA

Software in safety critical systems

Integrated Project Management Tool for Modeling and Simulation of Complex Systems

Space Flight Project Work Breakdown Structure

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Telepresence for Deep Space Missions Project

ISA CERTIFIED AUTOMATION PROFESSIONAL (CAP ) CLASSIFICATION SYSTEM

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Power inverters: Efficient energy transformation through efficient TargetLink code

CUSTOMER KEYNOTE Hal Buddenbohm

Quality Assurance of Models for Autocoding

Fleet Ballistic Missile Eastern Range Operations Supporting Navy Testing and Deployment

System Engineering: A Traditional Discipline in a Non-traditional Organization

Introduction to Simulink & Stateflow. Coorous Mohtadi

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager


Trends in Embedded Software Engineering

Extending CMMI Level 4/5 Organizational Metrics Beyond Software Development

F-16 Modular Mission Computer Application Software

STEREO Guidance & Control

Effective Methods for Software and Systems Integration

Data Analysis with MATLAB The MathWorks, Inc. 1

F-35 Joint Strike Fighter Autonomic Logistics Supply Chain

Rapid Modular Software Integration (RMSI)

Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation

Integrating Legacy Code / Models with Model Based Development Using Rhapsody

chapter four budgets and financial management

MKS Integrity & CMMI. July, 2007

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

Delivering Software Quality and Security through Test, Analysis and Requirements Traceability

UNCLASSIFIED. R-1 Program Element (Number/Name) PE N / Directed Energy and Electric Weapon System. Prior Years FY 2013 FY 2014 FY 2015

MiCART : Mixed Criticality Real-time Hypervisor

Entwicklung und Testen von Robotischen Anwendungen mit MATLAB und Simulink Maximilian Apfelbeck, MathWorks

Certified Software Quality Engineer (CSQE) Body of Knowledge

How to Maximise ROI and drive IT Governance with Visual Studio Team System

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

An approach to Return on Investment (ROI) for Independent Verification and Validation (IV&V) at NASA

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Appendix 2-A. Application and System Development Requirements

Manage Software Development in LabVIEW with Professional Tools

Software Test Costs and Return on

Transcription:

A User s Experience with Simulink and Stateflow for Real-Time Embedded Applications James E. Craft and Bob Rusk, Lockheed-Martin Missiles and Fire Control

Lockheed Martin Corporation 140,001 Employees 65,000 Scientists and Engineers 23,000 IT Professionals, Systems and Software Engineers LMC writes more code than Microsoft My Experience: MSSE, Software Engineer for 25 years Lean Six Sigma Blackbelt C++ and UML Instructor (UML Subject Matter Expert) Software Developer, Software Development Lead Software Architecture, CMMI Maturity Project Experience: Comanche Sniper/ATP AGS LRLAP MRM

Why Do We Model? The short answer to avoid spectacular failures! Swedish Naval Warship, Vasa (1625) NASA Mars Climate Orbiter Denver airport baggage handling system FBI's Virtual Case File system Talking Barbie Modeling gives us a blueprint of the system before we build it Sketch Blueprint Executable Design Modeling provides a shared understanding between the customer, the SME, the Systems Engineer, the Software developer, and the tester

Late Defect Identification is Costly Traditional testing approaches result in defect discovery late in the process Relatively little improvement over past 20 years* Rate of Discovery WASHINGTON (COMPUTERWORLD) - Software bugs are costing the U.S. economy an estimated $59.5 billion each year, with more than half of the cost borne by end users and the remainder by developers and vendors, according to a new federal study. Defects Late Defect Discovery Results in Significant Rework Requirements Design & Build Release to Test Release to Field Time 100X Increase in Cost of Removing Defects *Source: Boehm, Barry. Software Engineering Economics. Edgewood Cliffs, NJ: Prentice-Hall, Inc., 1981 Boehm, Basili, Software Management. IEEE Computer, January 2001.

Using Model-Based Design in Embedded Real Time Systems What is Model-Based Design? MBD is an approach to software development where extensive models are created before source code is written. Using MBD to address the new Software Challenge More software Mounting complexity of software Decreasing number of electronic components Cost, cost, cost Model design Abstraction C C++ C#, Java Assembler System Complexity

Fitting MBD into Lockheed s Product Development Process Requirements Creating the correct system Use Case analysis Data stores, msg transfers, component interfaces Test Model checking, test coverage Allows validation of requirements without significant investment in implementation Peer Reviews Lean Development Separate computational code and behavioral code Agile Principles (Agile Modeling) Iterative modeling (build a little, test a little ) Working within CMMI Level 5 Environment Code reliability, optimization Component based software Code analysis, Metrics

Cost Implications for Model-Based Design Upfront Costs of Model-Based Design Tool/license costs Learning Curve Formal training On-the-job experience Construction of models Cost Time Efficiency Efficiencies Gained with Model-Based Design Eliminates human translation of design into software Peer reviews focus on consistency between documented design and implemented software Engineering effort focuses on correctly defining, designing, and testing software Upfront Costs Pay Off With Increased Efficiency

Special Challenges for Embedded Real Time Applications Optimization strategies Mapping to Target Processors Timing Throughput Cost and Reliability Quality Mission success Software Life Cycles Waterfall, Spiral, Agile Software Safety (DO-178B) Safety Assessment Process Hazard Analysis Examines the effects of a failure condition in the system Software Failure Levels

MATLAB, Simulink and Stateflow Models Meeting the Challenge MATLAB and Simulink form the core environment for Model-based Design for creating accurate, mathematical models of physical system behavior. Simulink for mathematic/control processes Graphical Software Model Graphical Software Building Blocks Stateflow for logical processes

Use of MBD in Defense and Aerospace Applications Aircraft Flight Technologies AFTI/F-16 1982 F-16 Quad Demo 1983 F-16 - DFCS 1986 F-111 DFCS 1989 IDF (Taiwan) 1989 YF-22 1990 F-16 / MATV 1993 F-22 1997 F-16XL DFCS 1997 K-1 1998 X-40A 2000 RT OS (VMX) JSF CDA 2000 T- 50 2002 F16 Blk 60 X-43A 2003 2004 WIN-T 2005 JSF 2006 LRLAP SDD 2006 F-16 (Lockheed) Kistler K-1 (GenCorp) F-22 (Lockheed) X-43A ScramJet (NASA) X-40A Space Vehicle (Boeing) WIN-T (BAE Systems CNIR) F-35 (Lockheed) LRLAP SDD 1980s 1990s 2000 2004 2005 2006 2007 LRLAP builds on heritage of Simulink in Aerospace and Flight Systems

Industry Usage of MBD Developers that use MBD in their designs are able to manage (year over year) more design starts and completions than the industry average. This translates into higher productivity and greater savings for the organization. 8000 7514 4315 Recent surveys comparing coding efficiencies and schedule impacts for MBD programs show improved performance factors. 6000 4000 2000 4.2 0 Industry Avg MBD Project Avg Lines of Handwritten Code Per Developer 710000 4.2 4.0 3.8 3.6 3.7 720000 700000 667600 3.4 Non-MBD Project MBD Project Avg Months Behind Schedule 680000 660000 640000 Industry Avg MBD Project Total Lines of Code Per Project Source: What Do You Do When the Horse You Are Riding Drops Dead?, Jerry Krasner, Embedded Market Forecasters, March 2007

Process Examples of Simulink Model Development for Automatic Code Generation Project A Develops models using well defined Simulink Coding standards The Model is the source and the generated C is treated like object code Project B Core Simulink Building Blocks are validated and all models are required to use only the validated building blocks The Model is the source and the generated C is treated like object code Project C Develops models using well defined Simulink Coding standards Using Mathworks 178B guidelines from Bill Potter Uses scripts and configuration files to enhance readability of generated C source The Model is the detailed design and the C code is the source Follows a more standard software development process

Long Range Land Attack Projectile LRLAP is part of a family of 155mm projectiles for the Advanced Gun Systems on the U.S. Navy's next-generation DDG-1000 destroyer Provides single-strike lethality from offshore against a wide range of targets Multiple payloads and multiple guidance approaches SAIC is subcontracted to Lockheed-Martin for the GNC subsystem Initial concept focused on longrange land attack requirement

Tactical Design Overview LRLAP gives DDG-1000 warships the ability to provide interdiction, suppression and other fire support missions to support ground and expeditionary forces. GN&C Payload Propulsion Tail Guidance Electronics Warhead Rocket Motor Fins Control System Video - Navy Advanced Gun System (AGS) Non-combatant Evacuation Simulation Scenario

GNC Applications Guidance, Navigation and Control applications are prime candidates for Simulink modeling and simulation IMU Subsystem GPS Subsystem Autopilot Navigation Algorithms Guidance Laws Control Subsystem Wind Models Provides pitch, roll and yaw rates Detects current position based on GNSS constellation Provides automated vehicle guidance and control Plans and records position compared to known locations Evaluates sensor readings and course data to determine speed and heading Flight control surfaces used to stabilize and direct the vehicle Provides mach speed and dynamic pressure

Software Productivity Using Simulink With Simulink, the modelbased program outperformed other software programs by more than 2-to-1!!! Program A Program B Simulink Based Program Program C Program D Prior year 10% Goal Program E Average SLOC/Hour ` Jan-0x Feb-0x Mar-0x Apr-0x May-0x Jun-0x Jul-0x Aug-0x Sep-0x Oct-0x Nov-0x Dec-0x Month Similar to diagram

Overall LRLAP Experience with MBD Successes LRLAP is the longest-range guided projectile in U.S. history Nine Successful Flight Tests with No Software Errors Cost & Safety: Reduced Software Defects (Early Checkout in Engineering Simulations) Verification: Rapid Prototyping to Analytical and Real-Time Simulators Verification: Reduced Testing (Unit Test and Standalone) Cost: Overall Reduction in Manhours/SLOC Challenges Process: Handcode to Auto Generated Code Integration Tool: Interface Control and Management on Large-Scale Model Resources: Auto Code Efficiency (Memory, Throughput) Training: Turning Control Law Designers Into Software Engineers Optimization of automatic code generation (readability, standards, CM procedures)

Tools That We Use DOORS RiskRegister Razor RTW Simulink /Stateflow Rational Rose MATLAB WindRiver Tornado MS Visual C++

Decision Making for Auto Code Generation Category Algorithms Structural Operating Systems Device Drivers Internal Logic Message Data Examples Guidance, Navigation, and Control algorithms, math models Capsules, Classes, Interfaces, Protocols VxWorks, Nucleus, etc SDLC drivers, FireWire drivers, etc Data movement, arithmetic operations, etc Assembly of message, calculation of message data, etc Method/Tool Simulink auto code generation Rose COTS or hand-coded COTS or hand-coded Hand-coded Hand-coded Challenges for autocoding certain categories of software If a tool lacks the features to adequately model software category Sometimes less efficient to model versus hand-coding If modeling causes negative side effects on system simulation run time If resultant auto generated software executes inefficiently

Simulink and Auto Generated Code Simulink Auto Generated Code Subsystem Hardware Models Continuous Physics Models GNC Software Models Simulation Tool System performance evaluation Requirements definition support Automatic code generation Model blocks translated to comparable code constructs Embedded software & real-time simulation software can be generated Effective Simulink Usage Produces Software From Model-based Design

Simulink Auto Code Quality LMMFC Simulink Modeling Style Guide ensures readable, maintainable software is generated Characteristics of Simulink generated software Generated software structurally matches Simulink model Comment-to-Lines of Code ratio is developer controlled Simulink comment blocks Comment fields with model blocks Developers can control variable names Unique model block names Unique model block input/output port name Well-styled Simulink models become part of the Software Design Document (SDD) and Algorithm Description Document (ADD)

Summary Significant Reduction in Software Anomalies Through Early Prototyping and Evaluation Significant Reductions in Manhours/Source Lines of Code with Model-Based Software and Automatic Code Generation Produced Excellent Flight Test Results in Very Complex Development Effort with NO Compromises to Flight Safety More Requirements-Focused Development Process Leveraging Off Heritage Relationships with Mathworks to Mature Modeling Environment and Code Generation CMMI Process More Ingrained into Graphical Model Development and Review

Future Plans Code Readability Configuration Parameters Auto coding Standards Templates (Code Headers) Software Configuration Management Managing Release Issues Model Revisions (Check-in, Check-out) Design Issues Linking Simulink with Rose SysML, DODAF System of Systems