Reddo - A Model Driven Engineering Toolset for Embedded

21
Reddo - A Model Driven Engineering Toolset for Embedded Software Development Steven Doran Flight Software Workshop 2011

Transcript of Reddo - A Model Driven Engineering Toolset for Embedded

 Reddo -

A Model Driven Engineering Toolset for Embedded Software Development

           

       

Steven  Doran  Flight  Software  Workshop  -­‐  2011  

Introduction ♦The Reddo Toolset is a study into Model Driven Engineering (MDE)

→ Determine how MDE concepts can be successfully applied to embedded software development

→ The core feature of Reddo is the ability to translate Unified Modeling Language (UML) meta data to source code tailored for embedded applications using the Ravenscar Profile → The Reddo Toolset includes a Framework API that provides reusable common functionality for project development

♦Satellite Simulator Case Study

1  

♦Domain knowledge is captured in formal, understandable, high level models ♦Software applications are guaranteed to comply with the chosen

architecture ♦System level validations can occur on the higher Level abstract

models early in the program life cycle

3  

Why Use MDE?

Motivation

♦There is much skepticism of MDE in the embedded software community → Current MDE tools generate large, complex source code

→ Can MDE properly model the complexity of embedded software applications and generate usable source code?

→ Traditional software development has difficulty managing large, complex systems ⇒ Requirements management / verification ⇒ Hardware required before development ⇒ Integration of large, complex systems

2  

National Defense Industrial Association (NDIA) Top 5 Issues

1) Key systems engineering practices known to be Effective are not

consistently applied across all phases of the program life cycle 2) Insufficient systems engineering is applied early in The program

life cycle, compromising the foundation for initial requirements and architecture development

3) Requirements are not always well-managed, including the

effective translation from capability statements into executable requirements to achieve successful acquisition programs

4  

NDIA's Top 5 Issues (continued)

4) The quantity and quality of systems engineering expertise is insufficient to meet the demands of the government and the defense industry

5) Collaborative environments, including System Engineering (SE) tools, are inadequate to effectively execute SE at the joint capability, System Of Systems (SoS), and system levels

5  

Can MDE Solve the Issues Identified by the NDIA?

♦ MDE provides the ability to represent a complex system at a higher abstraction level than traditional software development

♦ MDE applies established software engineering concepts such as

software reuse and Object Oriented Design (OOD) to system level design and requirements

6  

The Process

8  

The Reddo Integrated Design Environment (IDE)

9  IDE  Based  on  the  ArgoUML  Open  Source  Project  

Auto Source Code Generator

10  

Sample  Output  

11  

Conversion from UML Meta Data to Source Code ♦ Each type of UML diagram represents unique aspects of the

system design   ♦ A Layered Approach was Implemented

→ Layer 1 - Class Diagrams - Creates system-level classes from the Class diagram meta data

→ Layer 2 - Collaboration Diagrams – Creates class's imports from the Collaboration diagram

meta data

→ Layer 3 - Activity Diagrams – Builds programming logic in a method within a class

12  

13  

Conversion from UML Meta Data to Source Code (continued)

Designing an Embedded System using the Reddo Toolset

14  

Modifications  to  ArgoUML    

15  

♦Fixed several outstanding known ArgoUML defects ♦Improved UML 1.x support

All  modification  made  to  the  ArgoUML    source  code  during  the  development  of  the  Reddo  Toolset  will  be  

submitted  to  the  ArgoUML  Project  

Case Study - Satellite Simulator ♦A satellite simulator → Simulate 1 Gyroscope → Simulate Inertial Reference → Simulate Star Tracker → Simulated Telemetry → Simulated Payload ♦“Code Off” between the Reddo Toolset and an experienced Embedded Software Engineer using the traditional method of embedded Application development → Engineer refereed to as Milo in the case

study

16  

Case Study - Embedded Target Device

♦The target embedded device for the Satellite Simulator is a x86 Single Board Computer (SBC) Citrix based CPU with 1 GB of RAM

17  

Results of the "Code Off"

18  

Conclusions / Lesson's Learned

♦The Reddo Toolset was able to implement the case study in less time and with the same number of defects as an experienced software engineer ♦ The disconnect between the system level design and requirements and the implementation of the design is eliminated because the design and implementation are the same using MDE ♦The advantages of MDE demonstrated by the Reddo Toolset are possible solutions to the top five issues identified by the NDIA

20  

Future Improvements to the Reddo Toolset

♦ Improved Multi-threading functionality ♦ Increase Support for a additional embedded devices and Operating

Systems → Demonstrates the “platform independence” of the Reddo Toolset

♦ Improve project defect detection

→ Research an enhanced MDE debugging capability at the higher abstraction levels

→ System Level Target Simulation

22  

Questions?  

25