Reddo - A Model Driven Engineering Toolset for Embedded
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
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
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
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