This is an author-deposited version published in : Eprints ID : 15109

Similar documents
Using the AADL for mission critical software development paper presented at the ERTS conference, Toulouse, 21 January 2004

Update on AADL Requirements Annex

Model-based System Engineering for Fault Tree Generation and Analysis

Introduction to AADL 1

SCADE AADL. Thierry Le Sergent, Adnan Bouakaz, Guilherme Goretkin (ANSYS)

AADL Tools & Technology. AADL committee 22 April Pierre Dissaux. Ellidiss. T e c h n o l o g i e s. w w w. e l l i d i s s.

This is an author-deposited version published in: Eprints ID: 3664

On the link between Architectural Description Models and Modelica Analyses Models

Developing Dependable Software-Intensive Systems: AADL vs. EAST-ADL

MBSE with the ARCADIA Method and the Capella Tool

An Implementation of the Behavior Annex in the AADL-toolset Osate2

Model Verification: Return of experience

AADS+: AADL Simulation including the Behavioral Annex

Semantics-Based Integration of Embedded Systems Models

AADL to build DRE systems, experiments with Ocarina. Jérôme Hugues, ENST

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

AADL Requirements Annex Review

This is an author-deposited version published in: Eprints ID: 10292

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability

Model-Based Systems Engineering Backbone of the Thales Engineering Manifesto

Institut Supérieur de l Aéronautique et de l Espace Ocarina: update and future directions

AADL Application modeling with MARTE Madeleine Faugère, Timothée Bourdeau THALES Research and Technology Robert de Simone INRIA Sébastien Gérard CEA

Modeling and verification of memory architectures with AADL and REAL

From MDD back to basic: Building DRE systems

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

An Information Model for High-Integrity Real Time Systems

Model-Driven Engineering Approach for Simulating Virtual Devices in the OSATE 2 Environment

This is an author-deposited version published in : Eprints ID : 15246

Analysis and Design Language (AADL) for Quantitative System Reliability and Availability Modeling

Compositional Model Based Software Development

ARCADIA: Model-Based Collaboration for System, Software and Hardware Engineering

An MDE-based approach for reconfigurable DRE systems

COrDeT Cannes : Use of domain engineering process to develop reusable architectures and building-blocks

Lab-STICC : Dominique BLOUIN Skander Turki Eric SENN Saâdia Dhouib 11/06/2009

TOPCASED. Current status

This is an author-deposited version published in: Eprints ID: 9287

Development Process for Critical Embedded Systems

The AADL Behavioural annex 1

MARTE for time modeling and verification of real-time embedded system

Architecture Analysis and Design Language (AADL) Part 2

UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2

Introducing Simulation and Model Animation in the MDE Topcased 1 Toolkit

Toolset for Mixed-Criticality Partitioned Systems: Partitioning Algorithm and Extensibility Support

Formal Verification of AADL models with Fiacre and Tina

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P.

Modelling of PnP Weapon Systems with AADL Protocol Behaviour

RAMSES. Refinement of AADL Models for the Synthesis of Embedded Systems. Etienne Borde

Model Editing & Processing Tools. AADL Committee, San Diego February 4th, Pierre Dissaux. Ellidiss. Technologies w w w. e l l i d i s s.

Monday Jan 30. Tuesday Jan 31. AADL Standards Meeting Jan 30 Feb 1, 2012 Toulouse, France with ERTS Conference N7 INPT University de Toulouse

AADL Webinar. Carnegie Mellon University Notices Architecture Analysis with AADL The Speed Regulation Case-Study... 4

A Comparison and Evaluation of Real-Time Software Systems Modeling Languages

Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater

Mapping Software Product Line Features to Unmanned Aerial Vehicle Models

ISO Compliant Automatic Requirements-Based Testing for TargetLink

A Design Space Exploration Framework for Model-Based Software-intensive Embedded System Development

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

A Model Based Design Methodology with Contracts to Enhance the Development Process of Safety Critical Systems

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Institut für Informatik

Model Driven Development of Context Aware Software Systems

AADL Inspector Tutorial. ACVI Workshop, Valencia September 29th, Pierre Dissaux. Ellidiss. Technologies w w w. e l l i d i s s.

