Highlighting the Challenges of Model- Based Engineering for Spaceflight Software Systems Dr. Rob Pettit Flight Software and Embedded Systems Office The.

Slides:



Advertisements
Similar presentations
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
® IBM Software Group © 2014 IBM Corporation Innovation for a smarter planet MBSE for Complex Systems Development Dr. Bruce Powel Douglass, Ph.D. Chief.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
PRJ270: Essentials of Rational Unified Process
1 Independent Verification and Validation Current Status, Challenges, and Research Opportunities Dan McCaugherty IV&V Program Manager Titan Systems Corporation.
System Analysis and Design (SAD )
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
8/27/20151NeST Controlled. 2 Communication Transportation Education Banking Home Applications.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
© The Aerospace Corporation 2009 Addressing The Needs of Real-Time Embedded Software A Case for Software Systems Engineering Rob Pettit Flight Software.
1 Software Process Lecture Outline Nature of software projects Engineering approaches Software process A process step Characteristics of a good.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Rational Unified Process Fundamentals Module 4: Disciplines II.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Assessing the SoP of MBE in the Embedded Systems Domain Xubo Miao MSc, School of Computing Supervisor: James R. Cordy.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Chapter 6 : Software Metrics
Cluster Reliability Project ISIS Vanderbilt University.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Intent Specification Intent Specification is used in SpecTRM
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Safety-Critical Systems T Ilkka Herttua. Safety Context Diagram HUMANPROCESS SYSTEM - Hardware - Software - Operating Rules.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer, Progress Sonic.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Chapter 3: Software Project Management Metrics
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer Progress Sonic.
Toulouse, September 2003 Page 1 JOURNEE ALTARICA Airbus ESACS  ISAAC.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Smart Home Technologies
Lectures 2 & 3: Software Process Models Neelam Gupta.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CI R1 LCO Review Panel Preliminary Report. General Comments –Provide clear definition of the goals of the phase (e.g. inception), the scope, etc. in order.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Software Design and Architecture
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
An Iterative Method For System Integration
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Lecture 3 Prescriptive Process Models
Chapter 18 Maintaining Information Systems
IEEE Std 1074: Standard for Software Lifecycle
Towards a Model-Driven Engineering Software Development Framework
Progression of Test Categories
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Logical Architecture & UML Package Diagrams
Presentation transcript:

Highlighting the Challenges of Model- Based Engineering for Spaceflight Software Systems Dr. Rob Pettit Flight Software and Embedded Systems Office The Aerospace Corporation 10 December 2013 © The Aerospace Corporation 2013

Motivation Flight software complexity increasing significantly –“As the complexity of current [embedded] systems has grown, the … effort needed to certify them has risen to account for more than half the total system cost” NSF Solicitation on Cyber-Physical Systems, Jan 2009 Software is significant contributor to mission anomalies Need to address software issues before code –Requirements –Architecture –Design –Performance –Reliability and safety –Can’t test every situation to verify correct design and implementation Model-based approaches show great promise for addressing complexity and supporting early analysis –Still many challenges for large-scale adoption 2

Flight Software Impact on Mission Success Software is growing in size and complexity Recent trends have seen significant grown in mission critical failures Approximately half of all modern space systems anomalies are related to software 2 1 Cheng, Paul, “Ground Software Errors Can Cause Satellites to Fail Too”, GSAW Hecht, Myron, and Douglas Buettner, “Software Testing in Space Programs”, Crosslink, 6(3), Fall SW-Related Failures Foreign U.S FSW SLOC Count 1 SBIRS-High Milstar UHF F/O DSP Phase 1 FSW SLOC = Flight Software Source Lines of Codes 3

Characteristics of Space Flight Software Space flight software is distinctly different than most mainstream software applications –No direct user interface (e.g. monitor and keyboard). All interactions must occur through uplink and downlink –Embedded systems Interfaces with numerous flight hardware devices Requires greater scientific and engineering knowledge than “normal” software applications –Radiation-hardened processors Relatively slow with relatively small amounts of memory compared to the average desktop system –Real-time requirements Numerous timing requirements Must be extremely predictable in the time domain Late answer as bad as wrong answer –Small, compounding errors can create major problems 4

Modeling and Analysis for Risk Mitigation Early modeling and analysis can reduce incidental complexity –FSW has inherent essentially complexity by nature –Incidental complexity arises from choices we make during requirements, architecture, design, and coding Model-based methods can –Ensure consistency from requirements, architecture, design, code –Detect deviations from development standards –Assist trade studies in hardware/software architectures –Point to problems with performance and reliability in the early stages –Locate potential issues such as deadlocks and race conditions while they can still be repaired 5

Challenges for Adopting MBE Practices Many successes with small, isolated application of MBE –Individual subsystems –Control laws Significant challenges remain for scaling MBE to large space systems, including: –Lack of coordinated development approach –Integration of multiple modeling languages –Verification and validation –Code/model consistency –Capturing/verifying critical system properties –Model-based engineering vs. engineering with models 6

Lack of Coordinated Development Approaches Lots of MBE advice –Tutorials –Modeling guidelines –… Little / no MBE development methodologies for large scale software systems –Matching lifecycle activities with MBE artifacts –Applying modeling language features systematically –Evaluating work products for completeness, consistency, and correctness –Integration of (diverse) models across distributed teams Absence of defined MBE development methodologies significantly hinders insight into development approach –Stakeholders don’t have clear picture of what should be done when 7

Integration of Multiple Modeling Languages Different disciplines typically use different modeling languages In spaceflight software: –Spacecraft engineers Responsible for flight control software Typically use Matlab/Simulink –Application software engineers Responsible for onboard applications, fault management, etc. MBE approaches often use UML Integrating modeling languages across system is difficult –Communication among stakeholders –Configuration management –Interfacing system components 8

Verification and Validation MBE approaches facilitate V&V of the design (compared to informal models) However, how do we actually show the design to be correct? Executable models enhance V&V –Few tools do this within the context of a standard modeling language Verification of requirements –Traced to modeling artifacts and code Disconnect between models and manual code detracts from V&V 9

Code/Model Consistency Introducing inconsistencies between models and implementation presents a serious challenge to the effectiveness of MBE –Most programs still using a mix of automated and manual code –Even automated code can be subject to manual updates –Hinders verification –Decreases maintainability for future releases –Devalues original model Effective tool support for round-trip engineering has been elusive –Automatically synchronize models and code –Essential for large-scale MBE success 10

Capturing/Verifying Critical System Properties Many quality of service aspects need to be captured in flight software models –Real-time properties –Reliability –Failure modes –Fault detection and isolation Requires use of domain specific language extensions or profiles –Language features do exist MARTE profile for UML Simulink's Aerospace Blockset –Not used consistently / effectively across programs Programs often use their own specialized profiles 11

Model-Based Engineering vs. Engineering with Models Model-Based Engineering –Models are primary artifact –Consistent artifacts –Fully specified models –Commonly cited, less commonly applied Engineering with Models –Models used as illustrations of design –Inconsistent artifacts –Lightly specified models –Commonly applied in "model-based" efforts 12

Conclusions Size and complexity of spaceflight software will only continue to increase Model-based software engineering offers great promise: –addressing complexity –supporting early analysis –reducing disconnect between design and implementation Significant gap remains for scaling model-based methods to large, mission-critical systems 13