Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion Failure #26

Closed
laukokhao opened this issue Feb 11, 2015 · 1 comment
Closed

Assertion Failure #26

laukokhao opened this issue Feb 11, 2015 · 1 comment
Assignees
Labels

Comments

@laukokhao
Copy link

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

yoogx added a commit that referenced this issue Feb 15, 2015
@yoogx yoogx added the bug label Feb 15, 2015
@yoogx yoogx self-assigned this Feb 15, 2015
@yoogx
Copy link
Contributor

yoogx commented Feb 15, 2015

This issue is now solved, Ocarina returns an error message to indicate that a device is not bound to a processor.

@yoogx yoogx closed this as completed Feb 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants