17
Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation from AADL to a RTOS : an experimentation feedback on the use of model transformation Matthias BRUN 1 ,J´ erˆ ome DELATOUR 1 and Yvon TRINQUET 2 1 TRAME team, Groupe ESEO. 2 Real-Time Systems group, IRCCyN. UML&AADL ’08- April 2nd, 2008 Source code generation from AADL to a RTOS 1/14

Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Source code generation from AADL to a RTOS :

an experimentation feedback on the use of model transformation

Matthias BRUN1, Jerome DELATOUR1 and Yvon TRINQUET2

1TRAME team, Groupe ESEO.

2Real-Time Systems group, IRCCyN.

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 1/14

Page 2: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Outline

1 Context of the experimentation

2 Experimentation : AADL to OSEK/VDX compliant code

3 Conclusion and current work

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 2/14

Page 3: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Source code generationModel Driven Architecture

Outline

1 Context of the experimentation

2 Experimentation : AADL to OSEK/VDX compliant code

3 Conclusion and current work

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 3/14

Page 4: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Source code generationModel Driven Architecture

Source code generation

To automate part of the translation of high-level descriptions into correctexecutable code.

limits the possibility of introducing errors,

reduces the time required for system development,

prevents designers from fastidious repetitive basic code translations.

However :

generally, only treat a subset of semantics,

often black boxes, difficult to customize.

Conflict with the development of RTES :

different code generation strategies could be involved.

→ How to improve source code generation ?→ How MDA tools could be a help ?

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 4/14

Page 5: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Source code generationModel Driven Architecture

Model Driven Architecture (MDA)

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 5/14

Page 6: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Source code generationModel Driven Architecture

Model Driven Architecture (MDA)

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 5/14

Page 7: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

Outline

1 Context of the experimentation

2 Experimentation : AADL to OSEK/VDX compliant code

3 Conclusion and current work

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 6/14

Page 8: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

AADL to OIL and AADL to C language

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 7/14

Page 9: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

AADL periodic thread to OSEK/VDX task

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 8/14

Page 10: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

AADL periodic thread to OSEK/VDX task

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 8/14

Page 11: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

AADL periodic thread to OSEK/VDX task

→ a need for alternatives. . .

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 9/14

Page 12: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

The need for alternative

Control the transformation :

interactive transformation,

transformation with parameters.

Capture choices used to define the parameters :

in the AADL model (meta-informations),

in a dedicated model.

Experimentation :

AADL property set to capture alternatives,→ AADL properties to capture choices,

application conditions of the ATL rules.

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 10/14

Page 13: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

The need for alternative

Control the transformation :

interactive transformation,

transformation with parameters.

Capture choices used to define the parameters :

in the AADL model (meta-informations),

in a dedicated model.

Experimentation :

AADL property set to capture alternatives,→ AADL properties to capture choices,

application conditions of the ATL rules.

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 10/14

Page 14: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

AADL to OIL and AADL to C languageAADL periodic thread to OSEK/VDX taskThe need for alternativeResults

Results (on AADL periodic threads to OSEK/VDX tasks)

transformation : choice of the number of tasks by thread, choice of basic orextended tasks, and taking into account several entry point declarations.

The experimentation lasted two months :

1th month : become familiar with MDA concepts and AMMA tools,

15 days : study of the AADL metamodel anddevelopment of the target metamodels (OIL and C language),

15 days : study and development of the ATL transformations.

→ more time dedicated to think about transformations rules than toimplement transformations.

The generated OIL and C codes were compiled and used with Trampoline

(an open source OSEK/VDX RTOS developed by IRCCyN).

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 11/14

Page 15: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Outline

1 Context of the experimentation

2 Experimentation : AADL to OSEK/VDX compliant code

3 Conclusion and current work

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 12/14

Page 16: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

Conclusion and current works

Adequacy of MDA for source code generation :

ability of MDA tools to manipulate metamodels,

MDA tools and declarative languages (such as ATL) simplify theexpression of mapping between models,

time-savings.

Experimentation :

to take into account semantics,

a need for alternative considerations.

Current works :

to capture alternatives and choices in dedicated models,

to assist developer with decision tools.

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 13/14

Page 17: Source code generation from AADL to a RTOS€¦ · Context of the experimentation Experimentation : AADL to OSEK/VDX compliant code Conclusion and current work Source code generation

Context of the experimentationExperimentation : AADL to OSEK/VDX compliant code

Conclusion and current work

References

AS5506, Architecture Analysis & Design Language, v1.0,November 2004.

The SAE AADL Information Site, 2006.http ://www.aadl.info/

OSEK/VDX Portal, 2006.http ://www.osek-vdx.org/

The OMG’s Model Driven Architecture ( MDA), 2006.http ://www.omg.org/mda/

The ATL home page, 2006.http ://www.sciences.univ-nantes.fr/lina/atl/

Real-Time Systems group of IRCCyN. Trampoline, 2007.http ://trampoline.rts-software.org

UML&AADL’08- April 2nd, 2008 Source code generation from AADL to a RTOS 14/14