-
Notifications
You must be signed in to change notification settings - Fork 29
Description
Hi
With POK, I ran the makefile:
BUILD = --models=pololu_motor.aadl --no-run
TESTS = compile-x86 compile-ppc compile-sparc
include $(POK_PATH)/misc/mk/examples.mk
and received this error:
Will execute ocarina -aadlv2 -f -g pok_c pololu_motor.aadl $POK_PATH/misc/aadl-library.aadl
+========================== OCARINA BUG DETECTED =========================+
| Detected exception: SYSTEM.ASSERTIONS.ASSERT_FAILURE |
| Error: ocarina-me_aadl-aadl_instances-nodes.adb:183 |
| Please refer to the User's Guide for more details. |
+=========================================================================+
Exception name: SYSTEM.ASSERTIONS.ASSERT_FAILURE
Message: ocarina-me_aadl-aadl_instances-nodes.adb:183
Code generation failed
make: *** [build] Error 1
This is my AADL model:
package pololu_motor
public
with Deployment, Data_Model, POK;
-- System --
system motor_system
end motor_system;
system implementation motor_system.impl
subcomponents
Control : process ctr.impl;
CPU1 : processor cpu.impl;
Mem1 : memory motor_memory.impl;
Motor : device mtr.impl;
USB : bus universal_serial_bus.impl;
connections
BC1 : bus access USB -> CPU1.BA1;
BC2 : bus access USB -> Mem1.BA2;
BC3 : bus access USB -> Motor.BA3;
Rotate_Conn : port Control.send_rotation -> Motor.rec_rotation;
properties
Actual_Processor_Binding => (reference (CPU1)) applies to Control;
Actual_Memory_Binding => (reference (Mem1)) applies to Control;
Actual_Connection_Binding => (reference (USB)) applies to Rotate_Conn;
end motor_system.impl;
--- Memory- ---
memory motor_memory
features
BA2 : requires bus access universal_serial_bus.impl;
end motor_memory;
memory implementation motor_memory.impl
end motor_memory.impl;
--- Devices ---
device mtr
features
BA3 : requires bus access universal_serial_bus.impl;
rec_rotation : in event data port dummy;
end mtr;
device implementation mtr.impl
end mtr.impl;
---- Buses ----
bus universal_serial_bus
end universal_serial_bus;
bus implementation universal_serial_bus.impl
properties
Deployment::Transport_API => BSD_Sockets;
end universal_serial_bus.impl;
-- Processor --
processor cpu
features
BA1 : requires bus access universal_serial_bus.impl;
properties
--Deployment::Execution_Platform => LINUX64;
POK::Architecture => x86;
POK::BSP => x86_qemu;
end cpu;
processor implementation cpu.impl
subcomponents
partition : virtual processor mypartition.impl;
properties
--Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
--Priority_Range => 1 .. 2;
POK::Major_Frame => 1000 ms;
POK::Scheduler => STATIC;
POK::Slots => (1000 ms);
POK::Slots_Allocation => (reference (partition));
end cpu.impl;
---Virtual Processor---
virtual processor mypartition
properties
POK::Scheduler => RR;
end mypartition;
virtual processor implementation mypartition.impl
end mypartition.impl;
-- Processes --
process ctr
features
send_rotation : out event data port dummy;
properties
POK::Needed_Memory_Size => 120 KByte;
end ctr;
process implementation ctr.impl
subcomponents
activity : thread task.impl;
connections
Rot_Conn: port activity.rotate_out -> send_rotation;
end ctr.impl;
-- Threads --
thread task
features
rotate_out : out event data port dummy;
end task;
thread implementation task.impl
calls
Mycalls: {
hello_code : subprogram Hello_Spg;
};
connections
Param_Conn : parameter hello_code.Param1 -> rotate_out;
properties
Dispatch_Protocol => Periodic;
Period => 1000 ms;
Recover_Execution_time => 10 ms .. 20 ms;
Deadline => 1000 ms;
Priority => 1;
end task.impl;
----- Data ------
data dummy
properties
Data_Model::Data_Representation => Float;
end dummy;
-- Subprograms --
subprogram Hello_Spg
features
Param1 : out parameter dummy;
properties
Source_Language => (C);
Source_Name => "simple";
POK::Source_Location => "../../../simple.o";
end Hello_Spg;
end pololu_motor;
Regards,
Peter