Generation of correct-by-construction code from design models for embedded systems

In a model-driven engineering development process that focuses on guaranteeing that extra-functional concerns modeled at design level are preserved at platform execution level, the task of automated code generation must produce artifacts that enable back-annotation activities. In fact when the target platform code has been generated, quality attributes of the system are evaluated by appropriate code execution monitoring/analysis tools and their results back-annotated to the source models to be extensively evaluated. Only at this point the preservation of analysed extra-functional aspects can be either asserted or achieved by re-applying the code generation chain to the source models properly optimized according to the evaluation results. In this work we provide a solution for the problem of automatically generating target platform code from source models focusing on producing code artifacts that facilitate analysis and enable back-annotation activities. Arisen challenges and solutions are described together with completed and planned implementation of the proposed approach.

[1]  Tullio Vardanega,et al.  Property Preservation and Composition with Guarantees: From ASSERT to CHESS , 2009, 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[2]  Federico Ciccozzi,et al.  Towards a Round-Trip Support for Model-Driven Engineering of Embedded Systems , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  Tullio Vardanega,et al.  Toward Correctness in the Specification and Handling of Non-Functional Attributes of High-Integrity Real-Time Embedded Systems , 2010, IEEE Transactions on Industrial Informatics.

[4]  Uwe Baumgarten,et al.  From COLA Models to Distributed Embedded Systems Code , 2008 .

[5]  Dorina C. Petriu,et al.  The Future of Software Performance Engineering , 2007, Future of Software Engineering (FOSE '07).

[6]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[7]  Marco A. Wehrmeister,et al.  Automatic code generation for embedded systems: From UML specifications to VHDL code , 2010, 2010 8th IEEE International Conference on Industrial Informatics.

[8]  Jon Oldevik,et al.  Scenarios of Traceability in Model to Text Transformations , 2007, ECMDA-FA.

[9]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[10]  F. Lindlar,et al.  A code generation tool for embedded automotive systems based on finite state machines , 2008, 2008 6th IEEE International Conference on Industrial Informatics.

[11]  Pascal Raymond,et al.  Model-Based Design of Embedded Control Systems by Means of a Synchronous Intermediate Model , 2009, 2009 International Conference on Embedded Software and Systems.

[12]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[13]  Matthias Brun,et al.  Code Generation from AADL to a Real-Time Operating System: An Experimentation Feedback on the Use of Model Transformation , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[14]  Sébastien Gérard,et al.  eC3M: Optimized model-based code generation for embedded distributed software systems , 2010, 2010 10th Annual International Conference on New Technologies of Distributed Systems (NOTERE).

[15]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[16]  Guy Gogniat,et al.  A co-design approach for embedded system modeling and code generation with UML and MARTE , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.