Architecture Modeling in embedded systems

Introduction to AADL analysis and modeling with FACE Units of Conformance

Toolchain Based on MDE for the Transformation of AADL Models to Timed Automata Models

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

Exploring Software Architectures in AADL via Polychrony and SynDEx

UML Profile for MARTE: Time Model and CCSL

Verification Based Development Process for Embedded Systems

Platform modeling and allocation

Formal modelling of ontologies within Event-B

Executable AADL. Real Time Simulation of AADL Models. Pierre Dissaux 1, Olivier Marc 2.

Chapter 2 Overview of the Design Methodology

Update on Behavior Language for Embedded Systems with Software for Proof Based Analysis of Behavior

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW

Impact of Runtime Architectures on Control System Stability

The Specifications Exchange Service of an RM-ODP Framework

Adding Formal Requirements Modeling to SysML

Simulink/Stateflow. June 2008

Artop (AUTOSAR Tool Platform) Whitepaper

AADL : about code generation

Experimental Comparison between AutoFOCUS3 and Papyrus-RT. Tatiana Chuprina, Florian Hölzl, Vincent Aravantinos

The Architecture Analysis and Design Language and the Behavior Annex: A Denotational Semantics

SCADE. SCADE Architect System Requirements Analysis EMBEDDED SOFTWARE

Security Concepts as Add-On for Process Models

SAE Architecture Analysis and Design Language. AS-2C ADL Subcommittee Meeting June 6-9, 2011 Paris, France

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

UML, SysML and MARTE in Use, a High Level Methodology for Real-time and Embedded Systems

Presentation of the AADL: Architecture Analysis and Design Language

TTool/DIPLODOCUS: a UML Model-Driven Environment for Embedded Systems-on-Chip Design

Train control language teaching computers interlocking

Compilation of Heterogeneous Models: Motivations and Challenges 1

UML for RTES: develop a UML-based proposal for modelling and analysing of RTES

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

ADELFE FRAGMENTATION

Operation Based Model Representation: Experiences on Inconsistency Detection

Creating and Analyzing Software Architecture

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

This is an author-deposited version published in : Eprints ID : 17146

Model Based Engineering of Ground Based Risk Mitigation System

Transcription:

Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15109 To cite this version : Ouni, Bassem and Gaufillet, Pierre and Jenn, Eric and Hugues, Jérôme Model Driven Engineering with Capella and AADL. (2016) In: Proceedings of ERTSS 2016 Conference, 27 January 2016-29 January 2016 (Toulouse, France) Any correspondance concerning this service should be sent to the repository administrator: staff-oatao@listes-diff.inp-toulouse.fr

