Skip to content

Actual_Processor_Binding error when runing Check Codegen prerequisites for VxWorks in OSATE for Ubuntu #2910

@passeris

Description

@passeris

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

image

Desktop (please complete the following information):

image

  • OSATE Version: 2.14.0.vfinal
  • Operating System: Ubuntu

Additional context

None.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions