-
Notifications
You must be signed in to change notification settings - Fork 29
Description
When selecting to generate C code ocarina returns the following error:
/usr/local/ocarina/bin/ocarina -aadlv2 -g polyorb_hi_c -r AvionicsBusMgr.XPS8500 /home/stachelbeck/workspace/aadlwork/BusManagers/Plugin_Resources/deployment.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/Plugin_Resources/bus_properties.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/MissionBus2.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/Plugin_Resources/processor_properties.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/EWBus.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/AvionicsBusManagers.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/MissionBus1.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/Messages.aadl /home/stachelbeck/workspace/aadlwork/BusManagers/eNetManagers/MissionBus0.aadl
+========================== OCARINA BUG DETECTED =========================+
| Detected exception: SYSTEM.ASSERTIONS.ASSERT_FAILURE |
| Error: ocarina-backends-properties.adb:2452 |
| Please refer to the User's Guide for more details. |
+=========================================================================+
Exception name: SYSTEM.ASSERTIONS.ASSERT_FAILURE
Message: ocarina-backends-properties.adb:2452
What would be causing ocarina to abort with this kind of error?
Here is my main aadl file (AvionicsBusManagers.aadl):
package AvionicsBusManagers
public
with Deployment;
with Processor_Properties;
with Bus_Properties;
with EWBus;
with MissionBus0;
with MissionBus1;
with MissionBus2;
-- Hardware
virtual processor logical
end logical;
virtual processor implementation logical.core
properties
Deployment::Execution_Platform => LINUX64;
Priority_Range => 1 .. 255;
Scheduling_Protocol => (RMS);
end logical.core;
bus Ethernet
properties
Deployment::Transport_API => BSD_Sockets;
Bus_Properties::Available_Bandwidth => (10 MBytesps, 100 MBytesps, 1 GBytesps);
end Ethernet;
bus implementation Ethernet.XPS8500
end Ethernet.XPS8500;
processor Intel
features
ETH : requires bus access Ethernet;
end Intel;
processor implementation Intel.i7_3770
subcomponents
Cpu0 : virtual processor logical.core {Processor_Properties::Core_Id => 0;};
Cpu1 : virtual processor logical.core {Processor_Properties::Core_Id => 1;};
Cpu2 : virtual processor logical.core {Processor_Properties::Core_Id => 2;};
Cpu3 : virtual processor logical.core {Processor_Properties::Core_Id => 3;};
properties
Processor_Properties::Processor_Family => x86;
Processor_Properties::Endianess => Little_Endian;
Processor_Properties::Word_Length => 64 bits;
Processor_Properties::Processor_Frequency => 3400 MHz;
Deployment::Supported_Runtime => PolyORB_HI_C;
Deployment::Location => "127.0.0.1";
end Intel.i7_3770;
system AvionicsBusMgr
end AvionicsBusMgr;
system implementation AvionicsBusMgr.XPS8500
subcomponents
CPU : processor Intel.i7_3770;
EWBC : process EWBus::BusControllerMgr.impl {Deployment::Port_Number => 4000;};
M0RT : process MissionBus0::M0RemoteTerminalMgr.impl {Deployment::Port_Number => 4001;};
M1RT : process MissionBus1::M1RemoteTerminalMgr.impl {Deployment::Port_Number => 4002;};
M2RT : process MissionBus2::M2RemoteTerminalMgr.impl {Deployment::Port_Number => 4003;};
L0 : bus Ethernet.XPS8500;
connections
SC0 : bus access L0 <-> CPU.ETH;
SC1 : port M0RT.RTtoBCMsg -> EWBC.M0RTtoBCMsg {Actual_Connection_Binding => (reference(L0));};
properties
Actual_Processor_Binding => (reference(CPU.Cpu0)) applies to EWBC;
Actual_Processor_Binding => (reference(CPU.Cpu1)) applies to M0RT;
Actual_Processor_Binding => (reference(CPU.Cpu2)) applies to M1RT;
Actual_Processor_Binding => (reference(CPU.Cpu3)) applies to M2RT;
end AvionicsBusMgr.XPS8500;
end AvionicsBusManagers;