Model Driven Engineering with Capella and AADL Bassem Ouni 1, Pierre Gaufillet 1, a, Eric Jenn 1, b, Jérôme Hugues 2 1: IRT Saint-Exupéry, 118 route de Narbonne, 31042 Toulouse, France 2: ISAE, 10 Avenue Edouard Belin BP 54032-31055 TOULOUSE CEDEX 04 1 Abstract The development of real time embedded equipments is a challenging task that requires the elaboration of multiple models in several domains, notably system, electronics and software, spanning a large spectrum of multiple abstraction levels and viewpoints: structural, behavioral, dependability, etc. These models serve various purposes: specification, design, evaluation or verification and validation. Today, no single modeling language and environment covers all these aspects. While Capella an open source modeling language and environment for system engineering developed by Thales fits well to the most early stages of the development process, AADL the Architecture Analysis and Design Language defined by the Society of Automotive Engineers provides powerful capabilities to describe and analyze the design artifacts of the software point of view that appear during the latest phase of the design. This is why they have both been selected in the project INGEQUIP of IRT Saint Exupéry. While using different modeling languages for different purpose is perfectly acceptable in a development process, it is important to guarantee that information remain consistent across all models. This is why building a formalized bridge between Capella and AADL is an essential piece of INGEQUIP process. In this paper, after an introduction to the context of INGEQUIP, the high level semantics of Capella and AADL are compared. The mapping used in INGEQUIP between Capella physical models and AADL abstract models is then described. The whole approach is illustrated by some elements coming from the design of TwIRTee the robotic demonstrator of INGEQUIP before concluding. Keywords Real time, Embedded systems, Model transformations, Performance evaluation, Constraints verification, Capella, AADL. I. INTRODUCTION This work is achieved under the INGEQUIP project at the Toulouse Institut de Recherche Technologique (IRT) Saint-Exupéry. IRTs are new research structures established under the auspices of the French Agence Nationale de la Recherche (ANR). IRTs are aimed at favouring the transfer of innovation from laboratories to industries. Towards this goal, IRTs gather engineers coming from small to large companies from various industrial domains, and researchers from public universities and national research agencies. As an example, INGEQUIP covers the space, aeronautics and automotive systems domains. The goal of INGEQUIP is to study and propose solutions for supporting closely integrated development of the main technical domains involved in embedded equipment engineering system, eleectronics and software engineering. A key element for reaching such goal is to ensure the continuity and consistency of information in the whole chain of activities. In INGEQUIP, the choice has been to obtain this property by relying on models and model transformations. The set of requirements regarding an equipment is usually divided into two categories: functional requirements and non functional requirements. Functional requirements include the system s behavior, capabilities and characteristics as specified by stakeholders whereas non-functional properties or requirements define criteria that can be used to evaluate the operations of the system. In order to design the system and associate to the design elements the realized functional and non functional requirements, several modeling languages are available among which AADL a Seconded from Airbus, 316 route de Bayonne, 31000 Toulouse, France. b Seconded from Thales Avionics, 105 avenue du Général Eisenhower, 31100 Toulouse, France.

[1] Architecture and Analysis Design Language, AUTOSAR [2], Capella [3], EAST-ADL [4], SysM [5] and UML [6] have been considered. While Capella, EAST-ADL and SysML fit system engineering, AADL, AUTOSAR and UML are focused on software engineering. Finally the couple Capella/AADL has been chosen in INGEQUIP because they provide most viewpoints commonly used by designers of embedded equipment at system and software levels: functional breakdown, logical and physical architecture, software dynamic and static architecture, formal behavioral descriptions; they are supported by a number of tools widely available: Capella and OSATE for edition, formal behavioral analysis tools like FIACRE and Tina [7], Cheddar [8] and code generations like OCARINA [9]). They are also based on open technologies like the Eclipse Modeling Framework which allows to develop easily tools extensions. Consistently with the orientation of INGEQUIP, a transformation has then been defined and developed for ensuring a seamless transition from system engineering stage to software engineering stage. In this paper, we therefore begin in section 2 by introducing the state of the art of engineering models transformation. Then, section 3 presents a first comparison between the semantics of Capella and AADL. The mapping of the transformation between Capella physical model and AADL abstract model is then described in section 4. The whole approach is illustrated by some elements coming from the design of TwIRTee the robotic demonstrator of INGEQUIP in section 5 before concluding in section 6. II. RELATED WORKS In order to achieve an early analysis of the specification, the verification of functional and non-functional properties of the system, and even code generation for the targeted hardware platform, several studies have proposed comparable transformations to AADL models. In [10], Brun et al. introduce an approach for translating UML/MARTE detailed design into AADL design. The proposed work focuses on the transformation of the thread execution and communication semantics and does not cover transformation of embedded system components, such as equipment parts. Turki et al. [11] propose a methodology for mapping MARTE model elements to AADL components. They focus on the issues related to modelling architectures. This transformation flow does not consider issues related to the mapping of MARTE properties to AADL property. The syntactic differences between MARTE and AADL are well handled by the transformation rules provided by ATL tool. In [12], AADL is used for modelling the properties of embedded system architecture, including the application s tasks, the hardware platform and the operating system services in order to characterize the energy overhead of embedded operating system. The authors propose an AADL model transformation in order to be exploited by a multiprocessor simulation tool named STORM (Simulation TOol for Real-time Multiprocessor scheduling). AADL provides hardware and software architectures together with the scheduling policy; STORM simulates the system behaviour using all the characteristics (task execution time, processor functioning conditions, etc.) in order to obtain the chronological track of all the scheduling events that occurred at run time, and compute various real-time metrics in order to analyse the system behaviour and performances from various point of views. Then, this work has been extended in [13] and a system design exploration methodology has been proposed to verify system requirements when allocating applicative tasks to the processors using a set of tools: RDALTE for the definition and analysis of system requirements and QAML for quantitative analysis. In this paper, the proposed approach for transformation of Capella to AADL models target to cover the various levels of abstraction when modeling systems. We take into account the system behavior and the hardware/software mapping. Next section will detail the transformation flow and how it exploits the complementarity of Capella and AADL in order to cover various embedded system aspects at high level modeling step. III. PROPOSED METHOD As Capella and AADL partially overlap, as shown in the diagram (Figure 1) below, the first question that has to be answered before defining the transformations from Capella to AADL is the level at which this transformation should be performed. Capella is clearly positioned on the most abstract part of the system development process with the Operational Analysis, focusing on the capture of stakeholders needs, and the System analysis, focusing on the functional definition of the system. As for AADL, it doesn t offer support for such kind of analysis. As they deal with the system s architecture, Capella s logical and physical models share lots of concepts with AADL, in particular the capability to express structural refinement. AADL however goes further by providing not only system-oriented abstract components, but also explicit hardware components device, processor, memory, bus and explicit software components process, thread, subprogram. Moreover, AADL proposes a formal models of communication and execution semantics that is a prerequisite for any low-level behavioral analysis (e.g., schedulability analysis).

