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

STORAGE_ERROR in ocarina when generating polyorb_hi_c code for a system with a protected object #309

Closed mgharbour closed 2 years ago

mgharbour commented 2 years ago
OCARINA VERSION: Ocarina v2021.1-7-g563ae64 (Working Copy from r563ae649)

HOST MACHINE and OPERATING SYSTEM: inux mgh-VirtualBox 5.11.0-41-generic #45~20.04.1-Ubuntu SMP Wed Nov 10 10:20:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

COMPILER VERSION: gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

DESCRIPTION:

When I generate polyorb_hi_c code for a system with two threads and a protected object, using the following command: /home/mgh/ocarina/bin/ocarina -aadlv2 -y -g polyorb_hi_c -z shared5.aadl

I get:

+========================== OCARINA BUG DETECTED =========================+ | Detected exception: STORAGE_ERROR | | Error: s-intman.adb:136 explicit raise | | Please refer to the User's Guide for more details. | +=========================================================================+

raised STORAGE_ERROR : s-intman.adb:136 explicit raise

I don't know what to do. I attach the file causing this error, renamed to ".txt". Any help would be appreciated.

Thanks,

Michael González. shared5.aadl.txt

jjhugues commented 2 years ago

It looks like you adapted https://github.com/OpenAADL/polyorb-hi-c/tree/master/examples/aadlv2/d3.1.3-1

Note that this cannot work. You have a data component outside of a process. This is not supported. You should take the analogy of an OS here: a data or thread cannot exist outside the context of a process.

I will see if I can provide a true error message here