summaryrefslogtreecommitdiff
path: root/modules/CIAO/docs/Porting_Hints.txt
blob: feed93d2eb789ca014ad9c873a8c9593f80e828d (plain)
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
Porting applications to the refactored DAnCE:

1)  ciao_client_dnc base projects should be changed to ccm_stub
2)  ciao_component_dnc should be changed to ciao_executor
3)  ciao_servant_dnc should be changed to ciao_servant
4)  Executor implementations now require that the configuration_complete
    operation be implemented.
5)  ciao_{pre,post}activate are no longer invoked.

It should be noted that this new version of CIAO/DAnCE no longer supports
implicitly homed components.  Components must either be explicitly homed
(ie, an explicitly deployed home instance combined with a component instance
that specifically identifies that home), or unhomed.  In the unhomed case,
a factory method that instantiates the component executor must be added
to the _exec header and source files.


Porting the plan
===================
There are a number of changes to the plan structure to better comply with
the specification.

1) idref refrences must now be made using an attribute xmi:idref instead
   of using element content, i.e.,

      <artifact>Receiver_Stub</artifact>

   should be transformed into

      <artifact xmi:idref="Receiver_Stub" />

2) Entrypoint information is now listed in the execParameters for the
   monolithicImplementation instead of the implementationArtifact elements.
   Furthermore, the container (servant) and executor artifacts must be
   explicitly identified.  The following execParameters must be present
   on all monolithic implementations for homes and unhomed components:

   . "home factory" - contains the executor entrypoint for homes
   . "component factory" - contains the executory entrypoint for unhomed
      components
   . "edu.vanderbilt.dre.CIAO.ServantEntrypoint" - contains the container
     (servant) entrypoint for both homes and unhomed components
   . "edu.vanderbilt.dre.CIAO.ServantArtifact" - Identifies the name
     element of the artifact that implements the container (servant)
   . "edu.vanderbilt.dre.CIAO.ExecutorArtifact" - Identifies the name
     element of the artifact that implements the executor.

3) IOR output configProperties have changed:
    .  "RegisterNaming" is now edu.vanderbilt.dre.DAnCE.RegisterNaming
    .  "ComponentIOR" is now edu.vanderbilt.dre.DAnCE.InstanceIOR

4) Connection endpoints must now include the <provider> element after the <portName> element.
.  SimplexReceptacle, MultiplexReceptacle, EventEmitter, and EventPublisher should be false
.  Facet and EventConsumer should be true