Capella provides system modeling capabilities at several layers of abstraction: At operational level, the customer needs, the actors, the missions and the activities are described. At system level, a Capella model defines how system can satisfy the former operational need. Capella logical level modeling starts from functional and non-functional analysis and builds one or several decompositions of the system into logical components. The building of logical components is performed at physical level: the final architecture of the system introducing architectural patterns, services and components, and it makes the logical architecture evolve according to implementation, constraints and choices. Figure 2 summarizes the relationship between functional, logical and physical architecture in a Capella model. In this work, we interest to parse the physical architecture of the Capella model as it includes functional, logical and physical components. Whatever the abstraction level of the considered components is, AADL also brings the capability to specify additional information compared to Capella, like functional or non-functional properties. Consequently, the simplest articulation between the two languages is at the levels of the logical or physical architectures. Considering that Capella is well adapted to describing the logical architecture and a first abstract level of physical architecture, and that it is a good practice to limit the risk of data duplication and inconsistency between Capella and AADL models, the best solution is to delay as far as possible the transfer of information. As shown in figure 3, the model transformation will therefore take as input the most detailed physical architecture in Capella, and the design process will go on in AADL. Capella AADL Operational Analysis Abstraction level System Analysis Logical architecture Abstract architecture Physical architecture Detailed architecture Behavioral model Error model Figure 1- Capella and AADL positioning

Functional components Logical components Physical components Functional architecture Logical architecture Physical architecture Refinement Realization Figure 2- Capella functional, logical and physical architectures Nonfunctional requirements Physical architecture Functional requirements Platform constraints Schedulability analysis, Dependability evaluation Capella models Logical components Physical components Behavioral verification AADL models Structural verifications Non functional requirements System Behavior Models transformation Figure 3 - Capella/AADL data flow IV. THE CAPELLA TO AADL TRANSFORMATION A. Transformation definition To transform Capella to AADL models, we explore the contents of a Capella model and generate the appropriate AADL code following the Capella/AADL concepts analogy proposed in Table 1. The equivalent of an AADL processor, device are Capella node physical components with respectively a software execution unit and hardware kinds. A physical component with behavior nature and software application kind is considered as process in AADL. Physical buses components are not modeled in Capella meta-models. For this reason, using Capella ecore meta-models, we generate Capella EMF [14] code and exploit it using Java to extract physical buses from Capella model and map them to AADL buses. The determination of buses is elaborated by exploring the Capella physical components, the physical links which are the communication/transportation means linking node Physical components, and physical ports. As depicted in figure 4, the physical links connected by physical ports are gathered in AllconnectedLinks list. For each element of the list, a physical bus component, with a bus port, will be generated to bind the physical links. Then, as showed in Figure 5, buses are connected to external ports (tip ports) which are ports of physical components having no subcomponents. This established link is called BusLink. BusLinks are divided into segments that don't cross physical component boundaries. These segments represent synthetic links. Synthetic ports includes the tipports and new ports which are generated at each intersection between BusLinks and physical components. The algorithm describing buses extraction is detailed in algorithm 1. The output of this algorithm is the list of synthetic ports and links that will be mapped to AADL elements.

