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
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
|
USER VISIBLE CHANGES BETWEEN CIAO-1.2.0 and CIAO-1.2.1
=======================================================
USER VISIBLE CHANGES BETWEEN CIAO-1.1.9 and CIAO-1.2.0
=======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-1.1.8 and CIAO-1.1.9
=======================================================
. Improved support of DDS4CCM with OpenDDS as underlying
DDS implementation
USER VISIBLE CHANGES BETWEEN CIAO-1.1.7 and CIAO-1.1.8
=======================================================
. Added type_name attribute to DDS4CCM TopicBase connector
. Fixed a few code generation bugs
USER VISIBLE CHANGES BETWEEN CIAO-1.1.6 and CIAO-1.1.7
=======================================================
. Added support for RTI DDS 5.0.0 rev00
USER VISIBLE CHANGES BETWEEN CIAO-1.1.5 and CIAO-1.1.6
=======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-1.1.4 and CIAO-1.1.5
=======================================================
. Added basic hello world example
USER VISIBLE CHANGES BETWEEN CIAO-1.1.3 and CIAO-1.1.4
=======================================================
. The CIAO DDS4CCM integration with OpenDDS has been reworked in a way
that OpenDDS doesn't know anything anymore from CIAO. In order to use
DDS4CCM with OpenDDS you need OpenDDS 3.3 or higher.
USER VISIBLE CHANGES BETWEEN CIAO-1.1.2 and CIAO-1.1.3
=======================================================
. DDS4CCM with OpenDDS 3.2 or higher now can use the QoS XML files. The DDS4CCM
profile#library convention is handled as filename#profile.
. Further extended and improved support for OpenDDS as DDS vendor. Several
unit tests have been updated to wait for DDS status callbacks in order
to start the test instead of starting on ccm_activate
. Refactored domain participant re-use in DDS4CCM. Domain participant re-use
was initially implemented for RTI DDS but now it's available for other DDS
vendors as well.
. Added support for so called service components which are available through
the component context using resolve_service_reference. Service components
are deployed as regular components, but are installed by the installation
handler (see the TTSCTest test) or they install themselves into the service
registry (see TTSConnContext). These components can be seen as container
plugins which are going to be used for various extensions without causing the
container to be huge and unmaintainable
. Removed preliminary support for the extension container
USER VISIBLE CHANGES BETWEEN CIAO-1.1.1 and CIAO-1.1.2
=======================================================
. Added support for DDS4CCM with OpenDDS 3.2 or higher as DDS implementation.
At this moment basic integration has been completed, all tests/examples do
compile and part of them do run. To be added are support for the QoS XML files
and the sharing of domain participants between connectors when using OpenDDS.
After these extensions have been implemented we will analyze and resolve
the test failures
USER VISIBLE CHANGES BETWEEN CIAO-1.1.0 and CIAO-1.1.1
=======================================================
. Fixed problem with component sequence attributes
. Minor bug fixes
. Generated starter executors with -Gex have much more doxygen documentation
being generated
USER VISIBLE CHANGES BETWEEN CIAO-1.0.8 and CIAO-1.1.0
=======================================================
. Added support for new ciao config property "edu.vanderbilt.dre.CIAO.OpenMode"
which controls the mode that is used to load the shared libraries for
a home or component. By default we use ACE_DEFAULT_SHLIB_MODE
USER VISIBLE CHANGES BETWEEN CIAO-1.0.7 and CIAO-1.0.8
=======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-1.0.6 and CIAO-1.0.7
=======================================================
. -Glfa has been removed from tao_idl. The local executor mapping can only
be generated for the current file. Also at the moment an interface is
compiled with tao_idl, the option -Gsv has to be used to generate the needed
CCM facet servant
. CIAO now supports the synchronous port and the ami4ccm lem pragma as
documented in the AMI4CCM Initial submission by Remedy IT (mars/11-06-01)
. Homes are now functional for connectors
USER VISIBLE CHANGES BETWEEN CIAO-1.0.5 and CIAO-1.0.6
=======================================================
. It is now possible to connect connections in a deployment plan
at deployment time instead of connecting them on first use.
This can be established by setting the CIAO_PRE_ESTABLISH_CONNECTIONS
define in your config.h.
. The DDS4CCM connector now only creates a DDS subscriber or
DDS publisher when they are needed. Previously, the DDS4CCM
always created a DDS publisher and DDS subscriber, regardless
of need.
. Besides late binding, it is now possible to reset the topic
name in the DDS4CCM connector. This means that the DDS4CCM
connector is able to switch between topics of the same data
type at runtime. Resetting a topic name means that DDS will
be closed down and started again, using the new topic name.
On the outside, all connections to and from the connector
stay intact; therefor the user doesn't need to re-establish
the connections again. Please see
$CIAO_ROOT/connectors/dds4ccm/tests/ResetTopic/README for
more info. This directory also contains some examples on how
to reset a topic name.
Since this is not spec-compliant behavior, an issue has been be
raised on the DDS4CCM specification.
. Improved thread safety in the CIAO core.
. Direct collocation between components is now supported. In order to enable
this add ccm_direct_collocation=1 to your default.features. We do recommend
to use the new -ORBCollocationStrategy best which does not require all
user components to be compiled with direct collocation enabled. Enabling
direct collocation does increase the size of the generated code
. All facet servants are now generated in the new _svnt_T.{h,cpp} files. This
is a first step in more refactoring in the CIAO servants. Together with the
TAO skeleton refactoring the skeleton for the Null_Component example decreased
from 40206 bytes to 24971 bytes, the generated servant from 56959 bytes to
54933 bytes. The skeleton for the related Null_Interface reduced from
9559 bytes to 4526 bytes.
. Added support for DDS4CCM using RTI DDS 4.5e on RHEL 6.1
USER VISIBLE CHANGES BETWEEN CIAO-1.0.4 and CIAO-1.0.5
=======================================================
USER VISIBLE CHANGES BETWEEN CIAO-1.0.3 and CIAO-1.0.4
=======================================================
. The thread switch feature in DDS4CCM now requires that
ACE_HAS_REACTOR_NOTIFICATION_QUEUE is enabled.
USER VISIBLE CHANGES BETWEEN CIAO-1.0.2 and CIAO-1.0.3
=======================================================
. DDS4CCM now compiles with OpenDDS integration enabled. This will not run
because several methods in the core of DDS4CCM are still commented out.
. The display example has been upgraded to Qt4 and has been made functional
again
. The hello example has been updated to the latest implementation guidelines
USER VISIBLE CHANGES BETWEEN CIAO-1.0.1 and CIAO-1.0.2
=======================================================
. Generate servant code for facets and receptacles is now thread safe, the
code for consumers/publishers/emitters still have some thread safety issues
and a possible deadlock
. Improved disconnect of connections in general and extended our test suite
for that
. Restructured base projects for dds4ccm to make a clear distinction between
plain ndds and our idl to cpp wrapper around it
. Validated with ndds 4.5drev03
. Added serialize_key_with_dispose and propagate_dispose_of_unregistered_instances
as BOOLEAN_TRUE to the DDS QoS xml file for several tests to always get
the key of the sample in the on_deletion callback
. The logging service now supports custom backends. These are enabled
using CIAO_LOG_BACKEND. Please see the DAnCE NEWS file for more
details. DDS4CCM also supports the custom backend service,
initialized with DDS4CCM_LOG_BACKEND.
USER VISIBLE CHANGES BETWEEN CIAO-1.0.0 and CIAO-1.0.1
=======================================================
. Improved disconnect of Simplex/Multiple facets and receptacles.
. Improved disconnect of consumers and publishers.
. Resolved some memory leaks in the DDS4CCM library. Therefor a lot of tests were
rewritten, using the generated executor implementation.
. Improved doxygen documentation.
. Improved IDL to C++ wrapper for NDDS. Therefor one is able to create a NDDS only
application without using the DDS4CCM connector itself. See
$CIAO_ROOT/connectors/dds4ccm/examples/IDL2CPPWrapper for an example of such an
application.
. Improved the DDS4CCM connector so that the user is able to implement his/her own
connector.
See $CIAO_ROOT/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp/h
for an implementation of such a connector.
. Improved the DDS4CCM connector so that it can handle more than one topic.
See $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/ for an implementation
of such a connector.
USER VISIBLE CHANGES BETWEEN CIAO-0.8.3 and CIAO-1.0.0
=======================================================
. Implemented 'LateBinding' in the DDS4CCM connector.
This means that the DDS entities will NOT be created and initialized
when the topic name is empty at deployment time (e.g. the topic_name
is empty in the deployment plan).
The DDS entities will be created and initialized once the topic name is
set at run time.
. Reworked dds4ccm core to make it easier to implement custom dds4ccm
connectors. Any already written custom dds4ccm connectors will need to be
updated because of changes in the C++ template signature and the internal
classes.
. Improved dds4ccm logging
. AMI4CCM reply handler is now generated for any user component that uses
AMI4CCM, not with the AMI4CCM connector anymore
USER VISIBLE CHANGES BETWEEN CIAO-0.8.2 and CIAO-0.8.3
=======================================================
. Tests for the Component Implementation Framework have been added.
Because of this, two methods ('get_named_receptacles' and
'get_connections') off the receptacle interface were implemented
in the CCM core.
. DAnCE has been made an entirely separate product from CIAO, and has
been moved from ACE_wrappers/TAO/CIAO/DAnCE to
ACE_wrappers/TAO/DAnCE.
. A new option has been added to the TAO IDL compiler. This option
extends the -Gex option. When applying -Gexr, the TAO IDL compiler
will generate an extra method which retrieves the ACE_Reactor from
the ORB. One should use this option when an ACE_reactor. In code,
use 'this->reactor ()' to get the ACE_Reactor. A CORBA::INTERNAL
exception is thrown when the ACE_Reactor cannot be retrieved.
The goal of this method is to prevent memory leaks.
. The DDS4CC connector now has its own logging level. This log level
can only be set using an environment variable, called DDS4CCM_LOG_LEVEL.
The following log levels are defined:
- DDS4CCM_LOG_LEVEL_ERROR 1
- DDS4CCM_LOG_LEVEL_CAST_ERROR 2
- DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN 3
- DDS4CCM_LOG_LEVEL_4 4 //unused
- DDS4CCM_LOG_LEVEL_5 5 //unused
- DDS4CCM_LOG_LEVEL_ACTION 6
- DDS4CCM_LOG_LEVEL_UNIMP_ACTION 7
- DDS4CCM_LOG_LEVEL_ACTION_STARTING 8
- DDS4CCM_LOG_LEVEL_CAST_SUCCESSFUL 9
- DDS4CCM_LOG_LEVEL_DDS_STATUS 10
. Started the implementation of the Qos4CCM specification.
Therefor an Extension Container has been added to CIAO.
For now its possible to register the various interceptors
(Client, Server, Servant and Stub interceptors) with an Extension
Container (see $CIAO_ROOT/tests/COPI/Registration/Client).
At this moment, DAnCE is unable to deploy an Extension Container
'out of the box'. If the DANCE_DEPLOYS_EXTENSION_CONTAINER define
in config.h is set, DAnCE will deploy only Extension Containers
(and no Session Containers). In the future, DAnCE should be able
to deploy Extension Containers via a Deployment plan.
. Added nddsmonitor as MPC feature to enable linking with the rtimonitor
library
. Resolved several memory leaks in CIAO/DAnCE/DDS4CCM
. The tao_idl option -Gex now also generates a member and implemented set/get
methods for attributes defined in components
. Added mpc feature ccm_noevent which disable the CORBA event support in
the core libraries and generated code
. Implemented disconnect for local facets
USER VISIBLE CHANGES BETWEEN CIAO-0.8.1 and CIAO-0.8.2
=======================================================
. Separate lifecycle of the dds4ccm connector and its facets
. Improved dds4ccm logging
. Fixed several memory leaks in CIAO and DAnCE
. Destructors for component executors prior to this release were never
invoked. This bug has been fixed, and component executors are now
properly destructed.
. Installation handlers, deployment interceptors, and locality
configurators are now loaded at run-time instead of statically
configure at compile time. This is accomplished with the use of
a locality configuration file passed on the command line. Please
see CIAO/examples/Hello/descriptors/run_test_shs.pl and
DAnCE/tests/CIAO/Executor-Destructors/Component.cdp for examples of
how to pass this file to the locality manager. The default locality
configuration is loaded from DAnCE/bin/ciao.localityconfig. Please
see documentation located in DAnCE/docs/localityManager-Plugins.txt.
. Names for operations in the deployment interceptors have changed
slightly to remove the 'instance_' prefix on all operation
names. Please see DAnCE/DAnCE/DAnCE_DeploymentInterceptors.idl.
. Deployment interceptors have a new operation that is invoked when
unexpected events occur. This is currently only invoked when the
NodeApplication receives notification that a locality manager has
exited unexpectedly.
. A locality configurator that sets the process priority has been
included.
USER VISIBLE CHANGES BETWEEN CIAO-0.8.0 and CIAO-0.8.1
=======================================================
. Implemented _get_component for AMI4CCM
. Implemented resetting of Query Conditions in the
DDS4CCM connector. This according to the beta 3
specification.
. Added a preliminary System Health and Status Service. Please see
DAnCE/tools/System_Health. This has two parts: there is the
interceptor, which publishes instance status updates using a
strategizeable transport protocol (included in this release is a
simple CORBA transport plugin), and there is the dance_shs_daemon.
A test which uses the SHS service is
CIAO/examples/Hello/descriptors/run_test_shs.pl.
. Added a new configuration plugin facility to the LocalityManager.
This faciliy will invoke configuration plugins based on
configProperties attached to an explicitly deployed LocalityManager
instance. Included plugins are one for CPU Affinity, and another
for setting the locality manager process name. Both work only under
Linux 2.6 and later. Please see
DAnCE/tests/LocalityManager/ProcessName and
DAnCE/tests/LocalityManager/CPUAffinity for information on how to
use these plugins.
. There is a known bug when running some of the LocalityManager tests
(DAnCE/tests/LocalityManager), in which an attempt to tear down a
locality manager with no installed components results in a memory
access violation. This will be fixed in CIAO 0.8.2.
USER VISIBLE CHANGES BETWEEN CIAO-0.7.9 and CIAO-0.8.0
=======================================================
. Generalized DDS4CCM connector support to allow user-defined
DDS4CCM connectors
. Added support for structs in the deployment plan
. Updated DDS4CCM to the beta 3 specification which includes
- explicit support for ContentFilterTopics
- porttype may contain attributes
- all sequence are now inout instead of out
- DDS vendors can deliver their own partial template specialization to
handle differences between vendors
. Completed AMI4CCM support
. Added tutorials for DDS4CCM and AMI4CCM
. Updated Quoter tutorial for the latest CoSMIC release
. The ACE_FOR_TAO MPC feature is not supported anymore for CIAO
. The DeploymentInterceptor interfaces have been merged into
a single interface.
. All currently defined interception points are currently invoked
at the locality level when deploying plans.
. The NodeApplication and LocalitManager have been refactored to use
a thread pool based dispatching system for executing deployment actions.
This allows the NodeApplication to use multiple threads to spawn new
dance_locality_manager processes. The LocalityManager will, for the
time being, be restricted to using only the ORB thread for dispatching
deployment events.
. Most deployment errors are now passed to installed deployment interceptors.
DAnCE will include interceptors for extant semantics (first failure) and
initial support for best effort semantics, whereby deployment failures are
logged by otherwise ignored.
. An Artifact Installation framework has been added to DAnCE and integrated
into the NodeApplication.
The framework provides a plugin system for installation handlers and a
pluggable local node installation repository/cache.
Installation handlers are selected based on the 'scheme' identifiers of
location URLs from installation artifact entities in the deployment plan.
Multiple installation schemes can be nested inside a single location URL
as <scheme>://<scheme>://<resource identification>.
The framework comes with 'file' and 'http' scheme installation handlers
and a simple local filesystem based installation repository/cache.
USER VISIBLE CHANGES BETWEEN CIAO-0.7.8 and CIAO-0.7.9
=======================================================
. CIAO's default makefiles (traditional ACE/GNU, not autoconf/automake)
now support installation with "make install".
Please see the ACE-INSTALL.html file for instructions.
. CIAO now enabled the LwCCM profile by default. This reduces the
size of the generated code and the core libraries significantly.
If you need any of the full CCM features, set ccm_lw=0 in your
default.features file.
. Updated AMI4CCM naming and extended the test suite
. DDS4CCM tests and examples now instantiate the CCM_DDS::Typed module which
gives us the DDS_Event and DDS_State connectors directly without requiring
the user to manually derive a connector from DDS_Event and/or DDS_State
. The way attributes are set from the cdp file onto the components
has changed, any mismatch between the attribute datatype in IDL
and the CDP file will cause to a StartError
. The interpretation of locality constraints in deployment plans has changed
slightly. Previously, any components not explicitly included as part of
a locality group would be installed into their own, seperate locality. Now
they will be installed into an arbitrarily chosen locality on the same node.
. The first version of the DAnCE LocalityManager entity has been added to
the repository. As such, launching components with ciao_componentserver
is no longer supported, and dance_locality_manager should be used instead
as the component server argument to dance_node_manager.
. The way explicitly homed components are represented in deployment plans
has changed. The <implementation> section needs to have an execParameter
with name "edu.vanderbilt.dre.DAnCE.ImplementationType" and value
"edu.vanderbilt.dre.CCM.HomedComponent". The <instance> section needs
to have a configProperty with name "edu.vanderbilt.dre.CIAO.ComponentHomeId"
and value is the <name> field of the home that is managing that component.
. The way component server processes are explicitly deployed and passed
command line arguments has changed. The <implementation> field must
have an execParameter named "edu.vanderbilt.dre.DAnCE.ImplementationType"
and value "edu.vanderbilt.dre.DAnCE.LocalityManager". To pass command
line arguments, the instance must have a configProperty named
"edu.vanderbilt.dre.DAnCE.LocalityArguments".
. Connection of emits/publish/consume ports is no longer supported via
externalReference endpoints. Simplex and multiplex facet/receptacle
connections continue to be supported.
. DDS4CCM is compliant to the beta 2 specification, the next micro release
will be updated to match beta 3.
USER VISIBLE CHANGES BETWEEN CIAO-0.7.7 and CIAO-0.7.8
=======================================================
. dance_plan_launcher has been extensively re-factored, resulting in several
new features:
1) dance_plan_launcher may now deploy locality-constrained plans directly to
a NodeManager.
2) dance_plan_launcher now has the ability to deploy CDR encoded deployment
plans in a portable manner.
3) dance_plan_launcher's command line options have been cleaned up to be
more intuitive. The major user-visible change is -q (for application
teardown) has been renamed -s.
4) Most plan_launcher business logic is encapsulated in an implementation
library that may be leveraved by users to write custom executor agents.
. All DDS4CCM callbacks will be deliverd to the user component on the CCM
thread, not on the DDS thread. This does mean a small performance penalty,
if you don't want to get this threadswitch, define CIAO_DDS4CCM_CONTEXT_SWITCH
to zero in your config.h file
. DDS4CCM uses a ContentFilteredTopic to implement the QueryFilter. If you
want to use DDS QueryCondition instead add DDS4CCM_USES_QUERY_CONDITION
as 1 to your config.h file
. The user sequences in our DDS4CCM examples and tests have been updated to use
Seq as postfix instead of _Seq. The RTI DDS specific sequence is now named
with the RTISeq postfix
. DDS4CCM doesn't work anymore with RTI DDS 4.4d, you will need to use at
least 4.5b version with an updated CCK
. AMI4CCM has been partly implemented into TAO_IDL and the Hello example has been
updated. The naming conventions and exact code generated will be reviewed
after this micro release.
. The DDS4CCM connectors do initialize themselves completely after creation,
this does mean that one DDS_Event connector has always 1 writer and 2 readers, also
when you just write samples and don't use read or listen. The latency performance
test shows current an overhead of 10% to 13%, but this does include the additional
readers.
USER VISIBLE CHANGES BETWEEN CIAO-0.7.6 and CIAO-0.7.7
=======================================================
. Reworked MPC support for dds4ccm. If you want to use dds4ccm you need
to obtain the source distribution and for NDDS add dds4ccm_ndds=1 to
your default.features file and generate the project files
. Implemented more dds wrapper calls in the dds4ccm library
. All DDS4CCM connectors are now generated by tao_idl
. Did major cleanup in DAnCE to reduce dependencies and code size
. Fix bug with DAnCE logging that cause the dance_node_manager not
to log any messages
. Extended dds4ccm test suite
. Fixed -Glfa support
. Added a new tool, dance_split_plan, which will allow a user
to split a deployment plan into locality-constrained CDR-encoded deployment
plans.
. Added a new tool, dance_convert_plan, which will allow a user to validate
and optionally convert a XML encoded deployment plan into CDR.
. CIAO and DAnCE logging are silent by default, no messages are printed anymore.
If you want to enable logging use the environment variables CIAO_LOG_LEVEL,
DANCE_LOG_LEVEL, CIAO_TRACE_ENABLE, DANCE_TRACE_ENABLE, DANCE_LOG_FILE,
and CIAO_LOG_FILE. For the executables we have the commandline arguments
-DAnCELogLevel, -DAnCETraceEnable, -DAnCELogFile, -CIAOLogLevel,
-CIAOTraceEnable, and -CIAOLogFile
USER VISIBLE CHANGES BETWEEN CIAO-0.7.5 and CIAO-0.7.6
=======================================================
. Added support for the environment variable DDS4CCM_NDDS_LOG_VERBOSITY.
This controls the ndds verbosity which is default set to silent
. Added support for the DDS State and Event connector with all ports.
A set of tests has been added to test these connectors. We implement
now the biggest part of the recent OMG 09-10-25 specification
. Extended AMI4CCM prototype with the latest ideas. The TAO_IDL compiler
has some hardcoded generation just for Hello example. It has to be
extended to generate the AMI4CCM connector and after that we can
remove the hardcoded generation with the real generation code
. Added support for components/connectors with local interface. In the
cdp a deployRequirement has to be specified for any local connector
. Use the templated module support for dds4ccm
. Added suppor for #pragma ciao lem to handle the issues with the
include of the E.idl file
USER VISIBLE CHANGES BETWEEN CIAO-0.7.4 and CIAO-0.7.5
=======================================================
. Added rudimentary support for PlanLocality, which allows DAnCE to spawn
multiple CIAO processes per node. Currently, only SameProcess
constraints are honored. SameProcess constraints are honored by
creating a separate process per constraint as it appears in the
plan, with the appropriate component instances spawned in each
process.
Constraints are not rigerously checked by the runtime, so behaviour
when a component instance appears in multiple SameProcess
constraints is currently undefined.
Components not appearing in any constraint are placed in a default
component server process.
. DDS4CCM has been updated to match the beta 2 spec. If you want use
a templated module, use TYPED_MODULE macro as helper until the
TAO_IDL compiler supports templated modules
. Updated all DDS4CCM code/examples/tests to match beta 2
. Added Shapes sender/receiver for DDS4CCM
. The configProperty edu.vanderbilt.dre.CIAO.ComponentServer.Executable
can be used in the deployment plan to set a different ciao component
server executable
. The configProperty edu.vanderbilt.dre.CIAO.ComponentServer.Args
can be used in the deployment plan to specify a set of additional
commandline arguments that are than passed to the ciao component
server
. Added support for the environment variable DDS4CCM_DEFAULT_DOMAIN_ID
This influences the default domain id which is set by the connector.
All test deployment plans don't set a domain id, which cause problems
during testing because everyone is in the same domain. Each developer
and build system on the same network should have its own unique id
to get an isolated test environment.
. DDS4CCM qos_profile attribute has to be used as library#profile. If
this is not set, we use default qos
. Removed DDS4CCM monolotic connector because it was not in the spec
USER VISIBLE CHANGES BETWEEN CIAO-0.7.3 and CIAO-0.7.4
=======================================================
. Added second prototype of DDS4CCM that uses the RTI
CORBA Compatibility kit and a monolitic connector
. Extended AMI4CCM prototype
. Update all examples and tests for the changes in the -Glem
TAO_IDL option. The behavior of this option has changed
dramatically, and will require that most user applications be
ported. Previously, -Glem would cause the IDL compiler to generate
a E.idl file containing local executor mapping for all interfaces
provided as ports by any components in the main translation unit.
Therefore, files with interfaces, but no components defined will
have empty E.idl files generated. Similarly, a file with no
interfaces defined, but with components defined would generate LEM
interfaces for interfaces provided by that component but not local
to the file in question. While this behavior simplified a
rudimentary use case where interfaces would be provided by only one
component, more complicated use cases were much more difficult to
achieve.
The new behvior causes the IDL compiler to generate LEM IDL for all
interfaces within a given translation unit, regardless of whether or
not they are provided as ports by a component in the same
translation unit. Futhermore, if a component provides an interface
that is not defined with the translation unit of that compoment, it
is required that the user provide a #include directive to the
appropriate E.idl file which contains the required LEM interface for
the interfaces provided as facets.
This new behavior is similar to the former behavior of -Glfa, and as
such the behavior of -Glfa has been changed to attempt to be
reflective of the old behavior of -Glem, and may be used as a
stopgap backwards compatibility measure.
. In idl3_to_idl2 tool, replaced manual designation of IDL2-only
files and resulting generated include of undecorated filename
(using -x <filename> option) with a mechanism that does it
automatically. The -x option has been eliminated.
USER VISIBLE CHANGES BETWEEN CIAO-0.7.2 and CIAO-0.7.3
=======================================================
. Added a first prototype of DDS4CCM
. Added a first prototype of AMI4CCM
. Made CIAO compiling with unicode enabled
USER VISIBLE CHANGES BETWEEN CIAO-0.7.1 and CIAO-0.7.2
=======================================================
. CIDL compiler, and .cidl files, have been eliminated. All
CIAO code generation is now handled by the TAO IDL compiler.
See $TAO_ROOT/docs/compiler.html for details.
. DAnCE has been refactored in separate libraries to reduce
footprint and dependencies
. Logging has been improved
. IDL has been updated to match the official specifications
. CIAO now also compiles on HPUX
. Unicode improvements
. Updated Quoter tutorial for all recent changes including
the latest CosMIC releases
. Use the new feature of the TAO_IDL compiler to generate all
export files as part of the build step
. Extended CIAO and DAnCE tests
USER VISIBLE CHANGES BETWEEN CIAO-0.7.0 and CIAO-0.7.1
=======================================================
. No user visible changes in this release.
USER VISIBLE CHANGES BETWEEN CIAO-0.6.9 and CIAO-0.7.0
=======================================================
. CIDLC compiler has new command line options: --suppress-lem which will suppress
generation of the local executor mapping, --suppress-svnt which will suppress
generation of the servant code, --lem-enclosing-module which will generate the
local executor mapping inside a given module.
USER VISIBLE CHANGES BETWEEN CIAO-0.6.8 and CIAO-0.6.9
======================================================
. The CIAO refactoring branch has been merged to the main line of
development. This version of CIAO contains extensive refactoring of
the CIAO container code and includes a new version of DAnCE based on
code provided by PrismTech.
. Porting hints may be found at CIAO_ROOT/docs/Porting_Hints.txt
. CIAO no longer supports implicitly homed components. This means that
components must either be deployed using an explicity deployed and
nominated home, or must be deployed without the use of a home.
Unhomed components require new factory methods similar to those used
for homes. These can be obtained by issuing the --gen-exec-impl
operation to the CIDL compiler.
. Extant deployment plans are no longer valid for this version of
DAnCE. Until CoSMIC support is available,
DANCE_ROOT/bin/generate_plan.py may be used to assist in the creation
of well-formed deployment plans.
. Names for most DAnCE executables have changed. Please see the Quoter
tutorial found at CIAO_ROOT/docs/tutorials/Quoter for details.
. DAnCE now supports connection endpoints realized by extra-plan
object references.
. Support for shared components and ReDaC has been removed with no
immediate replacement planned.
. Support for RTEC integration, RT-CCM, RepositoryManager,
TargetManager, and staticly linked depoyment has not yet been ported
to the new CIAO/DAnCE.
. CIAO/DAnCE now supports by Xerces 3.X and 2.X.
. Note that CoSMIC support is not currently available for this version
of CIAO/DAnCE.
USER VISIBLE CHANGES BETWEEN CIAO-0.6.7 and CIAO-0.6.8
======================================================
USER VISIBLE CHANGES BETWEEN CIAO-0.6.6 and CIAO-0.6.7
======================================================
. Added the "CIAO" OCI Development Guide Examples under the directory
/DevGuideExamples. NOTE this is an ongoing port of the original
version x.5.x examples and some are not yet 100% compatiable with the
current version of CIAO.
USER VISIBLE CHANGES BETWEEN CIAO-0.6.5 and CIAO-0.6.6
======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-0.6.4 and CIAO-0.6.5
======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-0.6.3 and CIAO-0.6.4
======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-0.6.2 and CIAO-0.6.3
======================================================
. None
USER VISIBLE CHANGES BETWEEN CIAO-0.6.1 and CIAO-0.6.2
======================================================
. Removed 24 unnecessary builds from the CIAO_TAO_DAnCE.mwc
MPC workspace file
. Changes to the generate_component_mpc.pl Perl scrip, CIDL compiler
generation of empty executor implementation classes, and existing
tests and examples to make servant dependency on executor the
default, instead of vice versa as previously
. Made the processing of IDL and CIDL files into separate build steps
for tests, examples, and for DAnCE's TargetManager
. Added additional tests for CIAOEvents Integration, which executes
several scenarios for components using Real-time EventChannels
as event mechanism.
USER VISIBLE CHANGES BETWEEN CIAO-0.6 and CIAO-0.6.1
====================================================
. Fixed broken static deployment support
USER VISIBLE CHANGES BETWEEN CIAO-0.5.10 and CIAO-0.6.0
=======================================================
. Added support for building CIAO statically with Microsoft Visual C++
. Fixes to idl3_to_idl2 conversion tool, which
- handle the mapping of IDL identifiers that are
escaped (due to a clash with an IDL keyword) or
that clash with a C++ keyword
- handle the mapping of #includes of IDL files
that aren't themselves processed by the tool
USER VISIBLE CHANGES BETWEEN CIAO-0.5.9 and CIAO-0.5.10
=======================================================
. Extended IDL3_to_IDL2
USER VISIBLE CHANGES BETWEEN CIAO-0.5.8 and CIAO-0.5.9
======================================================
. Added a new deployment algorithm to DAnCE for optimization of large
scale deployment. In this algorithm, the number of threads spawned is
based on the deployment plan, i.e, by parsing the deployment plan
information, DAnCE decides how many threads to spawn (one thread per
node). This algorithm knows how to "initialize" each thread since
each thread will have different execution context, i.e., which
components to deploy to which node, component configuration, etc.
. Added a NA component server callback wait strategy in NAM, which uses
conditional variable to signal the NA call back so it can work with
multi-threaded configuration, such as thread-per-connection mode. The
original implementation uses the main thread to run the ORB event
loop, which will not work for multi-threaded environment.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.7 and CIAO-0.5.8
======================================================
. Improved the option handling of the Execution_Manager and plan_launcher.
. Added a utility library to manipulate the deployment plan, such as
adding/removing instances, adding/removing connections, and pretty print.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.6 and CIAO-0.5.7
======================================================
. Removed ACE_THROW_RETURN
. Remove exception specifications from ORB mediated operations (C++
mapping requirement)
. All DAnCE core idl files are moved to DAnCE/Deployment
. QoS4CCM IDL files are moved to ciao/extension
. RACE has been fully removed from the distribution, a new version
is work in progress and will be added again to the distribution
when it is ready
. MPC base projects that contained _dnc_ have been renamed to not
include that string.
. DAnCE executables are now installed into $CIAO_ROOT/bin
. Added a new TAO policy for specifying the DiffServ code points
(DSCP) to be added to request and reply IP packets of an
application. The policy can be added at the following levels: OBJECT,
THREAD, and ORB.
. Extended the CIAOServerResources schema to allow the specification
of request and reply DSCPs to be added to the IP packets of an
application. Extended CIAO NodeApplication libraries, to read the
CIAOServerResources specification, to create DiffServ policies on the
objects, to allow automatic addition of DSCPs on the CCM port
objects.
. Updated the Target Manager interface to comply with the latest OMG
specification. This includes the addition of a new entity,
ResourceCommitmentManager for the management of committed resources.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.5 and CIAO-0.5.6
======================================================
. Updated the Target Manager interface to comply with the latest OMG
specification. This includes the addition of a new entity,
ResourceCommitmentManager for the management of committed resources.
. Removed all exception environment macros except ACE_THROW_RETURN
and ACE_THROW_SPEC
. All CIAO libraries built on UNIX systems will now have the correct library
version numbers. Previously they had the same version numbers as TAO
libraries.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.4 and CIAO-0.5.5
======================================================
. Fixed problems and added command line options to the
generate_component_mpc.pl Perl script. Also added an HTML
documentation file for this script.
. All IDL has been refactored to get a smaller footprint
USER VISIBLE CHANGES BETWEEN CIAO-0.5.3 and CIAO-0.5.4
======================================================
. Adding support to manage multiple interconnected assemblies, which will
involve the work through ExternalReferenceEndPoint idea.
. Seamless integration of swapping into the main line programming model,
so that DAnCE can actually kickstart swapping.
. Integrated real-time event service into CIAO and DAnCE.
. Improved syntax error checking and reporting in the CIDL compiler.
. Add Null Component to be able to measure footprint in detail
. Added the naming service & the implementation of createPackage function
to RepoMan.
. Added the code to save the state of the RepoMan at exit and load the
state of it at start.
. Reimplemented the findNamesByType () and getAllTypes () operations of
RepoMan, which use the newly generated ACE_Hash_MultiMap_Manager class
and its corresponding classes.
. Added Plan_Generator project. This project is used to retrieve information
from Repoman and generate/modify DeploymentPlans based on different demands.
. A succesfull static deployment of the Hello example has been tested on
VxWorks 6.3
USER VISIBLE CHANGES BETWEEN CIAO-0.5.2 and CIAO-0.5.3
======================================================
. Improve documentation for CoSMiC Quoter tutorial to reflect the latest update
. Reimplemented the findNamesByType () and getAllTypes () operations
of Repository Manager, which use the newly generated
ACE_Hash_MultiMap_Manager class and its corresponding classes.
. Added the replace argument in installPackage () and createPackage ()
functions to Repoman and extend the functionalities of these two
functions based on the latest D&C spec.
. Added the Plan_Generator project. This project is used to retrieve
information from Repoman and generate/modify DeploymentPlans based
on different demands. Removed the planner project.
. Added C++ keyword mangling to the CIDL compiler (bug#2427).
. Fixed the CIDL compiler source code to build with Intel C++ (bug#2387).
. Reimplemented the CIDL compiler command line handling to make use
of '--' to separate options from arguments unnecessary (bug#2426).
. Added file and line number to the semantic errors printed by the CIDL
compiler.
. Fixed a number of bugs in the CIDL compiler error handling and recovery
mechanisms.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.1 and CIAO-0.5.2
======================================================
. Changed CIDL compiler code generation for facet servant classes
to enable reuse if the same interface is used as a facet more
than once in a single translation unit.
. Fixed code that fetches component DLL entry points to be portable
across all supported compilers.
. Fixed bugs in the recent implementation of component servant methods
get_all_receptacles() and get_all_publishers().
. Simplified template code in component servant and home servant
base classes.
. Added the naming service & the implementation of createPackage function
to RepoMan.
. Added the code to save the state of the RepoMan at exit and load the
state of it at start.
. A new perl library has been added to the bin directory. PerlCIAO is
a wrapper around PerlACE with extensions to aid in scripting CIAO
tests.
. DAnCE/Planner - a planner which contacts the RepositoryManager, gets a
PackageConfiguration by name, and builds a DeploymentPlan on
the fly. Note that the node information is currently not populated.
. Added two RACE utilities, the LocationUpdater and PlanGenerator.
The LocationUpdater modifies the location field of artifacts in
flattened plans to correspond to HTTP URLs pointing at the
RepositoryManager. The PlanGenerator is the Planner utility
modified to work with RACE. Note that most RACE functionality is
still in development and is not included with this release.
. Added support for parsing packaging descriptors to the
Config_Handlers, and improved support for IDL->XML serialization.
. Added a Planner utility which, when given the name of a package,
will contact the RepositoryManager and construct a flattened
deployment plan on the fly. Note this utility currently does not
populate node assignments.
. Several important bugfixes for ReDaC and shared components.
. Changed Components.idl to include CCM_Component.idl instead of
CCM_Container.idl. This removes a dependancy on the container
library for stub projects.
USER VISIBLE CHANGES BETWEEN CIAO-0.5.0 and CIAO-0.5.1
======================================================
. Added the support of integrating real-time event service into the
CIAO core framework. Enhanced DAnCE to support declaratively configure
and deploy real-time event channels to mediate event communication
among components.
. Fixed a bug in detecting External connection and Internal
connections when components are shared across different
deployment plans. Earlier when removing connections attached
to an external/shared component, not *all* connections
associated with this components are purged from the
to-be-removed connections list.
. Fixed a bug when redeploying components using the same set
of NodeManagers, the destroy of applications results not
all internal components and external/shared components
are unbinded from the cached map, which sometimes causes
duplicate instance exception thrown.
. Fixed bug in detecting name clashes between names of ports of the same
category (facet, event sink, etc.) in the same component.
. Added support for attribute exceptions in code generated for executor
implementation classes.
. Implemented spec-defined component methods get_all_receptacles(),
get_all_publishers(), and disconnect_consumer().
USER VISIBLE CHANGES BETWEEN CIAO-0.4.10 and CIAO-0.5.0
=======================================================
. Changed MPC configuration of Config_Handlers to turn off hidden
visibility if applicable when compiling Config_Handlers or projects
that use Config_Handlers on linux.This change was to work around symbol
visibility inconsistencies in GNU standard C++ library when using g++
4.x's symbol visibility features.
. Enhanced ReDaC service to enforce the correct
assembly redeployment and reconfiguration order.
. Some bug fixes in ReDaC about removing components.
. Fixed NodeApplication to unbind a component with naming service
when removing it from the container.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.9 and CIAO-0.4.10
=======================================================
. Enhanced DAnCE ReDaC service to enforce the correct
assembly redeployment and reconfiguration order.
The order that ReDaC currently enforces:
(1) Install new components,
(2) Set up new connections,
(3) Activate new components,
(4) Passivate old components,
(5) Remove old connections
(6) Remove old components.
. Enhanced DAnCE to create hierarchical naming context
path through XML descriptors.
. Enhanced DAnCE to maintain a component state map in
the component server to manage component life cycle.
. Some bug fixes in DAnCE.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.8 and CIAO-0.4.9
======================================================
. RTTI enabled versions of the Xerces library are no longer needed on
Windows platforms.
. The CIDLC compiler now supports basic preprocessor directives:
#ifdef, #ifndef, #else, and #endif as well as the -D command-
line option.
. The CIDLC compiler now supports incomplete struct and union
semantics which will appear in CORBA 3.1.
. DAnCE now supports dynamically adding/removing components
to/from the existing running assembly without shutting down the
running appliation. This will allow the application developers to
evolve their applications on the fly without incuring service down
time. The service is called ReDaC (Redeployment and Reconfiguration)
Basically ReDAC provides a whole range of redeployment and
reconfiguration granularity level, including:
1) Install/remove component instances of the existing component types.
2) Install/remove component instances of a different type, i.e., a
totally new type of component.
3) Install/remove component instances from an existing container.
4) Install new component instances into a dynamically created brand
new container.
Move around existing components from one existing container to
another existing/new container.
5) Install new component instances into another component server in
the same physical node.
6) Install new component instances into another component server
into a remote host.
To see how to use this feature, please see the ReDaC-Usage.html
under the $CIAO_ROOT/examples/Hello/ directory.
. Removed the Old Config Handlers, which have been deprecated for some
time. Please see tools/Config_Handlers for the current version.
. Added a step-by-step CoSMIC tutorial for modeling CIAO components
using PICML($CIAO_ROOT/docs/tutorials/CoSMIC). Using a simple Stock
Quoter system as example, this tutorial demonstrates all the steps
that needed to model Component-Based applications.
. DAnCE now supports making connections among components across
different assemblies, and allow components to be "shared"
across assemblies seamlessly.
Internally, DAnCE provides a reference counting mechanism when
deploying/destroying components, and a reference count table
is maintained on each NodeManager.
From a deployer's point of view, if he/she chooses to deploy
a new assembly of component and simultaneously wants to reuse
previous deployed components in an existing running assembly,
then in the new deployment plan descriptor, he could refer
to an old component instance in the <InstanceDeploymentDescriptions>
XML tag. The "key" to identify the old component instance is
through the <Component_UUID, Node> pair, if such a key is found
present in a previous deployed assembly, then DAnCE won't
install this component instance (specified by the <Component_UUID>)
again, but instead it will increase the reference count of this
component instance.
DAnCE also supports making connections from existing running
components to newly deployed components in another assembly, and
vice versa.
. The RepositoryManager has been enhanced to support standards based
interfaces. A number of techniques have been used to ensure high
performance and scalability.
. The RepositoryManager can now retrieve packages from remote locations via
HTTP.
. The Target Manager is released with this CIAO release. It is an
infrastructure component which keeps track of resource usage in the
target domain. The initial domain configuration remains with the
Target Manager. A monitor framework has been built into Node Manager which
monitors the resources used within each host. This monitor reports its
data intermittently to the Target Manager which aggregates the data
received across all such hosts acroos the Target domain. The monitor
is implemented using a strategy pattern, thus enabling the plug-in of
new monitors which can monitor different resources in the domain. The
Target manager is a component thus it needs to be started using a
deployment plan. It is right now a optional component in the DAnCE
tool chain.
. We added a skeleton implementation of the Resource Allocation and
Control Engine (RACE) which is a middleware framework built atop
CIAO/DAnCE that integrates multiple resource management algorithms for
(re)deploying and (re)configuring application components. We are in
the process of developing resource management algorithms (both
resource allocation and control algorithms) that will be a part of
future releases.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.7 and CIAO-0.4.8
======================================================
. The deprecated RepositoryManager implementation, under
DAnCE/RepositoryManager, has been removed from this release. Please
use the Plan_Launcher and flattened deployment plans to deploy
component assemblies.
. The CIDL compiler frontend now supports constants, const expressions,
bounded strings, bounded sequences, and arrays.
. The CIDL compiler frontend now supports automatic indentation of
function arguments (both "new line" and "same line" styles are
supported).
. Added backend CIDL compiler support for constants, arrays, bounded
strings, bounded sequences, and attribute exceptions, corresponding
to frontend support added by Boris Kolpackov <boris@kolpackov.net>.
. Updated documentation to include instructions for building
the CIDL compiler using MakeProjectCreator (MPC).
. Fixed a bug in the CIDL compiler's determination if an IDL
type is of fixed or variable size type, when it is declared
in the scope of an interface, valuetype or home.
. Changes to generate servant code to support component
swapping.
. Added capability to pass a base class event consumer to a
subscribe() operation generated for a derived event type.
. Added support for .cdl file extension, which was belatedly
standardized by the OMG.
. Added documentation on using Rational Purify with CIAO and
DAnCE.
. Added tests and documentation for the IDL3-to-IDL2 converter tool.
. RepositoryManager:
- enhanced the implementation to use various optimization techniques
- added HTTP support
- added PackageConfiguration visitor to update the locations of the
implementation artifacts with relevant HTTP URLs
- refactored some of the code and added a number of helpers functions
. The XSC based config handlers have been heavily optimized, resulting
in greatly reduced parsing overhead for large deployments.
. The DAnCE toolchain now supports initializing attributes which have
enumerated types. Support for other complex types is planned for the
future. Please see examples/Hello/descriptors/
flattened_deploymentplan_without_ns.cdp for an example of how to
populate enumerated attributes.
. Integrated Real-time QoS support into the DAnCE-based runtime and
deployment tools based on the new OMG Deployment and Configuration
(D&C) specification. Such effort allows application developers to
use real-time CORBA 1.0 features within their CCM appliation through
meta-programming (via XML metadata through DAnCE toolchain). The old
run-time and deployment tools based on original Packaging and Deployment
section of the CCM specification have been completely removed. This
work includes extensions to D&C schema, schema parsers, container and
NodeApplication.
. Added functionality in XML parsing code to resolve schema in
$CIAO_ROOT/docs/schema instead of the local directory only. All
DeploymentPlans should use Deployment.xsd instead of
Modified_Deployment.xsd, which has been removed.
. Fixed bug in CIDL code generation for some types of component and
home attributes.
. Packaging and Deployment (P&D) tools have been completely removed
from this release. DAnCE is now the only supported method of
deploying components.
. The CIAO directory structure has changed in support of the previous
item. The following important directory moves have been made:
* $CIAO_ROOT/DAnCE/ciao => $CIAO_ROOT/ciao
* $CIAO_ROOT/DAnCE/examples => $CIAO_ROOT/examples
* $CIAO_ROOT/DAnCE/Config_Handlers => $CIAO_ROOT/tools/Config_Handlers
* Various obsolete examples/tutorials/tests have been removed.
. Error reporting during component deployment has been greatly
improved. While debugging using CIAO_DEBUG_LEVEL is still
available, detailed error messages are now generated and propagated
to the Plan_Launcher using exceptions.
. generate_component_mpc.pl has been updated to generate MPC files
useful by the modern CIAO infrastructure. This script now also
automatically generates export files.
. DAnCE has been enhanced to support deploying multiple assemblies
with the same set of ExecutionManager and NodeMangers.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.6 and CIAO-0.4.7
======================================================
. Added a component packaging tool to DAnCE. This tool will allow
component packagers to create from deployment plan archived
packages that wrap up all relevant component properties,
descriptors and implementation artifacts.The component packages
generated from this tool will be distributed to Repository
Manager.
. Enhanced DAnCE to allow more than one NodeApplicationManagers within
a NodeManager.
. Enhanced DAnCE to support configurable output of debugging information.
Support for debugging information will be added at the level of both the
DAnCE/CIAO infrastructure as well as individual component instances.
Support for tracing of the DAnCE/CIAO infrastructure will also be added.
Together, these efforts will help developers to understand the execution of
their component-based applications, as well as allowing customization of
the amount of debugging information logged
. Added binding component to the Naming Service. A system deployer
could configure this through XML-based flattened deployment plan
descriptor.
See $CIAO_ROOT/DAnCE/examples/Hello/descriptors/flattened_deploymentplan.cdp
for details. Currently DAnCE only provides resolving naming service
reference through multicast, so be sure to initialize the naming service
with multicast port.
. Added the first cut of the RepositoryManager implementation.
. Changed scoping of code generated by the CIDL compiler to accommodate
cases where the composition declaration is enclosed in one or more
IDL modules, and/or when the composition declaration is in a different
scope than the associated component IDL declarations.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.5 and CIAO-0.4.6
======================================================
. Added support for handle component activation/passivation in D&C
assemblies.
. Added a test for the tool that converts IDL3 into equivalent IDL2.
. Fixed CIDL compiler bug in code generation for sequence type
attributes of components.
. Added more examples for CIAO, including a new Quoter example that is
similar to the one in TAO, as well as GUI-based example.
. Added support for handle component activation/passivation in D&C
assemblies.
. Added support for deactivating facets/event consumers when component
is getting deactivated.
. Added support for destroying the component executors, when the
component is getting deactivated.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.4 and CIAO-0.4.5
======================================================
. Split the previous NodeApplication interface into NodeApplication
and Container interfaces to allow multi-container NodeApplication
support. This will be particularly useful to provide an optimized
CIAO container support for RT-CORBA features.
. Enhanced CIAO to handle dynamic replacement of components. Please
see an example in $CIAO_ROOT/DAnCE/examples/Swapping
. The Config Handlers have been modified to use XML parsing code
generated by the XML Schema Compiler (XSC). Binary releases of XSC can
currently be found at (http://www.dre.vanderbilt.edu/~boris/xsc), and a
recent snapshot of the CVS repository can be found at
(http://www.dre.vanderbilt.edu/~wotte/xsc.tbz2).
Please direct all XSC inquiries/bug reports to wotte at
dre.vanderbilt.edu
. Supported initializing attribute values on Component through XML
tags. Please refer to the $CIAO_ROOT/DAnCE/examples/Hello for
details, particularly the Hello.cid descriptor file.
. Supported parsing component instance names and using them to generate
unique component port references, so that multiple instances of the
same component can be deployed in a single container and the client
requests could be properly designated to the appropriate ports.
. Enhance CIAO to support establishing connections between derived
type ports and base type ports. For example, application deployer
could set up event connections between base event sink port type and
derived event source port type.
. Enhanced the existing set of DAnCE tools to support flattened
Deployment Plan based deployment. Please refer an example in
$CIAO_ROOT/DAnCE/examples/BasicSP/flattened_deploymentplan.cdp
to see how the flattened deployment plan descriptor is used to
deploy the BasicSP example.
. Develop regression/performance tests (similar to TAO
regression/performance tests) that will test/evaluate the
performance of various features of CIAO.
. Added regression test script to the nightly build for DAnCE example.
This will make sure DAnCE tools could be ready to use out of
box in various platforms.
. Improved documentation pages in various places.
. Some bug fixes.
. Added support for reception of eventtypes of a more derived type than
the type of the event sink. Subscription will succeed if the passed
event consumer is associated with an eventtype that is an ancestor of
the published eventtype.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.3 and CIAO-0.4.4
======================================================
. Minor bugfixes.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.2 and CIAO-0.4.3
======================================================
. CIDLC can generate empty executor implementations for a given
composition, which makes it easier to write executors. This can be
trigerred by passing --gen-exec-impl option while invoking CIDLC.
. Generated container code has been refactored into base classes,
thereby reducing the amount of code generated by CIDLC.
. A new tool for generating equivalent IDL2 declarations from IDL3
declarations has been added.
. Fixed a problem with DAnCE that prevented ports from getting activated
properly.
. Added support for eventtype factories within CIDLC.
. DAncE compiles clean and works with VC6 and Borland compilers.
. Fixed compile errors and memory related errors on many platforms.
USER VISIBLE CHANGES BETWEEN CIAO-0.4.1 and CIAO-0.4.2
======================================================
. Overall
- Support for g++ 3.4.1.
- Support added for latest HP aCC compiler.
. CCM Deployment and Configuration specification has largely been
implemented. The implementation is called "DAnCE", the Deployment
and Configuration Engine. For more information about DAnCE, and a
list of supported features, please refer to
$CIAO_ROOT/docs/releasenotes/dance.html.
. CIDL compiler
. Added missing generation of servant code for operations and
attributes of ancestors of interfaces supported and used as ports.
. Added missing generation of factory operation(s) from inherited
home(s).
. Added support for "uses multiple" in generated code.
. Fixed bugs in generation of inherited: [Bug 1800]
home operations
attribute operations
port operations
home factory operations
supported operations
. Added automatic registration of value factories for event
consumers.
. Added support for emits-related navigation.
. Fixed bug with multiple facets that provide the same interface.
. Implemented get_all_facets() and get_all_consumers() navigation
methods.
USER VISIBLE CHANGES BETWEEN CIAO-0.4 and CIAO-0.4.1
====================================================
CIAO
----
. Added support for statically configuring an assembly. Please see
$CIAO_ROOT/docs/static_toc_ciao.html for details.
CIDL:
-----
. Fixed incorrect generation of ACE environment macros in servant glue
code operations.
. Fixed incorrect code generation in the body of a servant operation
that delegates to the executor class.
. Added support for attributes in facets and supported
interfaces.
. Fixed bug in code servant glue code generation when there are
multiple nested modules in the IDL and/or CIDL files.
. Added missing code generation of enum type names.
. Fixed a bug in the generation of the scoped name of a local variable
which is a _var of an executor interface for a facet. These types
are required by the CCM spec to be generated in the same scope as
the interface that underlies the facet.
. Fixed a bug in the generation of *S.h file includes corresponding to
IDL files included in the CIDL file.
. Added ACE style Makefiles.
. Added support for bounded strings
MPC
===
. Removed all of the project type specific and unnecessary keywords.
. Changed the defaulting rules for idl files (generated source files
will be automatically added even if idl files are explicitly
listed).
. The makefiles generated by the gnuace type are now named GNUmakefile
instead of Makefile.
. The IDL_Files section is no longer a built-in MPC type. It is a
custom build type defined in taoidldefaults.mpb.
. Added support for Borland Makefiles that aren't tied to ACE_wrappers
(the bmake project type).
. Added wild-cards to the default.rel file. Now, environment
variables that end in _ROOT are automatically considered as if they
were used with the -relative option.
. Added an environment variable,
MPC_DEPENDENCY_COMBINED_STATIC_LIBRARY, to force MPC to put
inter-project dependencies in static vc6 and vc71 workspaces.
. Added an html project type (originally by Justin Michel) to aid in
the debugging of mpc files.
. Added a new keyword, pure_libs, that is put into a project
unmodified (unlike the libs and lit_libs keywords).
. The behavior obtained through the use of the -hierarchy option is
now the default for all "make" based project types. This includes
borland, bmake, gnuace, make and nmake.
. Added support for referencing workspace files (.mwc) from within
other workspaces.
. Added an option, -genins, that causes MPC to generate .ins files
that can be used with prj_install.pl. This will help users install
portions of their projects into alternate directories.
. Modified the gnuace workspace output to be based on directory
recursion instead of having inter-project dependencies built into
each workspace level GNUmakefile.
. Added a new keyword, dependent, for use within a Define_Custom that
causes MPC to add a dependency to generated files upon the custom
command.
. Assignments within a 'specific' section that are not recognized MPC
keywords are assumed to be template value overrides (similar to
using the -value_template option).
. Partial support for Visual SlickEdit has been added.
. Various bug fixes and optimizations have been added as well.
USER VISIBLE CHANGES BETWEEN CIAO-0.3.6 and CIAO-0.4
====================================================
. Added Makefiles to build the ciao and tools subdirs by default.
. The suport for the following IDL features have been added to the
CIDL since the last beta
- exception (exception declaration and raises() specification)
- valuetype
- enum
- const declaration
- const expression and literals
- native
- home finder
- oneway operation
- readonly attribute
- type declaration inside interfaces, valuetypes
- union
CIDL doesn't yet support the following features
- Complete error detection and recovery
- Attribute exception specification
- Array
- Bounded sequence
- Fixed type
- Floating-point and Fixed-point constant expressions & literal.
though we plan to add this support over the next several months,
depending on user/sponsor needs.
|