leveraging simulation to create better software systems in an … · 2013. 5. 1. · simulation as...
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6531704589743433f97c5/html5/thumbnails/24.jpg)
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