In Capella, logical components are not stored in the physical components they are deployed on, but, in the physical system root,, For rebuilding the AADL connection path, and as depicted in figure, a virtual physical component is created instead of each logical component, a connection is established between these virtual components, then as for the buses, we split this connection into parts and we generate new Capella ports with a new property: the direction. To transform Capella to AADL models, Accelo plugin [15] is used, it allows the generation of AADL code from input Capella graphic models. We exploit this plugin to explore the contents of a Capella model and generate the appropriate AADL code following the Capella/AADL concepts analogy proposed in Table 1. PC1 PC2 PC1.1 PP1 PL2 PC2.1 PC1.1.1 1 Bus 2 PL3 Bus 1 PC1.2 PL1 PC: Physical component PL: Physical link PP: Physical port AllconnectedLinks(1) AllconnectedLinks(2) Figure 4 Determination of connected physical links PC1 PC2 PC1.1 PC1.1.1 Bus 2 9 8 10 PP1 1 PL3 2 7 3 6 PL2 4 Bus 1 5 PC2.1 PC1.2 PL1 Bus port Synthetic port Synthetic link Figure 5 Generation of synthetic links and ports

PC1 PC1.1 PC2 PC2.1 LC1 PL1 PC1.1 PC2.1 VO PL1 LC: Logical component Component exchange Component exchange Allocation CO: component port Generated ports Figure 6 Capella component exchanges transformation Algorithm 1 Capella Bus generation algorithm 1. Get the physical architecture from Project in Capella model. 2. Extract the list of physical ports pps physical links pls and a cross reference between them. 3. Determinate the list allconnectedlinks including the sets of pls connected by pps. 4. for each element of allconnectedlinks a. Get the category of the link b. Create the list of external ports tipports c. Create a bus instance having the same name of category d. Associate the bus instances with tipports in a BiMap structure bus2tipports (key=bus instance, value=tipports). 5. end for 6. Initialize the list of synthetic ports with the tip ports and synthetic links. 7. for each element of bus2tipports a. Search the closest common physical component ancestor PcCommonAncestor of tipports b. Create the Physical component that will model physically the bus instance: PCBus c. Add new properties to PCBus: isbus and Bustype property d. Add a port BusPort to the PCBus e. Add PCbus to PcCommonAncestor f. for each port p of bus2tipports i. Create a link from tip port p to BusPort ii. Divide this link into segments that don't cross Physical Component boundaries iii. Update the list of synthetic ports and links g. end for 8. end for

Case Capella Condition AADL A PhysicalComponent nature =PhysicaComponentNature::NODE and Processor kind=physicalcomponentkind::software_execution_unit B PhysicalComponent nature =PhysicaComponentNature::NODE and Device kind=physicalcomponentkind::hardware C PhysicalComponent nature =PhysicaComponentNature::BEHAVIOR and Process kind=physicalcomponentkind::software_application D PhysicalComponent other than System E PhysicalPort See Bus extraction algorithm Requires bus access F PhysicalLink Bus access connection + Bus G ComponentPort kind=componentportkind::flow and Feature direction=orientationportkind::[in OUT INOUT] See Feature connection extraction algorithm H ComponentExchange See Feature connection extraction algorithm Feature connection I ComponentPortAllocation Actual_connection binding_property on bus J Other metaclasses N/A V. APPLICATION TO THE TWIRTEE ROVER Table 1 Mapping of Capella AADL concepts TwIRTee is a three-wheeled autonomous rover developed within the INGEQUIP project. Its operational role is very simple: move itself on some predefined tracks from a point A to a point B (a "mission") while avoiding other rovers. To achieve this mission, it is fitted with several sensors (camera, odometry sensors, global positioning, ) and two main actuators (motors). The development of the rover is not an objective per se. Indeed, TwIRTee is designed so as to cover the major topics addressed in the project namely: early validation, architecture exploration, performance prediction, and formal verification. Furthermore, it is aimed at covering issues, and functional and architectural elements specific to the three industrial domains. Accordingly, missions, functions and the architectural elements are determined so as to tackle or exercise one or several issues: for instance, the localization function relies partially on imaging so as to exercise hardware / software space exploration and co-design; the highly redundant architecture provides the experimental setup to perform early performance evaluations (including dependability), etc. The computing platform of TwIRTee is composed of 2 COM/MON channels that host the main mission functions and one channel dedicated to power supply generation and motor control. In order to cover issues related to the development of safety-critical Man Machine Interfaces, the system also contains a remote operator station. Figure 3 and Figure 4 show respectively elements of TwIRTee design in Capella and their corresponding elements in AADL.

