pok-kernel / pok

POK kernel. Safe and secure for safety-critical systems.
https://pok-kernel.github.io/
BSD 2-Clause "Simplified" License
89 stars 61 forks source link

Problem when makes the pok-main example arinc653-queueing #32

Open hwd88 opened 2 years ago

hwd88 commented 2 years ago

When runs the command "ocarina -aadlv2 -f -i model.aadl", hit the following problem: "model.aadl:20:06: ARINC653 (identifier) is not a package or a property set visible or existing Cannot analyze AADL specifications"

Ocarina v2021.1-7-g563ae64 (Working Copy from r563ae649) Build date: Oct 29 2021 14:47:37

And advise? Thanks a lot.

Wayne

hwd88 commented 2 years ago

And I ask help from ocarina and get the help as below. And I changed as the suggestion at line 328 in the pok-toolchain.pl. But hits the error "Cannot find file pok.aadl". Any advise? Thanks.

Wayne

Hi,

This is not an AADLib error, so please have it reported to POK maintainers. You want to run ocarina -aadlv2 -y -i model.aadl , i.e. use -y to load files on demand since ARINC653 is not a standard property sets. You will get additional errors related to error handling, this is because this example uses an outdated property set. See OSATE for the reference one, it is likely the corresponding code generation feature is no longer working.

Etienne13 commented 2 years ago

I am not a developer of Ocarina, so I cannot help with this specific issue. If you are interested in trying another AADL to C/POK code generator, you can have a look at RAMSES

It can be installed from OSATE quite easily and it supports the same type of AADL models as Ocarina.

About issues with RAMSES, please report them using the information available online

Etienne.

Etienne13 commented 2 years ago

Dear Wayne,

I just pushed a new version of the arinc653-queueing example; it fixes model.aadl to conform to the AADL ARINC653 annex; I added a .project file to import the arinc653-queueing easily in OSATE; I also added model_ramses.aadl to use easily with RAMSES. It should work from version 2.0.1.202111111543

You can find the documentation of RAMSES on the website referenced in my previous comment.

Let me know if you have questions/issues. Etienne.