DeploymentView.aadl 6.92 KB
Newer Older
1
2
3
4
5
6
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
---------------------------------------------------
-- AADL2.1
-- TASTE type deploymentview
-- 
-- generated code: do not edit
---------------------------------------------------

PACKAGE deploymentview::DV::Node1
PUBLIC

WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
WITH deploymentview::DV;
WITH Memory_Properties;
WITH ARINC653;
PROCESS part1
END part1;

PROCESS IMPLEMENTATION part1.others
END part1.others;

VIRTUAL PROCESSOR part1_VP
PROPERTIES
  Deployment::Execution_Platform => AIR;
  ARINC653::Partition_Identifier => 0;
END part1_VP;

VIRTUAL PROCESSOR IMPLEMENTATION part1_VP.others
END part1_VP.others;

PROCESS part2
END part2;

PROCESS IMPLEMENTATION part2.others
END part2.others;

VIRTUAL PROCESSOR part2_VP
PROPERTIES
  Deployment::Execution_Platform => AIR;
  ARINC653::Partition_Identifier => 1;
END part2_VP;

VIRTUAL PROCESSOR IMPLEMENTATION part2_VP.others
END part2_VP.others;

PROCESS part3
END part3;

PROCESS IMPLEMENTATION part3.others
END part3.others;

VIRTUAL PROCESSOR part3_VP
PROPERTIES
  Deployment::Execution_Platform => AIR;
  ARINC653::Partition_Identifier => 2;
END part3_VP;

VIRTUAL PROCESSOR IMPLEMENTATION part3_VP.others
END part3_VP.others;

PROCESS part4
END part4;

PROCESS IMPLEMENTATION part4.others
END part4.others;

VIRTUAL PROCESSOR part4_VP
PROPERTIES
  Deployment::Execution_Platform => AIR;
  ARINC653::Partition_Identifier => 3;
END part4_VP;

VIRTUAL PROCESSOR IMPLEMENTATION part4_VP.others
END part4_VP.others;

MEMORY main_memory
END main_memory;

MEMORY IMPLEMENTATION main_memory.others
SUBCOMPONENTS
  part1_Segment : MEMORY deploymentview::DV::partition_memory.others {
    Base_Address => 16#200000#;
    Memory_Size => 16#200000#Bytes;
    Byte_Count => 16#200000#;
  };
  part2_Segment : MEMORY deploymentview::DV::partition_memory.others {
    Base_Address => 16#500000#;
    Memory_Size => 16#200000#Bytes;
    Byte_Count => 16#200000#;
  };
  part3_Segment : MEMORY deploymentview::DV::partition_memory.others {
    Base_Address => 16#700000#;
    Memory_Size => 16#200000#Bytes;
    Byte_Count => 16#200000#;
  };
  part4_Segment : MEMORY deploymentview::DV::partition_memory.others {
    Base_Address => 16#900000#;
    Memory_Size => 16#200000#Bytes;
    Byte_Count => 16#200000#;
  };
END main_memory.others;

END deploymentview::DV::Node1;

PACKAGE deploymentview::DV
PUBLIC

WITH interfaceview::IV::hello;
WITH interfaceview::IV::read;
WITH interfaceview::IV::Function1;
WITH interfaceview::IV::Function2;
WITH ocarina_processors_leon;
WITH ARINC653;
WITH deploymentview::DV::Node1;
WITH Taste;
WITH Deployment;
WITH interfaceview::IV;
WITH TASTE_DV_Properties;
MEMORY partition_memory
END partition_memory;

MEMORY IMPLEMENTATION partition_memory.others
END partition_memory.others;

SYSTEM Node1
END Node1;

