diff options
Diffstat (limited to 'modules/CIAO/NEWS')
-rw-r--r-- | modules/CIAO/NEWS | 1176 |
1 files changed, 1176 insertions, 0 deletions
diff --git a/modules/CIAO/NEWS b/modules/CIAO/NEWS new file mode 100644 index 00000000000..2e01be2d0b4 --- /dev/null +++ b/modules/CIAO/NEWS @@ -0,0 +1,1176 @@ +PLANNED MAJOR CHANGES "SOMETIME IN THE FUTURE" (i.e., exact beta not known) +=========================================================================== + +. Several features have been recently removed, with no planned replacement in +their current form, such as: + +. ReDaC +. Shared Components + +Some features are being temporarily removed but with planned +replacement in the near term: + +. RTEC Integration +. Static Deployment +. TargetManager +. RepositoryManager +. Swapping container + +. Enhance Execution Manager and Domain Application Manager to make calls + on the Target Manager to get resource information. + +. Enhance Node Manager to integrate resource monitoring capacity within + individual Nodes. + +. Add assembly-wide component activation/deactivation feature. + + - This should allow system deployers to specify the dependencies + among component instances within the assembly. + + - Add support in DAnCE so DAnCE could enforce the order in which + components are to be activated within the assembly. + +. Integrate RT-CORBA 1.2 dynamic scheduling feature into CIAO, which + will allow the application developers to use dynamica scheduling + through meta-programming model. + +. Perform interoperability testing with other DnC implementations. Note this + work may change the functionality and semantics of some proprietary + DAnCE extensions, notably ReDaC, Shared Compoents, and RTEC + integration, and may even be absent until such a time as they + can be implemented in such a way as to not break copliance with the DnC + specification. + +. Decouple dependencies to NodeApplication from other DAnCE tools. + These dependencies were added to support static configurator. We + need to have these tools in both conventional version and static + configuration version. + +. Support tool-specific debug levels and added CIAO_DEBUG macros to + simplify adding debug printouts based on various tool-specific debug + levels. + +. Add support for querying for interface types to the + RepositoryManager. + +. Implement a planner to query the TargetManager and RepositoryManager + and generate deployment plans on the fly. + +USER VISIBLE CHANGES BETWEEN CIAO-0.7.8 and CIAO-0.7.9 +======================================================= + +. Initial set of changes to have real support for the LwCCM profile. + This work is not finished yet, to have a look at the reduced + code size, add ccm_lw=1 to your default.features file + +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. |