Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Category:Eclipse UML Generators/Specification/EmbeddedCGenerator/Contribution"
m (Added reference to UI consistency) |
m (→User Interface Changes) |
||
Line 43: | Line 43: | ||
=== User Interface Changes === | === User Interface Changes === | ||
− | For consistency, the Embedded C generator should stick with the existing generation properties and menus (ref. [https://wiki.eclipse.org/Eclipse_UML_Generators/Specification/UserInterface/ConsistencyImprovement User Interface Consistency]) | + | For consistency, the Embedded C generator should stick with the existing generation properties and menus (ref. [https://wiki.eclipse.org/Eclipse_UML_Generators/Specification/UserInterface/ConsistencyImprovement User Interface Consistency]). |
New entries for Embedded C generators shall just be added to the existing infrastructure. | New entries for Embedded C generators shall just be added to the existing infrastructure. |
Revision as of 07:26, 18 March 2015
Evolution Specification: UML Generator for Embedded C
Current status is DRAFT
Preamble
The traditional text-based approach of embedded software design is not efficient enough to handle such advanced/complex systems. There is a need for modeling C components in order to avoid repetitive and heavy low level processes. As initial contribution to the Eclipse UML generators project, Spacebel proposes development methods and a ANSI C code generator for Embedded Software.
Relevant tickets:
- Bug TBD - Generation of C code for Embedded Systems
Introduction
Major provider of IT systems on-board satellites and space vehicles, Spacebel cumulates more than one century of experience in On Board Software. The expertise encompasses the whole flight software development lifecycle, from the early concept studies, including the analysis and the specification over the architecture, the design and the development, to the validation and the final integration of these critical software systems.
When developing embedded systems, software designers are squeezed by two trends — shrinking development cycles and growing design intricacy. The divide-and-conquer strategy for developing these complex systems means coordinating the resources of people with expertise in a wide range of disciplines. Quickly, it appears that the text-based approach of embedded system design is not efficient to manage such complex systems. There is a need for modeling C components in order to avoid repetitive and heavy low level processes.
As indicated in the title, the feature is able to generate C code from UML models. What distinguishes Embedded C from regular C generator are:
- repeatable and reliable generation of code
- preservation of the implementation fields
- highly documented detailed design
- compliance to MISRA guidelines of C language in critical systems
- traceability of the specification (requirements) in the sources
Modeling a complete embedded software written in C with UML is not straightforward. Indeed, the UML standard is sometimes too generic with a high level of abstraction. In order to mitigate the abstraction of UML, the generator comes up with an UML profile: the Embedded_C profile.
Detailed Specification
TBW
Backward Compatibility and Migration Paths
Metamodel Changes
This evolution does not change any meta-models.
API Changes
This evolution does not change any API.
User Interface Changes
For consistency, the Embedded C generator should stick with the existing generation properties and menus (ref. User Interface Consistency).
New entries for Embedded C generators shall just be added to the existing infrastructure.
Documentation Changes
User manuals should integrate the user interfaces updates for both Embedded_C profile and the generator.
Tests and Non-regression strategy
TBW
Implementation choices and tradeoffs
TBW
This category currently contains no pages or media.