deployment_properties.aadl 4.81 KB
Newer Older
jhugues's avatar
jhugues committed
1 2 3 4
--AADL2
--SAE Aerospace Standard AS5506A
--Proposed Draft (2008-11-08)
--Appendix A: Predeclared Property Sets
5 6

property set Deployment_Properties is
jhugues's avatar
jhugues committed
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
	Allowed_Processor_Binding_Class:
		inherit list of classifier (processor, virtual processor, system)
		applies to (thread, thread group, process, system, virtual processor, device);
			
	Allowed_Processor_Binding: inherit list of reference (processor, virtual processor, system)
		applies to (thread, thread group, process, system, virtual processor, device);
	
	Actual_Processor_Binding: inherit list of reference (processor, virtual processor)
		applies to (thread, thread group, process, system, virtual processor, device);
	
	Allowed_Memory_Binding_Class:
		inherit list of classifier (memory, system, processor)
		applies to (thread, thread group, process, system, device, data, data port, event data port, subprogram, subprogram group, processor);
	
	Allowed_Memory_Binding: inherit list of reference (memory, system, processor)
		applies to (thread, thread group, process, system, device, data, data port, event data port, subprogram, subprogram group, processor);
	
	Actual_Memory_Binding: inherit list of reference (memory)
		applies to (thread, thread group, process, system, processor, device, data, data port, event data port, subprogram, subprogram group);
	
	Allowed_Connection_Binding_Class:
		inherit list of classifier (processor, virtual processor, bus, virtual bus, device, memory)
		applies to (feature, connection, thread, thread group, process, system, virtual bus);
	
	Allowed_Connection_Binding: inherit list of reference (processor, virtual processor, bus, virtual bus, device, memory)
		applies to (feature, connection, thread, thread group, process, system, virtual bus);
	
	Actual_Connection_Binding: inherit list of reference (processor, virtual processor, bus, virtual bus, device, memory)
		applies to (feature, connection, thread, thread group, process, system, virtual bus);
	
	Allowed_Subprogram_Call: list of reference (subprogram)
		applies to (subprogram access);
	
	Actual_Subprogram_Call: reference (subprogram)
		applies to (subprogram access);
	
	Allowed_Subprogram_Call_Binding:
		list of reference (bus, processor, device)
		applies to (subprogram, thread, thread group, process, system);
	
	Actual_Subprogram_Call_Binding: list of reference (bus, processor, memory, device)
		applies to (subprogram);
	
	Provided_Virtual_Bus_Class: inherit list of classifier (virtual bus)
		applies to (bus, virtual bus, processor, virtual processor, device, memory, system);
	
	Required_Virtual_Bus_Class: inherit list of classifier (virtual bus)
		applies to (virtual bus, connection, port, thread, thread group, process, system, device);
	
	Provided_Connection_Quality_Of_Service: inherit list of Supported_Connection_QoS
		applies to (bus, virtual bus, processor, virtual processor, system, device, memory);
	
	Required_Connection_Quality_Of_Service: inherit list of Supported_Connection_QoS
		applies to (port, connection, virtual bus, thread, thread group, process, system, device);

--  XXX not supported by Ocarina	
--	Not_Collocated: record ( Targets: list of reference (data,
--		thread, process, system, connection); Location:
--		classifier (processor, memory, bus, system);) applies
--		to (process, system);
	
--	Collocated: record ( Targets: list of reference (data, thread,
--		process, system, connection); Location: classifier
--		(processor, memory, bus, system);) applies to
--		(process, system);
	
	Allowed_Connection_Type: list of enumeration
							(Sampled_Data_Connection, Immediate_Data_Connection,
							 Delayed_Data_Connection, Port_Connection,
							 Data_Access_Connection,
							 Subprogram_Access_Connection)
		applies to (bus, device);
	
	Allowed_Dispatch_Protocol: list of Supported_Dispatch_Protocols
		applies to (processor, virtual processor);
	
	Allowed_Period: list of Time_Range
		applies to (processor, system, virtual processor);
	
	Allowed_Physical_Access_Class: list of classifier (device, processor, memory, bus)
		applies to (bus);
	
	Allowed_Physical_Access: list of reference (device, processor, memory, bus)
		applies to (bus);
	
	Memory_Protocol: enumeration (execute_only, read_only, write_only, read_write) => read_write
		applies to (memory);
		
	Runtime_Protection_Support : aadlboolean 
   		applies to (processor, virtual processor);

	Scheduling_Protocol: inherit list of Supported_Scheduling_Protocols
		applies to (virtual processor, processor);
	
	Preemptive_Scheduler: aadlboolean
		applies to (processor);
	
	Thread_Limit: aadlinteger 0 .. Max_Thread_Limit
		applies to (processor, virtual processor);
	
	Priority_Map: list of Priority_Mapping
		applies to (processor);
	
	Priority_Mapping: type record (
		Aadl_Priority: aadlinteger;
		RTOS_Priority: aadlinteger;);
	
	Priority_Range: range of aadlinteger
		applies to (processor, virtual processor);
116
end Deployment_Properties;