OpenAADL / ocarina

AADL model processor: mappings to code (C, Ada); Petri Nets; scheduling tools (MAST, Cheddar); WCET; REAL
http://www.openaadl.org
Other
65 stars 29 forks source link

Support of C++ as implementation language for AADL subprograms #4

Closed Stachelbeck closed 11 years ago

Stachelbeck commented 11 years ago

I created a simple AADL v2.1 Rate Monitonic Scheduling single a single thread calling one subprogram. The subprogram is written in C++ (I all so developed a C version of the same subprogram). When staring ocarina to generate code I receive the following error message from ocarina:

IDAeNetBusManagera.aadl:7:30 Backends: fatal error : This kind of subprogram is not supported SUBPROGRAM_UNKNOWN

AADL v2.1 specification:

subprogram BCMgr properties Source_Language => (CPP); Source_Name => "bcmgr"; Source_Text => ("bcmgr.cpp"); end BCMgr;

My ocarina verion is dated 12-17-2012.

This is the C version in which ocaina will generate code and its generated and user created code (bcmgr.c) will compile and execute on the targeted machine.

subprogram BCMgr properties Source_Language => (C); Source_Name => "bcmgr"; Source_Text => ("bcmgr.c"); end BCMgr;

Thanks,

Kenneth

yoogx commented 11 years ago

Kenneth,

I just committed b26b470805f83631e6ff78352c885fbae6e33551 that provides early support for this feature: tested on a similar testcase as yours. Some more work is necessary for C++ subprograms used in in event ports and call sequence.

yoogx commented 11 years ago

Given issue #12, I consider this ticket closed.

jenewari commented 6 years ago

hello, i want to know how to use code generation in osate, where can i get something comprehensive to help me use osate

yoogx commented 6 years ago

Hi,

You may start with resources from http://www.openaadl.org/osate-ocarina.html and the following examples: http://www.openaadl.org/aadlib.html

jenewari commented 6 years ago

thanks, but is there any other resources on how to use code generation?

yoogx commented 6 years ago

Using code generation is nothing more than pointing the root system to the tool, as detailed in the first link. Unless you have more precise question, I strongly suggest you try first.

Also, please do not use old tickets to discuss unrelated issues.