®

IBM Software Group

Model-Based Agility for Embedded Systems Development
Dr. Bruce Powel Douglass, Ph.D. Chief Evangelist, IBM Rational

Bruce.Douglass@us.ibm.com Twitter: @BruceDouglass Yahoo: http://tech.groups.yahoo.com/group/RT-UML IBM: www-01.ibm.com/software/rational/leadership/thought/brucedouglass.html

Innovation for a smarter planet

© 2011 IBM Corporation

IBM Software Group | Rational software

Agenda
 State of Agile in the Systems Space  High-Fidelity Modeling  Model-Based Testing  Dependable by Design …. With Agile  Does it Work? Case Studies  New Technologies and Approaches in the 21st Century

Innovation for a smarter planet

IBM Software Group | Rational software

The State of Agile in the Systems Space

Typical agile project IBM Agility@Scale™

Innovation for a smarter planet

Reuse Collaborative platforms Iterative processes Middleware components Mature commercial tools Waterfall Governance Stovepipe architectures Proprietary tools/methods 100% Build Progress Time to value Time to value Time to value Project Delivery Time Innovation for a smarter planet .IBM Software Group | Rational software The Agile Time to Value Curve Agile Processes Arch & Test Driven.

IBM Software Group | Rational software Addressing misconceptions about agile 1. Agile is not a fad. Agile can do fixed price. but it’s dynamic not ballistic 5. but there’s more effective options available to you 9. Agile teams write documentation 2. Agile is more predictable than traditional 6. Agile scales very well 7. Agile teams model 3. it is being adopted by the majority of organizations 8. Agile teams do more planning than traditional teams. Agile requires greater discipline than traditional approaches 4. Agile processes can be certified to whatever CMMI level you desire Innovation for a smarter planet .

IBM Software Group | Rational software Embedded Agile: The Harmony™ Process Innovation for a smarter planet 6 .

IBM Software Group | Rational software Harmony™ for Embedded RealTime Agile Practices  Use dynamic 2-level planning  Incrementally construct/unit test several times per day (nanocycle)  Incremental development (microcycle)  High-Fidelity Modeling  Continuous integration  Dependability analysis/assessment in parallel with development  Avoid defects with defensive development  Apply design patterns Intelligently  Use model-code associativity to automatically maintain model-code in sync Practices are workflows that produce and consume work products to achieve the goals based on principles and concepts Innovation for a smarter planet 7 .

the current project status is used to update the overall plan  Harmony recommends a two-tier planning approach Project plan Microcycle1 Microcycle 2 plan Microcycle 3 Microcycle 4 update Iteration plans Innovation for a smarter planet .IBM Software Group | Rational software Use Dynamic Planning  A schedule is always developed with incomplete information     There are things you don’t know Some of the things you know will change Overall schedule plans the set of iterations and their expected content Each iteration has a more detailed plan whose scope is a single iteration  This is done at the start of each iteration  At the end of each iteration.

IBM Software Group | Rational software Embedded Agile SW Development Nanocycle High-Fidelity Modeling Continuous Integration Typically 10-30 minutes Test Driven Development Unit testing Code Gen Debugging Innovation for a smarter planet 9 .

IBM Software Group | Rational software Best Practices for Modern Systems Engineering  High-fidelity model-based engineering (Hi-MBE)  Incremental functional analysis with use cases  Executable requirements modeling with SysML/UML  Test-driven development of system specifications  Integrated safety and reliability analysis  Model-based handoff to downstream engineering  Automated document generation from model artifacts Innovation for a smarter planet 10 .

IBM Software Group | Rational software Agile High-Fidelity Modeling Innovation for a smarter planet .

vi. and deployment  Continuous execution with constant feedback. periodic assessment of risks.Code  Emacs. or Eclipse code pounding  Level 1 – Code Visualization (5% of possible benefit)  Reverse engineering of code intro structural views but retaining code-based concepts of Files. Visual Studio.IBM Software Group | Rational software UMMI – UML Maturity Model Index  Level 0 . model organization Innovation for a smarter planet 12 . and Variables  Level 2 – Structural Modeling (15% of possible benefit)  Forward Engineering of code frames  Use of use cases with sequence diagrams and requirements tracing  Level 3 – Behavioral Modeling (30% of possible benefit)  Use of state machines and activity diagrams for classes  Formal specifications of use cases with state machines  Level 4 – Model Based Execution & Debugging (70% of possible benefit)  Executable modeling with model-level debugging  Executable requirements models with use cases  Level 5 – High-Fidelity Agile Modeling (100% of possible benefit)  Architectural modeling with UML – subsystems. Functions. safety and reliability. distribution. concurrency.

and security analysis FTA. Subsystem use cases/ Requirements Modelbased handoff Model and text Architectural Model Trade-off analysis Subsystem Model(s) Electronic Specification Model and text Dependability Model Safety. mathematical models Software Specification Model and text 13 . interfaces. SAD Innovation for a smarter planet Control Model Control algorithms. FEMCA. FMEA. reliability.IBM Software Group | Rational software Models and Viewpoints in Model-Based Systems Engineering Mechanical Specification Functional Model Executable use cases Functional and QoS requirements Subsystems. Asset Diagram.

IBM Software Group | Rational software Model-Based Handoff to Downstream Engineering Innovation for a smarter planet .

IBM Software Group | Rational software Model-Based Testing Innovation for a smarter planet .

IBM Software Group | Rational software Where Testing fits into the Development Process Innovation for a smarter planet Harmony/ESW Microcycle (Spiral) Repeats every 4-6 weeks Harmony for Embedded RealTime™ .

