-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Description
Summary
When running the semantic check "Check Codegen prerequisites for VxWorks" on a sample system implementation with a virtual processor, the following error is raised:
Expected behavior
The check should pass without issues because the virtual processor is bound with the following:
Actual_Processor_Binding => (reference (MyProcessor.vp)) applies to MyProcess;
Actual behavior
MyProcess - Process must be bound to a Virtual Processor through the property Deployment_Properties::Actual_Processor_Binding
Steps To Reproduce
- Load file osate_group_example.aadl.
- Instantiate the swystem implementation System MySystem.impl in the outline view
- Right-click on the MySystem.impl in the outline vew and select Analyses > Semantic Checks > Check Codegen Prerequisites For VxWorks"
- 1 warning is raised regarding the processor binding.
package osate_group_example
public
with ARINC653;
system MySystem
end MySystem;
memory RAM
end RAM;
memory implementation RAM.impl
end RAM.impl;
system implementation MySystem.impl
subcomponents
MyProcess: process node_a.impl;
MyProcessor: processor cpurm.impl;
RAM: memory RAM.impl;
properties
-- actual bindings are applied to the system implementation
-- this statement binds the process node_a.impl (including the thread, to the processor.
Actual_Processor_Binding => (reference (MyProcessor.vp)) applies to MyProcess;
Deployment_Properties::Actual_Memory_Binding => (reference (RAM)) applies to MyProcess;
end MySystem.impl;
-- process
process node_a
end node_a;
thread th1
properties
timing_properties::Deadline => 50 ms;
timing_properties::Period => 100 ms;
Thread_Properties::Dispatch_Protocol=>Periodic;
end th1;
thread implementation th1.impl
end th1.impl;
process implementation node_a.impl
subcomponents
task1: thread th1.impl;
end node_a.impl;
-- processor
virtual processor vp
end vp;
virtual processor implementation vp.impl
properties
execution_time => 200ms;
period => 100ms;
end vp.impl;
processor cpurm
end cpurm;
processor implementation cpurm.impl
subcomponents
vp: virtual processor vp.impl {Programming_Properties::Source_Name=>"foo.c";};
properties
ARINC653::Module_Schedule => ([Partition => reference (vp); Duration => 100ms;
Periodic_Processing_Start => true;]);
end cpurm.impl;
end osate_group_example;
Screenshots
Desktop (please complete the following information):
- OSATE Version: 2.14.0.vfinal
- Operating System: Ubuntu
Additional context
None.
Reactions are currently unavailable

