leveraging simulation to create better software systems in an … · 2013. 5. 1. · simulation as...

24
Copyright © 2013 Raytheon Company. All rights reserved. Customer Success Is Our Mission is a registered trademark of Raytheon Company. Leveraging Simulation to Create Better Software Systems in an Agile World Jason Ard Kristine Davidsen 4/8/2013

Upload: others

Post on 19-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Copyright © 2013 Raytheon Company. All rights reserved. Customer Success Is Our Mission is a registered trademark of Raytheon Company.

Leveraging Simulation to CreateBetter Software Systems

in an Agile World

Jason ArdKristine Davidsen

4/8/2013

Page 2: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Agenda Overview of our problem space Traditional spiral development turned Agile Leveraging simulation as a

– System design tool– Software development tool– System assessment tool

Summary Questions

5/1/2013 2

Page 3: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

The Problem Space

5/1/2013 3

Page 4: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Missile SystemChallenges:

– Limited assets– Cost – Availability of testing

environment– Safety

5/1/2013 4

Embedded software:– Controls hardware components

(fins, gimbal, motor, radio, etc.)

Simulation:– Design Studies– Software Development– Performance Prediction– Flight Test Analysis & Support

42 6

58

1 7 PropulsionOrdnance

Power

ControlsAirframe3 Communication

NavigationGuidance• Seeker• Software/Algorithms• Electronics

Page 5: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Integrated Flight Simulation (IFS)Block Diagram

5/1/2013 5

Page 6: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Integrated Flight Simulation Evolves

5/1/2013 6

Integrated Flight Simulation Product Life Cycle

TradeStudies

AdvancedProposal

Early Program

DevelopmentFieldedSystem

KinematicTrajectorySimulation

Closed-Loop6-DoF

Simulation

Early SensorDesign

Simulation

TacticalIFS

Real Time /HWIL

Simulation

Maturity / Time Line

Continued Program

Development

Simulation grows as the product grows

Page 7: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation in the Traditional Spiral Model

5/1/2013 7

Assess

Develop

Design

Image Attribution: Spiral model (Boehm, 1988)http://en.wikipedia.org/wiki/File:Spiral_model_(Boehm,_1988).svg

Page 8: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation Supports Agile Development Deliver the most valuable

software frequently Use feedback to make constant

adjustments to adapt quickly Determine what software to

developMore effective face-to-face

communication Inspect and adapt for the sake

of the program

5/1/2013 8

Image Attribution: Dbenson and VersionOne, Inc. Licensed under the Creative Commons Attribution-Share Alike 3.0 Unportedlicensehttp://commons.wikimedia.org/wiki/File:Agile-Software-Development-Poster-En.pdf

Page 9: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation as a System Design Tool System design decisions can

be made using information gathered through simulation – Decide what type of rocket fuel to use– Select which algorithms should be

used in embedded software– Determine what rates the embedded

algorithms can be executed at– Demonstrate the feasibility of

executing on an alternative processor

Simulation feedback aids system design5/1/2013 9

Page 10: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Example: Tracker Trade StudyObjective & Response Study Objective:

–Allocate system tolerance requirements to assure optimal performance of the tracker algorithm

Response Measure: –Circular Error Probable (CEP), i.e. median miss distance

5/1/2013 10

Page 11: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Example: Tracker Study Results Results

– Discovered system was most sensitive to three system parameters coherent reference point error handover position error handover velocity error

– Characterized system tolerances (based on CEP) as a function of those control factors

Potential Design Impacts– Sensor hardware selection– Software execution/update rates– Selection of possible launch platforms– Tracker usage scenarios (lock on before vs.

after launch etc.)

Design trade-offs understood through simulation5/1/2013 11

Page 12: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation as a Software Development Tool Develop device drivers

using simulated device(s)

Common continuous integration environment for– embedded SW developers– algorithm developers– performance analysts– hardware developers– systems testers

Simulation empowers Agile development practices

Developing within the simulation saves time5/1/2013 12