.IBM Software Group | Rational software Testing Automation Overview  Requirements-Based test tools allow design-level testing using standard UML sequence diagrams. Test Configuration Monitors / Test Drivers Stimulate...Monitor Scenariobased Test Cases Test Generation %Completion Pass Fail System Under Test Innovation for a smarter planet .. .

IBM Software Group | Rational software TDD – Requirements Based Testing  Uses “Requirements” sequence diagrams to drive the execution and validation of the system Innovation for a smarter planet .

IBM Software Group | Rational software Continuous Testing in Harmony™ for Embedded RealTime Final acceptance testing at end of project and at key delivery points Design and requirements testing every incremental prototype every 4-6 weeks Software and system integration performed daily or weekly Continuous informal and formal testing via elaboration and execution every few minutes Innovation for a smarter planet .

IBM Software Group | Rational software Dependable by Design … with Agile Innovation for a smarter planet .

IBM Software Group | Rational software Dependable by Design … with Agile  Dependability has three aspects  Safety  Reliability  Security  All three cross-cutting concerns must be addressed  Safety and reliability are well established disciplines within the systems space. These have critical impacts on safety and reliability  Activities must address these concerns at  Requirements  Systems engineering  Software development  It is crucial that we provide tools and methods for reasoning about these concerns at the requirements and design level Ref: Protecting Industrial Control Systems from Electronic Threats by Joe Weiss Innovation for a smarter planet . but …  There is no presence today of requirements and design concepts or tools within the confines of industrial control systems for cybersecurity let alone SoS that incorporate many control systems.

IBM Software Group | Rational software Model-Based Dependability Analysis with FTA Innovation for a smarter planet .

IBM Software Group | Rational software Linking Dependability Analysis to Reqs and Model Elements Innovation for a smarter planet .

vulnerabilities. rather than safety  It looks for the logical relation between assets. and security violations  Permits reasoning about security  What kind?  How much?  Risk assessments Innovation for a smarter planet . attacks.IBM Software Group | Rational software Security Analysis Diagram  Security Analysis Diagram (SAD) is like a Fault Tree Analysis (FTA) but for security.

vulnerabilities.  Here it is shown with traceability links to requirements  Assets can be  Physical  Informational  Currency  Resource  Security Innovation for a smarter planet . authentication. and countermeasures. It is a way of representing the security-relevant design elements.IBM Software Group | Rational software Asset Diagram  An Asset Diagram looks at the semantic relations between roles.

IBM Software Group | Rational software Auto-generation of Dependency-Relevant Summary Data Fault Source Matrix. Fault Detection Matrix. Hazard Analysis… • Traceability improves your ability to make your safety/security case • Dependability metadata guides downstream engineering work Innovation for a smarter planet . Fault-Requirement Matrix.

IBM Software Group | Rational software Harmony/SE: Design Synthesis Innovation for a smarter planet 27 .

IBM Software Group | Rational software Does it Work? Case Studies Innovation for a smarter planet .

Accelerated progress on the most complex hybrid design by Eaton and perhaps in the world . electronics.Used automatic code generation for vehicle software reducing defects and improving time-to-market Innovation for a smarter planet .Multiple workshops solidified the system requirements and identify many missing requirements . The Solution . the engineers performed a detailed safety analysis and with trace links to the system architecture and requirements .System engineering model handed off to software and electronics and mechanical eeers for development Results/Accomplishments .Using the Rhapsody safety analysis profile.Instructed team in the use of Rhapsody and DOORS .IBM Software Group | Rational software Eaton and UPS The Challenge  Create series hydraulic hybrid vehicle that can achieve 60-70% fuel emission reduction for challenging UPS drive cycle for the vehicle Developed the hybrid drive train systems engineering model with a combination of high-fidelity modeling and agile methods.System successfully achieved its aggressive fuel economy goals (70% improvement) and achieved 40% reduction in CO2 emissions .Significantly reduced requirements defects before software. and mechanical engineers got to work .Successfully used modeling for both systems engineering and for software development .

IBM Software Group | Rational software Ikerlan-IK4 The Challenge  Design and build wind turbines that automatically optimize their performance based on environmental factors The Solution Developed wind turbine models for system and software development using product line engineering tooling to save time to market for product lines  .Adopted Rational Rhapsody and agile model-driven development to model their system architecture  . couple with SysML allowed them to formulate an overall architecture approach Results/Accomplishments  90% reduction in development time for each customized wind turbine model  25% reduction in cost of development for wind turbine control systems  Reduced development time by a factor of 10 for each variation in its product line Innovation for a smarter planet .Use of UML to visual the architecture.

IBM Software Group | Rational software Where do we go from Here? Innovation for a smarter planet .

llnl. but distinct from AC  Attempts to create desired system properties (including QoS) as a set of emergent properties from independent autonomous agents in the same way ant colonies display emergent intelligent behavior  Main obstacle is the selection of local energy functions that produce the desired emergent behavior  Run-time interface adherence  Specification of interfaces with run-time middleware ensuring  Preconditions  Postconditions  Class invariants  See Babel home page as an example of such an IDL https://computation.gov/casc /components/#page=home Innovation for a smarter planet .IBM Software Group | Rational software Technological Advances for SW Development  Autonomic Computing (AC) systems  Refers to self-governing massively parallel computing inspired by biological computing  Adds agent-oriented goal-directed elements  An agent is an autonomous element that embeds policies that achieves goals specified by rules or minimization of energy functions  Collective Intelligence (COIN)  Related to.

IBM Software Group | Rational software References Innovation for a smarter planet 33 .

Sign up to vote on this title
UsefulNot useful