deployment_properties.aadl 5.16 KB
Newer Older
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
7
8
9
	Allowed_Processor_Binding_Class:
		inherit list of classifier (processor, virtual processor, system)
		applies to (thread, thread group, process, system, virtual processor, device);
10

11
12
	Allowed_Processor_Binding: inherit list of reference (processor, virtual processor, system)
		applies to (thread, thread group, process, system, virtual processor, device);
13

14
15
	Actual_Processor_Binding: inherit list of reference (processor, virtual processor)
		applies to (thread, thread group, process, system, virtual processor, device);
16

17
18
19
	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);
20

21
22
	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);
23

24
25
	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);
26

27
28
	Allowed_Connection_Binding_Class:
		inherit list of classifier (processor, virtual processor, bus, virtual bus, device, memory)
29
		applies to (feature, connection, thread, thread group, process, system, virtual bus, port); -- XXX added port
30

31
32
	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);
33

34
35
	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);
36

37
38
	Allowed_Subprogram_Call: list of reference (subprogram)
		applies to (subprogram access);
39

40
41
	Actual_Subprogram_Call: reference (subprogram)
		applies to (subprogram access);
42

43
44
45
	Allowed_Subprogram_Call_Binding:
		list of reference (bus, processor, device)
		applies to (subprogram, thread, thread group, process, system);
46

47
48
	Actual_Subprogram_Call_Binding: list of reference (bus, processor, memory, device)
		applies to (subprogram);
49

50
51
	Provided_Virtual_Bus_Class: inherit list of classifier (virtual bus)
		applies to (bus, virtual bus, processor, virtual processor, device, memory, system);
52

53
54
	Required_Virtual_Bus_Class: inherit list of classifier (virtual bus)
		applies to (virtual bus, connection, port, thread, thread group, process, system, device);
55

56
57
	Provided_Connection_Quality_Of_Service: inherit list of Supported_Connection_QoS
		applies to (bus, virtual bus, processor, virtual processor, system, device, memory);
58

59
60
61
	Required_Connection_Quality_Of_Service: inherit list of Supported_Connection_QoS
		applies to (port, connection, virtual bus, thread, thread group, process, system, device);

62
63
64
65
66
67
68
69
70
71
	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);

72
73
74
75
76
77
	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);
78

79
80
	Allowed_Dispatch_Protocol: list of Supported_Dispatch_Protocols
		applies to (processor, virtual processor);
81

82
83
	Allowed_Period: list of Time_Range
		applies to (processor, system, virtual processor);
84

85
86
	Allowed_Physical_Access_Class: list of classifier (device, processor, memory, bus)
		applies to (bus);
87

88
89
	Allowed_Physical_Access: list of reference (device, processor, memory, bus)
		applies to (bus);
90

91
92
	Memory_Protocol: enumeration (execute_only, read_only, write_only, read_write) => read_write
		applies to (memory);
93
94

	Runtime_Protection_Support : aadlboolean
95
96
97
98
   		applies to (processor, virtual processor);

	Scheduling_Protocol: inherit list of Supported_Scheduling_Protocols
		applies to (virtual processor, processor);
99

100
101
	Preemptive_Scheduler: aadlboolean
		applies to (processor);
102

103
104
	Thread_Limit: aadlinteger 0 .. Max_Thread_Limit
		applies to (processor, virtual processor);
105

106
107
	Priority_Map: list of Priority_Mapping
		applies to (processor);
108

109
110
111
	Priority_Mapping: type record (
		Aadl_Priority: aadlinteger;
		RTOS_Priority: aadlinteger;);
112

113
114
	Priority_Range: range of aadlinteger
		applies to (processor, virtual processor);
115
116
117
118
119
120
121
122

        -- properties related to the setting of custom environment variables per deployment targe 
        -- since AADL doesn't appear to have the notion of a board (e.g. GR712) we will for now
        -- add multiple "pseudo-CPUs" (e.g. gr712, gr740, etc) and have a per-CPU EnvVar settings
        -- (so that e.g. RTEMS_MAKEFILE_PATH is set properly)
	EnvVars: aadlstring
		applies to (processor);

123
end Deployment_Properties;