Figure 7 - Elements of TwIRTee design in Capella

Figure 8 - Corresponding TwIRTee elements in AADL VI. CONCLUSION In this paper, we introduced a transformation from Capella physical architecture to a preliminary software architecture in AADL. The goal of this approach is to implement a seamless development process from system definition and design to software design and implementation. The approach has been applied and validated during the design of the TwIRTee rover demonstrator. The resulting physical model has been used to verify structural, performance (power and energy consumption), timeliness and dependability properties. ACKNOWLEDGEMENT The authors thank all people and industrial partners involved in the Ingequip project. This work is supported by the French Research Agency (ANR) and by the industrial partners of IRT Saint-Exupéry Scientific Cooperation Foundation (FCS): Actia Automotive, Airbus (a), Airbus Defense and Space, Continental Automotive, SAGEM, Systerel, Thales Avionics (b), ASTC Design Partners, Space Codesign Systems. VII. REFERENCES [1] Architecture Analysis and Design Langage (AADL), SAE standards, "Architecture Analysis and Design Langage (AADL), SAE standards," [Online]. Available: http://standards.sae.org/as5506/. [2] "AUTOSAR," [Online]. Available: http://www.autosar.org/. [3] "Capella tool environement and Arcadia methodology," Thales group, 2015. [Online]. Available: https://www.polarsys.org/capella/arcadia.html. [4] "EAST-ADL," [Online]. Available: http://www.east-adl.info/specification.html.

[5] "SysML," [Online]. Available: http://www.omgsysml.org/. [6] "UML," [Online]. Available: http://www.uml.org/. [7] B. Berthomieu, J.-P. Bodeveix, S. Dal Zilio, P. Dissaux, M. Filali, P. Gaufillet, S. Heim and F. Vernadat, "Formal Verification of AADL models with Fiacre and Tina," Embedded Real-Time Software and Systems, 2010. [8] "Cheddar," [Online]. Available: http://beru.univ-brest.fr/~singhoff/cheddar/. [9] Ocarina, "Ocarina," [Online]. Available: http://www.openaadl.org/ocarina.html. [10] M. Brun, M. Faugère, J. Delatour and T. Vergnaud, "From UML to AADL: an Explicit Execution Semantics Modelling with MARTE," in EMBEDDED REAL TIME SOFTWARE AND SYSTEMS, Toulouse, January 2008. [11] S. TURKI, E. SENN and D. BLOUIN, "Mapping the MARTE UML Profile to AADL," in Models ACES-MB Workshop Proceedings, Oslo, Norway, October 2010. [12] B. Ouni, C. Belleudy and E. Senn, "Accurate energy characterization of OS services in embedded systems," EURASIP Journal on Embedded Systems, vol. 6, 2012. [13] B. Ouni, "Thesis dissertation: High-level energy characterization, modeling and estimation for OS-based platforms," Sophia Antipolis, France, July 2013. [14] "Eclipse Modeling Framework," [Online]. Available: https://eclipse.org/modeling/emf/. [15] "Acceleo Project," Obeo company, 2006. [Online]. Available: http://www.eclipse.org/acceleo/.