SYSTEM IMPLEMENTATION Node1.others
SUBCOMPONENTS
  IV_hello : SYSTEM interfaceview::IV::hello::hello.others {
    Taste::FunctionName => "hello";
  };
  part1 : PROCESS deploymentview::DV::Node1::part1.others {
    Taste::coordinates => "110727 64773 138242 76218";
    Deployment::Port_Number => 0;
  };
  part1_VP : VIRTUAL PROCESSOR deploymentview::DV::Node1::part1_VP.others {
    Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
    ARINC653::DAL => LEVEL_A;
  };
  IV_read : SYSTEM interfaceview::IV::read::read.others {
    Taste::FunctionName => "read";
  };
  part2 : PROCESS deploymentview::DV::Node1::part2.others {
    Taste::coordinates => "110548 78423 139209 88029";
    Deployment::Port_Number => 0;
  };
  part2_VP : VIRTUAL PROCESSOR deploymentview::DV::Node1::part2_VP.others {
    Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
    ARINC653::DAL => LEVEL_A;
  };
  IV_Function1 : SYSTEM interfaceview::IV::Function1::Function1.others {
    Taste::FunctionName => "Function1";
  };
  part3 : PROCESS deploymentview::DV::Node1::part3.others {
    Taste::coordinates => "111857 89459 132523 99066";
    Deployment::Port_Number => 0;
  };
  part3_VP : VIRTUAL PROCESSOR deploymentview::DV::Node1::part3_VP.others {
    Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
    ARINC653::DAL => LEVEL_A;
  };
  IV_Function2 : SYSTEM interfaceview::IV::Function2::Function2.others {
    Taste::FunctionName => "Function2";
  };
  part4 : PROCESS deploymentview::DV::Node1::part4.others {
    Taste::coordinates => "112859 101512 135861 114493";
    Deployment::Port_Number => 0;
  };
  part4_VP : VIRTUAL PROCESSOR deploymentview::DV::Node1::part4_VP.others {
    Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol);
    ARINC653::DAL => LEVEL_A;
  };
  proc1 : PROCESSOR ocarina_processors_leon::leon3.AIR {
    Taste::coordinates => "107288 59305 143724 118720";
  };
  main_memory : MEMORY deploymentview::DV::Node1::main_memory.others;
PROPERTIES
  Taste::APLC_Binding => (reference (part1)) APPLIES TO IV_hello;
  Actual_Processor_Binding => (reference (proc1)) APPLIES TO part1_VP;
  Actual_Processor_Binding => (reference (part1_VP)) APPLIES TO part1;
  Actual_Memory_Binding => (reference (main_memory.part1_Segment)) APPLIES TO part1;
  Taste::APLC_Binding => (reference (part2)) APPLIES TO IV_read;
  Actual_Processor_Binding => (reference (proc1)) APPLIES TO part2_VP;
  Actual_Processor_Binding => (reference (part2_VP)) APPLIES TO part2;
  Actual_Memory_Binding => (reference (main_memory.part2_Segment)) APPLIES TO part2;
  Taste::APLC_Binding => (reference (part3)) APPLIES TO IV_Function1;
  Actual_Processor_Binding => (reference (proc1)) APPLIES TO part3_VP;
  Actual_Processor_Binding => (reference (part3_VP)) APPLIES TO part3;
  Actual_Memory_Binding => (reference (main_memory.part3_Segment)) APPLIES TO part3;
  Taste::APLC_Binding => (reference (part4)) APPLIES TO IV_Function2;
  Actual_Processor_Binding => (reference (proc1)) APPLIES TO part4_VP;
  Actual_Processor_Binding => (reference (part4_VP)) APPLIES TO part4;
  Actual_Memory_Binding => (reference (main_memory.part4_Segment)) APPLIES TO part4;
  ARINC653::Module_Major_Frame => 1000ms APPLIES TO proc1;
  ARINC653::Module_Schedule => (
	[ Partition => reference(part1_VP);
	  Duration => 200ms;
	  Periodic_Processing_Start => False; ],
	[ Partition => reference(part3_VP);
	  Duration => 200ms;
	  Periodic_Processing_Start => False; ],
	[ Partition => reference(part4_VP);
	  Duration => 200ms;
	  Periodic_Processing_Start => False; ],
	[ Partition => reference(part2_VP);
	  Duration => 200ms;
	  Periodic_Processing_Start => False; ]
) APPLIES TO proc1;
END Node1.others;

SYSTEM deploymentview
END deploymentview;

SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
  Node1 : SYSTEM Node1.others {
    Taste::coordinates => "102989 51494 145980 121545";
  };
  interfaceview : SYSTEM interfaceview::IV::interfaceview.others;
END deploymentview.others;

PROPERTIES
  Taste::coordinates => "0 0 297000 210000";
  Taste::version => "2.0";
  Taste::interfaceView => "InterfaceView.aadl";
  Taste::HWLibraries => ("../../../../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;