Page 13: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Example: Paper to Flight in 10 Months

Protect our Troops ASAP

No hardware available in beginning

Software development start immediately

Agile framework using Software in the Simulation (SiS)

Simulation needed for rapid development5/1/2013 13

Page 14: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Development Using Missile Software Product Lines

Product lines allow strategic reuse5/1/2013 14

Missile A

Missile B

Missile C

Missile D

Core Asset Base

EmbeddedSoftware

Infrastructure

DocumentationProcesses/Standards

Hardware Modeling

SimulationInfrastructure

Embedded Algorithms

Page 15: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Integrated Flight Simulation Matured

5/1/2013 15

Page 16: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation Benefits Development Less dependency on

hardware assets Early detection of

performance issues Enables parallel

development Integration is continuous

Simulation makes large development efforts manageable5/1/2013 16

Page 17: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Development Example: Simulation Based Hardware Interface Development

Simulated hardware layer communication (encoding/decoding of bit streams) detected a flawed scale factor that caused simulated flight failures

Because the interface would work under most conditions, our usual suite of software unit tests would not have detected it

By developing the hardware communication layer in the simulation, we were able to detect this problem early and fixed it at very low cost

Simulation detects issues early to avert disaster5/1/2013 17

Page 18: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Simulation as an Assessment Tool Virtually unlimited assessment areas Low cost testing solution Immediate feedback Easily respond to changing conditions 1200 simulation runs in 30 minutes Formal Qualification Testing

Simulation supports many forms of assessment5/1/2013 18

Page 19: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Hardware in the Loop Testing

5/1/2013 19

Page 20: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Summary Simulations play a central role in Agile

development of embedded software Provide inspect and adapt mechanism to

produce a better product Simulation is a vital tool for

– Design– Development– Assessment tool

5/1/2013 20

Page 21: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Biography Jason Ard

– Jason Ard joined Raytheon Missile Systems in 2007. He is a Senior Systems Engineer currently working out of the Performance Simulations Department in Tucson. Since joining Raytheon, he has developed Integrated Flight Simulations (IFS), Computer in the Loop (CIL) simulations, image processing algorithms, and software architectures on numerous programs including MRM (Mid-Range-Munition) JAGM (Joint-Air-To-Ground-Missile) and T3 (Triple Target Terminator). He received BS degrees in Applied Physics and in Computer Science from Brigham Young University.

5/1/2013 21

Page 22: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Biography Kristine Davidsen

– Kristine has been a software engineer at Raytheon for 13 years spanning across two business units: Missile Systems (MS) and Integrated Defense Systems (IDS). She started her career developing test software at MS on Special Access Programs. Then later she transferred to IDS where she contributed to the Navy Zumwalt Destroyer Infrastructure. While at IDS, Kristine was introduced to Agile software development in 2008 when she worked on a company funded research and development program. Upon her return to MS in December 2008, Kristine joined the Software Engineering Center where she has been an embedded software developer and/or ScrumMaster on multiple programs including (Joint-Air-To-Ground-Missile), SM-3 Block IIA (Standard Missile-3) and T3 (Triple Target Terminator). In addition, she helped author Raytheon’s Scrum courses and is the main instructor for the Scrum for Practitioners course.

– Kristine has a BS degree in Mathematics from the University of Arizona and is a Certified ScrumMaster.

– In her spare time, Kristine spends time with family, bicycling, raising lizards, cooking, and keeping antique vehicles on the road.

5/1/2013 22

Page 23: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

Appendix

23

Page 24: Leveraging Simulation to Create Better Software Systems in an … · 2013. 5. 1. · Simulation as a Software Development Tool Develop device drivers using simulated device(s) Common

List of Terms CIL: Computer in the Loop GNC: Guidance, Navigation, and Control GUI: Graphical User Interface HWIL: Hardaware In The Loop RMS: Raytheon Missile Systems SEI: Software Engineering Institute (Carnegie Mellon University) SiS: Software in the Simulation SP: Signal Processing SPL: Software Product Line

24