-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReadme.txt
355 lines (232 loc) · 10.5 KB
/
Readme.txt
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
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
GERTICO Version $Name: $
===============================================================================
Installation (Windows)
===============================================================================
Extract the GERTICO installation file from the *.zip file
Execute the installation:
for Release:
Release\setup.exe
for Debug:
Debug\setup.exe
Follow the steps to install GERTICO until the choice of installation folder:
default: [ProgramFilesFolder]\FHG\GERTICO\
Continue install until completion.
Set global variables:
set GERTICO=[ProgramFilesFolder]\FHG\GERTICO
set PATH=%PATH%;%GERTICO%\bin
===============================================================================
GERTICOconf.xml
===============================================================================
After Installation is complete, the GERTICOconf.xml file should be checked to
reflect the local requirements
1. Naming Service
-----------------
1.1 endPoint
------------
The name of the computer where NamingService runs is specified.
Windows
-------
a) NamingService, GERTICO and Federates all on one computer
<endPoint>corbaloc:iiop:localhost:3000</endPoint>
b) NamingService, GERTICO and Federates on several computers
<endPoint>corbaloc:iiop:myHost.de:3000</endPoint>
or
<endPoint>corbaloc:iiop:12.34.56.78:3000</endPoint>
Linux
-----
<endPoint>corbaloc:iiop:myHost.de:3000</endPoint>
or
<endPoint>corbaloc:iiop:12.34.56.78:3000</endPoint>
1.2 rootEntry
-------------
When several GERTICO Processes are started, different names
have to be used for the Root Entry im NamingService.
<rootEntry>GeRTI</rootEntry>
or
<rootEntry>GeRTItwo</rootEntry>
2. Crash_ResignAction
---------------------
When a Federate crashes, the ResignAction which will be used in
ResignFederationExecution for this federate is specified here.
Value HLA1.3 Semantic IEEE1516 Semantic
---- --------------- -----------------
unconditionallyDivestAttributes RELEASE_ATTRIBUTES unconditionallyDivestAttributes
deleteObjects DELETE_OBJECTS deleteObjects
cancelPendingOwnershipAcquisitions NO_ACTION cancelPendingOwnershipAcquisitions
deleteObjectsThenDivest DELETE_OBJECTS_AND_RELEASE_ATTRIBUTES deleteObjectsThenDivest
cancelThenDeleteThenDivest DELETE_OBJECTS_AND_RELEASE_ATTRIBUTES cancelThenDeleteThenDivest
noAction NO_ACTION noAction
3. DataLength
-------------
When a value of DataLength greater than 1 is given, the events (Update oder
SendInteraction) will be buffered in LRC until this length or the
TransmissionWait_ms is exceeded. Then the available events will be sent
in one bundle.
When a value of DataLength equal to 0 or 1 is given, each event will be
sent individually LRC to GERTICO.
4. DTDfile
----------
Not used.
5. LogicalTime1516 (ignored by 1.3)
-----------------------------------
Specifies the name of the logical time library.
Windows
-------
The extension .dll will be added automatically
Linux
-----
The prefix lib and the extension .so will be added automatically
6. ModelPath
------------
Search path for FOM / SOM files. Several paths may be specified - the
firstpath with a valid file will be used. A macro in the form $(macro)
may be used.
7. SyncScope
------------
The CORBA QoS (Quality of Service) is specified here.
Value CORBA QoS actually used
---- -----------------------
SYNC_NONE SYNC_NONE
SYNC_WITH_TRANSPORT SYNC_WITH_TRANSPORT
SYNC_WITH_SERVER SYNC_WITH_SERVER
SYNC_WITH_TARGET SYNC_WITH_TARGET
The value SYNC_WITH_TRANSPORT has been found to provide the best results.
8. TransmissionWait_ms
----------------------
When DataLength greater than 1 is specified, a watchdog is started and
this will send, after this transmission wait time (in ms), all available
events to the GERTICO process.
===============================================================================
Starting the naming service (Windows)
===============================================================================
in %GERTICO%\scripts execute:
In general, on the host <host_name> (same as in GERTICOconf.xml) use the command:
startNS.bat <host_name>
to start the naming service
In particular, for naming service, GERTICO and all federates on one host use the
command:
startNS.bat
===============================================================================
Overview of the GERTICO Module
===============================================================================
Build: Project files GERTICO
EventMarket: Implementation of the event channel
FedTime: Implementation of a 1.3 time library
FedTime1516: Implementation of a 1516 time library
FedTime1516PSISA: Implementation of a 1516 time library
Gal: "GERTICO Application Logging" Logging module
GalRes: Resource files for Gal
GeRti: GeRti Server
GeRtiTime: Time Management Module
LRC: Local RTI Component
Federate-side Module
LRC/HLASpec: LRC Mapping of the HLA 1.3 Interface Specification
LRC/HLA1516: LRC Mapping of the HLA IEEE1516 Interface Specification
OMT_XML: XML Parser Module (Version 2.0.0)
Util: Utility functions.
bin: In the Binary Distribution, contains the necessary libraries and
utility programs.
doc: Documentation
(unfortunately not up-to-date in all parts)
idl: GERTICO internal CORBA interfaces
include: Standard 1.3/1516 header files to be included
samples: Some sample applications
scripts: Useful shell scripts
===============================================================================
GERTICO compilation for Linux
===============================================================================
1. Setting the global variables
-------------------------------
The following global variables must be set:
$GERTICO: Must be the Top-Level GERTICO installation directory
$ACE_ROOT: Is defined as with the ACE Installation
$TAO_ROOT: Is defined as with the TAO Installation
$XERCESCROOT: Points to the Top-Level directory which contains
the lib and include directories
The current versions are available from the following URL:
http://xml.apache.org/dist/xerces-c/stable/
2. Compilation
--------------
On the top level, set off the make command:
> cd $GERTICO
For 1.3
> make install
For 1516
> make -f Makefile1516 install
===============================================================================
GERTICO compilation for Windows (MS-Visual C++ VC8.0)
===============================================================================
Project files:
%GERTICO%\Build\VC8\Build.sln
===============================================================================
IMPORTANT Notes
===============================================================================
1) If dynamic Netwerk Addressing is not used, then the address resolution files
/etc/hosts (Linux)
and
%SystemRoot%\system32\drivers\etc\hosts (Windows)
must be correct.
2) The %GERTICO%\GERTICOconf.xml must contain the Hostname of the computer
where the CORBA Naming Service is running. (It is only possible under Windows
where Naming Service, gerti and all Federates are running on the same
computer that the "localhost" option can be used.)
3) Loading libraries:
Linux: $GERTICO/lib must be contained in $LD_LIBRARY_PATH
Windows: %GERTICO%\bin must be contained in %path%
===============================================================================
Starting the HelloWorld example (1.3 only)
===============================================================================
1. Starting Naming Service
-------------------------------
The Naming Service of the GERTICO distribution may be used. The TAO NamingService
must be started with a defined Port ID:
> $GERTICO/bin/Naming_Service -ORBEndpoint iiop://localhost:3000 -d
(the -d option is optional to control whether NamingService displays logging messages)
> $GERTICO/bin/nslist -ORBInitRef NameService=corbaloc:iiop:localhost:3000/NameService
This ORBEndpoint must also be entered in the GERTICO configuration file GERTICOconf.xml.
2. Starting GeRti server
----------------------------
The GeRti server must be started in a directory, in which the XML Fed-files
and the HLA.dtd file are present. Note: the GERTICOconf.xml may be changed to allow
for a list of directories to be searched
Linux:
For 1.3
$GERTICO/bin/gerti13
For 1516
$GERTICO/bin/gerti1516
Windows:
For 1.3
%GERTICO%\bin\GeRti13.exe
For 1516
%GERTICO%\bin\GeRti1516.exe
3. Starting HelloWorld federates
-----------------------------------
The HelloWorld example is taken from the RTI 1.3NGv3 Distribution
and uses the following parameters:
helloWorld <Country Name> <Initial Population> [<Number of Ticks>]
where
Country Name: an arbitrary country name,
Initial Population: an arbitrary positive number and
Number of Ticks: optional - the number of cycles to run
Thus the following commands (example) are required per federate:
> cd $GERTICO/LRC/HLASpec/App/helloWorld
> helloWorld fedA 100 1000
===============================================================================
Installation of ACE/TAO
===============================================================================
GERTICO uses a standard installation von ACE/TAO for its internal communication.
The complete installation instructions are found in $ACE_ROOT/Install.html
In particular, the following steps are required (Linux):
1. Set global variable $ACE_ROOT
2. Create Link: ace/config.h -> config-linux.h
3. Create Link: include/makeinclude/platform_macros.GNU -> platform_linux.GNU
4. Set LD_LIBRARY_PATH to $ACE_ROOT/ace
5. Do make in $ACE_ROOT
6. Set global variable $TAO_ROOT
7. Do make in $TAO_ROOT
===============================================================================
Installation of XERCES
===============================================================================
GERTICO uses a standard XERCES distribution without any changes.
The Source-Code Distribution was used, and the build instructions
in the XERCES Documentation were followed.