diff options
Diffstat (limited to 'CIAO/docs')
145 files changed, 0 insertions, 18780 deletions
diff --git a/CIAO/docs/ConfigValues.html b/CIAO/docs/ConfigValues.html deleted file mode 100644 index 70ade5ca68d..00000000000 --- a/CIAO/docs/ConfigValues.html +++ /dev/null @@ -1,270 +0,0 @@ -<!-- $Id$ --> -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> <head> -<title>ConfigValues Index</title> -</head> - -<body> - -<h1>Index of ConfigValues</h1> - -<font size="+1" color="red">This page is currently a placeholder for -all the configuration values we will support when creating various CCM -deployment mechanisms, such as ComponentServers and Containers. The -ConfigValues listed here are currently only partially supported in -CIAO. <p> - -Note from self: There are discrepancy in this document. Most -significantly, (RT)ComponentServer's don't get their ConfigValues -directly from that passed in thru -ServerActivator::create_component_server but rather, using some sort -of pre-defined command line flags. -</font> - -<h2>ComponentServer</h2> -The <code>ConfigValues</code> for a <code>ComponentServer</code> are -passed in via <code>ServerActivator::create_component_server</code> -operation. CIAO accepts the following feature names:<p> - -<table border="3" spacing="2" cellpadding="3"> - <tr> - <th>FeatureName</th> - <th>type</th> - <th>Requirement</th> - <th>Remarks</th> - </tr> - <tr> - <td>CIAO-svcconf-id</td> - <td>string</td> - <td> - Optional - </td> - <td> - Specify the canonical svc.conf id. This id should only serve - as a hint for the deployment framework in determining the - actual svc.conf file used to start up the component server. - Currently, CIAO's ServerActivator maintains a set of svc.conf - files and use this id value to map to the exact svc.conf file - name. - </td> - </tr> - <tr> - <td>CIAO-ORB[option]</td> - <td>string</td> - <td> - Optional - </td> - <td> - Specify an ORB option that you want to pass to the - ComponentServer ORB. - </td> - </tr> -</table> - -<h2>RTComponentServer (Real-time ComponentServer)</h2> - -Like a regular <code>ComponentServer</code>, the -<code>ConfigValues</code> for a <code>RTComponentServer</code> are -passed in via <code>ServerActivator::create_component_server</code> -operation. On top of the <code>ConfigValues</code> accepted by the -regular <code>ComponentServer</code>, a real-time ComponentServer also -accepts the following feature names:<p> - -<table border="3" spacing="2" cellpadding="3"> - <tr> - <th>FeatureName</th> - <th>type</th> - <th>Requirement</th> - <th>Remarks</th> - </tr> - <tr> - <td>CIAO-rtcad-filename</td> - <td>string</td> - <td> - Optional - </td> - <td> - Specify the filename of RTCAD extension XML file. - The component server will invoke the XML parser and translate - the content of the file into the following two ConfigValues - (CIAO-RTresources and CIAO-RTPolicySets) to - RTComponentServer implementation. - </td> - </tr> - <tr> - <td>CIAO-RTresources</td> - <td><code>CIAO::RTConfiguration::RTORB_Resources_Info</code></td> - <td> - Optional - </td> - <td> - <code>CIAO::RTConfiguration::RTORB_Resources_Info</code> as - defined in - <code>$CIAO_ROOT/tools/XML_Helpers/RTConfiguration.idl</code> - defines the system wise resources an RT ORB should allocate. - These resources then can be used to define the RT policies in - the RTPolicySet described subsequently. - </td> - </tr> - <tr> - <td>CIAO-RTPolicySets</td> - <td><code>CIAO::RTConfiguration::Policy_Sets</code></td> - <td> - Optional - </td> - <td> - <code>CIAO::RTConfiguration::Policy_Sets</code>, also - defined in - <code>$CIAO_ROOT/tools/XML_Helpers/RTConfiguration.idl</code>, - defines a list of policy sets, which are named sequences of - policies. These policies often refer to the global resources - defined in the previous CIAO-RTresource via names. Likewise, - an <b>RT-container</b> also specifies the RTPolicySet its POA - uses via the name defined here. - </td> - </tr> -</table> - -<h2>Container</h2> -The <code>ConfigValues</code> for a <code>Container</code> are -passed in via <code>ComponentServer::create_container</code> -operation. CIAO accepts the following feature names:<p> - -<table border="3" spacing="2" cellpadding="3"> - <tr> - <th>FeatureName</th> - <th>type</th> - <th>Requirement</th> - <th>Remarks</th> - </tr> - <tr> - <td> - CIAO-Container-Type - </td> - <td> - <code>string</code> - </td> - <td> - currently not supported. - </td> - <td> - Possible value: <code>session</code>, <code>rt-session</code>, - <code>unclassified</code>, <code>rt-unclassified</code>. - </td> - </tr> - - <tr> - <td> - CIAO-POAPolicies - </td> - <td> - <code>CORBA::PolicyList</code> - </td> - <td> - Currently not supported. - </td> - <td> - Must not conflict with CIAO-Container-Type setting. - (Certain containers assume several POA policies.) - </td> - </tr> - - <tr> - <td> - CIAO-RTPolicySet - </td> - <td> - <code>string</code> - </td> - <td> - Optional - </td> - <td> - Name, as defined in RTCompoenentServer's CIAO-RTPolicySets, of - the PolicySet this container uses. - </td> - </tr> -</table> - - -<h2>CCMHome</h2> -The <code>ConfigValues</code> for a <code>CCMHome</code> are -passed in via <code>Container::install_home</code> -operation. CIAO accepts the following feature names:<p> - -<table border="3" spacing="2" cellpadding="3"> - <tr> - <th>FeatureName</th> - <th>type</th> - <th>Requirement</th> - <th>Remarks</th> - </tr> - <tr> - <td>CIAO-executor-path</td> - <td><code>string</code></td> - <td> - REQUIRED - </td> - <td> - This string value specifies the location of the executor DLL. - In the future, we should use UUIDs to identify the component - executors and query the ComponentInstallation interface for - the actual location of the DLL. - </td> - </tr> - <tr> - <td>CIAO-executor-entrypt</td> - <td><code>string</code></td> - <td> - REQUIRED - </td> - <td> - This string value specifies the entry point of the executor - DLL. It points to a factory function for the component executor. - </td> - </tr> - <tr> - <td>CIAO-servant-path</td> - <td><code>string</code></td> - <td> - REQUIRED - </td> - <td> - This string value specifies the location of the servant DLL. - In the future, we should use UUIDs to identify the component - servants and query the ComponentInstallation interface for - the actual location of the DLL. <p> - - Servant are part of the Container framework and we can use - type checking to ensure servant and container match with each - other. - </td> - </tr> - <tr> - <td>CIAO-executor-entrypt</td> - <td><code>string</code></td> - <td> - REQUIRED - </td> - <td> - This string value specifies the entry point of the servant - DLL. It points to a factory function for the compnent servant. - </td> - </tr> -</table> - -<!-- - <tr> - <td> - a - </td> - <td> - b - </td> - <td> - c - </td> - </tr> ---> -<!--#include virtual="/~nanbor/signature.html" --> -</body> </html> diff --git a/CIAO/docs/EnvVars.html b/CIAO/docs/EnvVars.html deleted file mode 100644 index a088f793de0..00000000000 --- a/CIAO/docs/EnvVars.html +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> -<head> -<!-- $Id$ --> - <title>Environment Variables used by CIAO</title> -</head> -<body> -<h1>Environment Variables used by CIAO</h1> -<ul> -<!-- <li><b><code></code></b><p> --> <li><b><code>CIAO_DEBUG_LEVEL</code></b>: -An interger value accessible using <code>CIAO::debug_level()</code> -call. Currently, CIAO follow the following usage conventions:<br> - <br> - <ul> - <li> 20 < debug_level ≤ 20: Generate CIAO internal debug -messages </li> - <li> 10 < debug_level ≤ 20: Generate CIAO tools debug messages - </li> - <li> 0 < debug_level ≤ 10: Generate component-level debug -messages </li> - </ul> - <p> </p> - </li> - <li><b><code>CIAO_DUMP_SAMPLE_HISTORY</code></b>: This environment -variable was added for lack of component configuration support. Set it -to 1 to turn on the dumping of performance samples to stdout in some -performance test components.</li> -</ul> -<hr> -<address>Nanbor Wang</address> -<!-- hhmts start --> -Last modified: Sun Nov 30 20:29:14 Mountain Standard Time 2003 -<!-- hhmts end --> -</body> -</html> diff --git a/CIAO/docs/Purify.html b/CIAO/docs/Purify.html deleted file mode 100644 index fff258db120..00000000000 --- a/CIAO/docs/Purify.html +++ /dev/null @@ -1,72 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> - <head> - <title>Using Rational Purify with CIAO</title> - <!-- $Id$ --> - </head> - <body> - <h1>Using Rational Purify with CIAO</h1> - <p>This document is about using Purify with Visual Studio 7.1 to track down - memory leaks and other bugs in CIAO applications. For the Linux/Unix - environment, Valgrind is a better-suited tool - see Will Otte's documentation - on using Valgrind with CIAO in this directory.</p> - <p>Purify can be run from within Visual Studio, or standalone. The executable is - c:\Program Files\Rational\PurifyPlus\purifyw.exe. Typing this will bring up the - same Purify window you see if you run it from within Visual Studio. You can - install Purify from the web by going to <A href="file://\\Atlantis\software\RationSuiteEnterprise-v2003-06-12"> - \\Atlantis\software\RationSuiteEnterprise-v2003-06-12</A> and clicking - on <code>C57BPML.zip</code>. This will install a whole bunch of Rational stuff - by default, so you will probaby want to deselect everything but PurifyPlus, - although Quantify is a good bottleneck-finder when you're trying to improve - performance, so that might be worth installing and playing with as well. During - the installation process, you'll be prompted for a mode of licensing. Select - the use of a license server, and then you'll be prompted for its address. Use <code> - rational.vuse.vanderbilt.edu</code>.</p> - <p>The option to exclude all modules in Windows directories will probably be set - by default, but if you notice memory leaks reported for Windows stuff, you - might want to double check this and turn it off. From the PurifyPlus menu bar - item in Visual Studio, it's at <b>PurifyPlus->Purify->Settings->DefaultSettings->PowerCheck</b>. - When run for the first time, Purify will instrument all libraries linked to the - executable. Select <b>PurifyPlus->Purify->Run</b>, and a window will pop - up prompting you for the executable name, command line options, and working - directory.</p> - <p>Purify's output will appear in the Visual Studio text editing window. This - output can be saved to the given filename. The type of error reported is - indicated by a 3-letter code - the most common are UMR (Unitialized Memory - Read), FMM (Freeing Mismatched Memory), and MLK (Memory Leak). Each of these - can be expanded to show the call stack. The depth of the call stack can be - modified in Settings if it's not deep enough. FMM messages will show both - allocation and deallocation call stacks.</p> - Quite often in CIAO, we will want to Purify a process that is spawned by - another process, and therefore not directly runnable in Purify. This is fairly - easy to do, but it must be done from the command line. If the name of the child - process we want to instrument is <code>child.exe</code>, then it can be - instrumented by typing - <br> - <code>purifyw /Run=no /Replace=yes child.exe</code><br> - This will rename the original executable as <code>child.exe.Original</code>, - and the new instrumented executable will be <code>child.exe</code>. Now when - you run the parent process under Purify, you'll see one window opened up in - Visual Studio's text editor for this process, and when the child process is - spawned, a second window will open. A couple of caveats to make this work - smoothly: - <ul> - <li> - Instrumented executables run 2 to 5 times slower than uninstrumented ones, so - any timeouts in the code should be extended accordingly. For example, if an - instrumented NodeApplication is spawned by NodeManager, add <code>-d 15</code> or - <code>-d 20</code> - to NodeManager's command line. - <li> - If an instrumented process is simply killed, there will probably be many - spurious error messages, mostly related to ORB resources that were not cleaned - up by a graceful shutdown. All processes tested with Purify should have a - graceful shutdown built in to eliminate these bogus memory leak messages. - </li> - </ul> - <hr> - <address>Jeff Parsons</address> - <!-- hhmts start --> Last modified: Oct 3 2005 - <!-- hhmts end --> - </body> -</html> diff --git a/CIAO/docs/RT-Extension.html b/CIAO/docs/RT-Extension.html deleted file mode 100644 index 3414a30b78e..00000000000 --- a/CIAO/docs/RT-Extension.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Using the Real-time Extension in CIAO</title> -</head> - -<body> -<h1>Using the Real-time Extension in CIAO</h1> - -<!-- ============================================================ --> -<h3>Abstract</H3> - -The real-time extension support in CIAO enables application developers -to deploy real-time applications by specifying real-time -configurations as XML descriptors without modifying the component -implementation. In fact, embedding the real-time configuration -policies in component implementations decrease the reusability of the -software components. - -Different types of real-time policy can be applied at different -stage of the component development lifecycle, e.g., -<ul> - <li>Component implementation - <li>Component packaging - <li>Application composition - <li>Target platform configuration - <li>Deployment configuration -</ul> - -Real-time policies can also be applied to various scope in an -applications, e.g., many real-time policies can be associate with some -or all of the following ORB mechanisms: -<ul> - <li>ORBs - <li>POAs - <li>Threads - <li>Object references -</ul> - -<!-- ============================================================ --> -<h3>CIAO's Real-time Extension</h3> - -CIAO extends CCM's assembly descriptor to support the specifications -of real-time policies. This mechanism allows you to allocate -resources that are global to a RTComponentServer and to define real-time -policies required by a component installation. Currently, CIAO -support configuration of certain real-time policies at the POA level, -i.e., in CCM's terminology, the container level. These policies -include: - -<ol> - <li>Priority Model Policy - <li>Threadpool Policy - <li>Banded Connection Policy -</ol> - -The kind of resources that are global to a RT component server that CIAO -real-time extension specifies include: - -<ol> - <li>Threadpool - <li>Threadpool with lanes - <li>Connection bands -</ol> - -<!-- ============================================================ --> -<h3>Using the CIAO Real-time Extension</h3> - -Application developers can define the aforementioned Real-Time -extension Descriptor (.rtd file) that CIAO defines to allocate -resources and specify real-time policies. The Document Type -Definition (DTD) for the real-time extension description is defined in -this <a href="XML/ciao_rt_cad_ext.dtd">file</a>. Each .RTD file -specifies the required resources and the policy definitions within a -RTComponentServer. - -A RTComponentServer can be associated to a .RTD file. This is done by -using the "extension" element with "class" attributed set to -"RT-CAD-EXT", within a processcollocation or hostcollocation element. -Here is an example: -<code><pre> - - <processcollocation> - . - . - . - <extension class="RT-CAD-EXT" origin="CIAO">somefile.rtd</extension> - . - </processcollocation> -</pre></code> - -Each .RTD file contains the two major subelements: -<ul> - <li><rtresources>: defines all the RT resources the assciating - RTComponentServer should provide. - <li><rtpolicysets>: defines named collections of policies - (<rtpolicyset>) that apply to component installations in - the RTComponentServer. -</ul> - -The <rtpolicyset>'s defined in the .RTD file can be associated -to a component installation, i.e., a component placement within the -RTComponentServer to which the .RTD file is associated. For example, - -<code><pre> - <homeplacement> - . - . - , - <extension class="RT-POLICY-SET" - origin="CIAO">A_POLICY_NAME</extension> - . - </homeplacement> -</pre></code> - -<h3>Future Addition</h3> - -As mentioned earlier, RT policies can be applied at various stages of -component-based deployment lifecycle and at different scope. For -example, applying RTpolicies at the ORB level, or at the object -reference level of a component receptacle. These extensions involve -at least, extending the "appropriate" XML descriptor definition and -extending the CIAO runtime, including core and/or the CIDL generated -code to configure the policies. How other RT-related policies can be -added will be reviewed in my thesis available shortly. - -<hr> -<address>Nanbor Wang</address> -<!-- hhmts start --> -Last modified: Sun Nov 30 19:23:25 Mountain Standard Time 2003 -<!-- hhmts end --> -</body> </html> diff --git a/CIAO/docs/TODO.html b/CIAO/docs/TODO.html deleted file mode 100644 index 0b7ff8fd774..00000000000 --- a/CIAO/docs/TODO.html +++ /dev/null @@ -1,259 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><p> -<!-- $Id$ --> -<html> <head> -<title>Component-Integrated ACE ORB - TODO list</title> -</head> - -<body> -<h1>Component-Integrated ACE ORB (CIAO) - TODO list</h1> - -The following is a prioritized list of things (with the highest -priority items first) that the DOC group is working on. The expected -date of accomplishments are also added as ETA (expected time of -accomplishment) : - -<h3>Things to do:</h3> -<ul> - <li> Integrate TAO's real-time event channel within the - container. Components can use this feature to communicate using - <CODE>eventtype</CODE>s a pub-sub mode. The code is available in a - branch and it needs to be integrated in to the main-trunk. (ETA - - 2004/08) - </li> <p> - - <li> Allow components (i.e., assemblies) to be connected using the - NameService (ETA - 2004/08) </li> <p> - - <li> Allow non-component enabled clients to access reference to a - component or an assembly using NameService (ETA - 2004/08) </li> <p> - - <li>Allowing components to set attributes, atleast attributes of - basic types. As a first step we need to implement the - <CODE>StandardConfigurator</CODE> interface. The servant for the - <CODE> StandardConfigurator</CODE> interface should be implemented - and activated by the servant for the component. DAnCE can extract - the reference from the servant and use it to set attributes (ETA - - 2004/08)</li><p> - -<li>Now that we have supports for ccm_{activate,passivate,remove}, we - need to rethink how a container manages the lifecycle of all the - components/homes it hosts so all the servants related to a - component get destroyed "properly". The aforementioned - SessionComponent operations will also depend on the proper - lifecycle management. <p> - - This includes making sure all components' appropriate - ccm_passivate and ccm_remove operations are called when the - ComponentServer is closing down.<p> (ETA - 2004/08) </li> - - <li> Migrate RT features from RTComponentServer to DAnCE - (ETA - 2004/10) </li> <p> - - <li> Static configuration of components using DAnCE (ETA - 2004/12) - </li> <p> - - <li>We need a set of tests to make sure most (and later - all) of the data types are function correctly (in term of CIDL - generated code). More importantly, we need to make sure all the - component keywords are supported okay. (ETA - 2004/07)<p> - - <li>The naming convention used in <a - href="new_component.html">creating new component - instructions</a> and that used in <a - href="templates/">templates</a> do not match. (Files containing - glue code are named *_svnt.* and *GS.* respectively.) We need - to address that.(ETA - 07/2004) <p> </li> - - <li> Retire the old assembly and deployment framework (ETA - - 2004/10) </li> - - <li>We need to review the implementation of servant glue code and - container implementations to make sure that they are - thread-safe, if the container calls for it. Currently, these - states are changed only by the deployment framework which always - runs in single thread, so it's not a serious problem. However, - it's perfectly legal to dynamically configure connnections, which - will be the case if we want to add new components or remove - components from the assembly.(ETA - 2004/09)<p> - - <li> Add support for creating a thread pool within the the component - server. We don't have support for this, which has made our users - resort to spawning threads within the components, which breaks - portability of the executor code. (ETA - 2004/09) </li> <p> - - <li> At present components in an assembly have no way of knowing - whether the assembly is complete or not. This becomes important when - there are hierarchical assemblies, and the assembly at a higher - level needs to pass on attrbute information to the assembly at a - lower level. The spec talks about <CODE> configuration_complete () - </CODE> whose semantics are a bit unclear. We may have to use this - to inform the components that the configuration is infact - complete. (ETA - 2004/09)</li><p> - - <li> We have now two proprietary methods in the <CODE> - SessionComponent </CODE> interface called <CODE> ciao_preactivate () - </CODE> and <CODE> ciao_postactivate () </CODE> which has to be - overridden by the executor code irrespective of whether the executor - implements them or not. These were added to help components to know - activation status of other components in the assembly. This could - create problems for interoperability of the executor code. A better - to way is to have the CIDL generate C++ code instead of executor IDL. - The generated C++ code from the CIDL could provide default - implementations which could be overridden by the executor code if so - desired. This would make the executor code more portable. Obviously - we also should retain executor IDL generation using some command line - options. (ETA - 2004/09). </li> <p> - -<li> Need to develop tools that would allow components to be added - dynamically to an existing assembly and remove components - dynamically from an existing assembly (ETA - 2004/12) <li> <p>. - -<li>The CCM_Core libraries need to be refactored so regular CIAO - users no longer need to link to CIAO_Server but to - CIAO_Container library instead. Currently, the session - container implementation is throwing exceptions from the - deployment modules when it fails to install a home. But these - feature should really be implmented in the Deployment::Container - interface instead. (ETA - 2004/12)<p> - -<li>HomeRegistrar related files from the CCM_Core projects have - been removed. We need to move them into a new directory when we - get to a new HomeFinder/HomeRegistrar implementation. Notice - that the deployment framework will need to use the HomeRegistrar - interface to register components/homes. (ETA - 2004/12)<p> - -<li>We should add support for the unclassified container and use the - property file of some sort to configure the empty container.<p> - - Process component (which have 1:1 servant to OID mapping) might - be useful too (no need to support PSS in this case?)<p> - - Persistent object references/IDs can be useful for statically - configured DRE systems as they eliminate the initial handshakes - in a multi-process system and enable each process to start up - independently. (ETA - Not known) <p> - - <li>The new <code>generate_component_mpc.pl</code> script should - invoke the <code>generate_export_file.pl</code> automatically - and created the necessary export files instead of only printing - out the hints on how to do that. (ETA - Not known)<p> - - <li>We need a ConfigValues parser for extracting common name-value - info out of a ConfigValues sequence. This would be needed if - components have to set complex user defined types as attributes. - (ETA - not known). </li><p> - - <li><b>Container Factory</b>: We need to provide a container factory - interface to decide what kind of container we need to use. Hmm, - isn't this the job of <code>ComponentServer</code> interface? - (ETA - not known)</li><p> - - <li><b>ComponentInstallation</b>: This is a simple interface that - provides (UUID, Location) mappings. Both UUID and Location are - of string type. Since ACE supports UUID implementation, we can - probably use that to generate a UUID. Location should be URI, but - let's just map that to locations in filesystem (pathnames) for - now. So we will most likely need to provide more downloading - mechanisms in the future, e.g., http, ftp, etc. <p> - - ComponentInstallation is the interface assembly mechanism used - to interact with the deployment mechanism. We are free to - implement the deployment mechanism (i.e., shipping of code to - various locations of application domains) the way we like but - the assembly mechanism depends on this interface to determine - where to fetch a specific implementation.<p> - - One thing that we really need is an installation tool set which - can be used to manage remote installation, by parsing various - XML descriptors and either push or pull the right implmentation - for a certain host in the list of hosts the component need to be - installed. According to the CCM spec., ComponentInstallation - interface implementation can retrieve a implementation (DLL) on - an on-demand basis. Therefore, there is probably no need to - push the appropriate DLL over right away when we feed some - descriptors into the installation tool. The tool, however, - should accurately extract the correct OS/compiler information - and inform the ComponentInstallation impl which and where to - fetch the right implmentation for the host it is running on. (ETA - not - known)<p> - <li><b>CIDL Compiler</b>: - There are no immediate plans to support the part of CIDL - corresponding to the OMG Persistent State Definition Langauge - (PSDL). For an up-to-date status of the CIDL, please see - $CIAO_ROOT/CCF/Documentation/TODO. - - <li> This is a set of the to-do associated with the DAnCE implementation. - <p> - <ul> - <li>We need to put the ComponentServer layer back in. In the current - implementation we use NodeApplication as both the Session Container - and the ComponentServer. We need to seperate the two - entities so we can hook any Container with the - ComponentServer. This change is essential to the RT - configuration and for the future of CIAO.<p> - - <li>Bala added ciao_[pre|post]_activate to the Session Component to - force the order of actions upon start-up, but this will not - work with the new DnC framework. We need to change the DnC framework - a bit to make this feature available again.<p> - - <li>We need to work on the Resource Management process in - DAnCE. Right now this part of the DnC spec is omitted in our - implementation.<p> - - <li>We need to work on the packaging process more so we can ship - binaries around when the dll/so is not available in the - local node.<p> - </ul> - -</ul> - -<h3>Cool ideas</h3> -<ul> - <li>Currently, developing a component will create 3 DLLs, one for - the client side stuff, one for the servant glue code, and one - for the executors. We need to figure out a way to automate - these stuff. MPC is a good starting point to generate scripts - to create project templates.<p> - - <li>Management of <code>ComponentInstallation</code> can be done - using a CORBAscript of some sort as this involve mostly - registering and unregistering of locations of component - implementations.<p> -</ul> - -<h3>Finished Work</h3> -<ul> - <li>The exception returned from CIAO_Daemon when it fails to - locate a DLL is quite useless to say the least. It needs - fixing.<p> - - CIAO now provides more meaningful error message now.<p> - - <li>We should create a new workspace/target in TAO such as CIAO_ONLY - to simplify the process of using CIAO. Currently, you have to - checkout the README file in CIAO_ROOT to figure out what TAO - modules are required by CIAO.<p> - - A new target "CIAO_Core" is now available in ACE's top level - Makefile.<p> - - <li>We need better debug info and a way to control how different - level of debug info are generated in CIAO.<p> Some preliminary - support using the <a href="EnvVars.html">environment - variable</a> <code>CIAO_DEBUG_LEVEL</code> has been added.<P> - - <li>Miminal implementation of CIDL compiler.<p> - - <li>CCM core workspace now contains 3 different DLLs: - <UL> - <li>CCM_Client - Needed by CCM-awared client - <li>CCM_Container - Needed by executors and servers - <li>CCM_Server - Needed by servers and CIAO tools - </UL><p> - - <li>A SessionContainer implementation.<p> - -</ul> - -</body> </html> diff --git a/CIAO/docs/Trace.html b/CIAO/docs/Trace.html deleted file mode 100644 index 001cddd007e..00000000000 --- a/CIAO/docs/Trace.html +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> -<head> -<!-- $Id$ --> - <title>CIAO Logging facility</title> -</head> -<body> -<h1>CIAO Logging Facility -</h1> -Based on the various logging techniques provided by ACE mechanism, CIAO -has introduced some new logging macros to assist CIAO developers in -diagnosing CIAO codes.<br> -<ul> - <li><span style="font-weight: bold;">CIAO_TRACE<br> - </span> By placing CIAO_TRACE at the beginning of -a CIAO function or method, you can get the tracing message of when -these functions are entered and when they are exited at runtime. To -enable this feature, however, you need to set CIAO_NTRACE to 0 in -$ACE_ROOT\ace\config.h. CIAO_TRACE works in a identical way as -ACE_TRACE. The only distinction is that CIAO_TRACE will output the the -tracing messages for CIAO projects only while dumping the excessive -messages from ACE on top of which CIAO is built. <br> - </li> -</ul> -<hr> -<address>Ming Xiong<br> -Last modified: Thur Aug 12:50 am 2005 -</address> -<!-- hhmts start --> -<!-- hhmts end --> -</body> -</html> diff --git a/CIAO/docs/XML/ciao_rt_cad_ext.dtd b/CIAO/docs/XML/ciao_rt_cad_ext.dtd deleted file mode 100644 index 7877afe2151..00000000000 --- a/CIAO/docs/XML/ciao_rt_cad_ext.dtd +++ /dev/null @@ -1,93 +0,0 @@ -<!-- - $Id$ - - DTD for CIAO ComponentAssembly real-time extension. - The extension for this type of XML document should be .RTD - - A component server can be associated to one conforming XML - descriptor file of this DTD via the <extension> tag under - <hostcollocation>, <processcollocation> as - - <extension class="RT-CAD-EXT" - origin="CIAO">pathname_to_xml_file.xml</extension> - - The root element is <rtcad-ext>. - - The <extension> tag under <homeplacement> element can be used to - specify the <rtpolicyset> named in this file (using rtpolicyset's - id attribute.) For example, - - <extension class="RT-POLICY-SET" - origin="CIAO">IDREF_of_some_rtpolicyset</extension> - ---> - -<!ELEMENT rtcad_ext ( rtresources?, rtpolicyset+ ) > - -<!-- RT Resources grammar definitions --> - -<!ELEMENT rtresources (threadpool | threadpoolwithlanes | connectionbands)* > - -<!ELEMENT threadpool EMPTY> -<!ATTLIST threadpool - id ID #REQUIRED - stacksize CDATA #REQUIRED - static_threads CDATA #REQUIRED - dynamic_threads CDATA #REQUIRED - priority CDATA #REQUIRED - buffering (yes | no) #REQUIRED - max_buffer CDATA #REQUIRED - buffer_size CDATA #REQUIRED > - -<!ELEMENT threadpoolwithlanes (lane+) > -<!ATTLIST threadpoolwithlanes - id ID #REQUIRED - stacksize CDATA #REQUIRED - borrowing (yes | no) #REQUIRED - buffering (yes | no) #REQUIRED - max_buffer CDATA #REQUIRED - buffer_size CDATA #REQUIRED > - -<!ELEMENT lane EMPTY> -<!ATTLIST lane - priority CDATA #REQUIRED - static_threads CDATA #REQUIRED - dynamic_threads CDATA #REQUIRED > - -<!ELEMENT connectionbands (band+) > -<!ATTLIST connectionbands - id ID #REQUIRED > - -<!ELEMENT band EMPTY> -<!ATTLIST band - low CDATA #REQUIRED - high CDATA #REQUIRED > - -<!-- RT Policy_Set grammar definitions --> -<!-- Each type of policy in rtpoliyset can only appear once --> -<!ELEMENT rtpolicyset (priority_model_policy, - threadpool_policy, - banded_connection_policy)+ > -<!ATTLIST rtpolicyset - id ID #REQUIRED> - -<!ELEMENT priority_model_policy EMPTY> -<!ATTLIST priority_model_policy - type (server_declared | client_propagated) #REQUIRED - priority CDATA #REQUIRED> - -<!ELEMENT threadpool_policy EMPTY> -<!-- - "idref" must be previously defined by the id attribute of - either <threadpool> or <threadpoollanes> element ---> -<!ATTLIST threadpool_policy - idref IDREF #REQUIRED> - -<!ELEMENT banded_connection_policy EMPTY> -<!-- - "idref" must be previously defined by the id attribute of - <connectionbands> element. ---> -<!ATTLIST banded_connection_policy - idref IDREF #REQUIRED>
\ No newline at end of file diff --git a/CIAO/docs/XML/componentassembly.dtd b/CIAO/docs/XML/componentassembly.dtd deleted file mode 100644 index d61fb47505f..00000000000 --- a/CIAO/docs/XML/componentassembly.dtd +++ /dev/null @@ -1,367 +0,0 @@ -<!-- DTD for Component Assembly Descriptor. The root element - is <componentassembly>. Elements are listed - alphabetically. - --> - -<!-- Simple xml link attributes based on W3C WD-xlink-19980303. - May change slightly when XLL is finalized. - --> -<!ENTITY % simple-link-attributes " - xml:link CDATA #FIXED 'SIMPLE' - href CDATA #REQUIRED -" > - -<!ELEMENT componentassembly - ( description? - , componentfiles - , partitioning - , connections? - , extension* - ) > -<!ATTLIST componentassembly - id ID #REQUIRED - derivedfrom CDATA #IMPLIED > - -<!-- If file not available locally, then download via codebase link --> -<!ELEMENT codebase EMPTY > -<!ATTLIST codebase - filename CDATA #IMPLIED - %simple-link-attributes; > - -<!ELEMENT componentfile - ( fileinarchive - | codebase - | link - ) > -<!ATTLIST componentfile - id ID #REQUIRED - type CDATA #IMPLIED > - -<!ELEMENT componentfileref EMPTY > -<!ATTLIST componentfileref - idref CDATA #REQUIRED > - -<!ELEMENT componentfiles - ( componentfile+ - ) > - -<!ELEMENT componentimplref EMPTY > -<!ATTLIST componentimplref - idref CDATA #REQUIRED > - -<!ELEMENT componentinstantiation - ( usagename? - , componentproperties? - , registercomponent* - , extension* - ) > -<!ATTLIST componentinstantiation - id ID #REQUIRED > - -<!ELEMENT componentinstantiationref EMPTY > -<!ATTLIST componentinstantiationref - idref CDATA #REQUIRED > - -<!ELEMENT componentproperties - ( fileinarchive - | codebase - ) > - -<!ELEMENT componentsupportedinterface - ( componentinstantiationref - | findby - )> - -<!ELEMENT connectevent - ( ( consumesport - | existinginterface - ) - , ( emitsport - | publishesport - ) - ) > -<!ATTLIST connectevent - id ID #IMPLIED > - -<!ELEMENT connecthomes - ( proxyhome - , destinationhome - ) > -<!ATTLIST connecthomes - id ID #IMPLIED > - -<!ELEMENT connectinterface - ( usesport - , ( providesport - | componentsupportedinterface - | existinginterface - | homeinterface - ) - ) > -<!ATTLIST connectinterface - id ID #IMPLIED > - -<!ELEMENT connections - ( connectinterface - | connectevent - | connecthomes - | extension - )* > - -<!ELEMENT consumesidentifier ( #PCDATA ) > - -<!ELEMENT consumesport - ( consumesidentifier - , ( componentinstantiationref - | findby - ) - )> - -<!ELEMENT description ( #PCDATA ) > - -<!ELEMENT destination ( #PCDATA ) > - -<!ELEMENT destinationhome - ( homeplacementref - | findby - ) > - -<!ELEMENT emitsidentifier ( #PCDATA ) > - -<!ELEMENT emitsport - ( emitsidentifier - , ( componentinstantiationref - | findby - ) - )> - -<!ELEMENT executableplacement - ( usagename? - , componentfileref - , componentimplref? - , invocation? - , destination? - , extension* - ) > -<!ATTLIST executableplacement - id ID #REQUIRED - cardinality CDATA "1" > - -<!ELEMENT existinginterface - ( findby )> - -<!-- The "extension" element is used for vendor-specific extensions --> -<!ELEMENT extension (#PCDATA) > -<!ATTLIST extension - class CDATA #REQUIRED - origin CDATA #REQUIRED - id ID #IMPLIED - extra CDATA #IMPLIED - html-form CDATA #IMPLIED > - -<!-- The "fileinarchive" element is used to specify a file in the archive. - If the file is independent of an archive then link is used to point to - the archive in which the file may be found. - --> -<!ELEMENT fileinarchive - ( link? ) > -<!ATTLIST fileinarchive - name CDATA #REQUIRED > - -<!ELEMENT findby - ( namingservice - | stringifiedobjectref - | traderquery - | homefinder - | extension - ) > - -<!ELEMENT homefinder EMPTY > -<!ATTLIST homefinder - name CDATA #REQUIRED > - -<!ELEMENT homeinterface - ( homeplacementref - | findby - )> - -<!ELEMENT homeplacement - ( usagename? - , componentfileref - , componentimplref? - , homeproperties? - , componentproperties? - , registerwithhomefinder* - , registerwithnaming* - , registerwithtrader* - , componentinstantiation* - , destination? - , extension* - ) > -<!ATTLIST homeplacement - id ID #REQUIRED - cardinality CDATA "1" > - -<!ELEMENT homeplacementref EMPTY > -<!ATTLIST homeplacementref - idref CDATA #REQUIRED > - -<!ELEMENT homeproperties - ( fileinarchive - | codebase - ) > - -<!ELEMENT hostcollocation - ( usagename? - , impltype? - , ( homeplacement - | executableplacement - | processcollocation - | extension - )+ - , destination? - ) > -<!ATTLIST hostcollocation - id ID #IMPLIED - cardinality CDATA "1" > - -<!ELEMENT impltype EMPTY > -<!ATTLIST impltype - language CDATA #REQUIRED - version CDATA #IMPLIED > - -<!ELEMENT invocation EMPTY > -<!ATTLIST invocation - args CDATA #REQUIRED > - -<!ELEMENT link ( #PCDATA ) > -<!ATTLIST link - %simple-link-attributes; > - -<!ELEMENT namingservice EMPTY > -<!ATTLIST namingservice - name CDATA #REQUIRED > - -<!ELEMENT partitioning - ( homeplacement - | executableplacement - | processcollocation - | hostcollocation - | extension - )* > - -<!ELEMENT processcollocation - ( usagename? - , impltype? - , ( homeplacement - | extension - )+ - , destination? - ) > -<!ATTLIST processcollocation - id ID #IMPLIED - cardinality CDATA "1" > - -<!ELEMENT providesidentifier ( #PCDATA ) > - -<!ELEMENT providesport - ( providesidentifier - , ( componentinstantiationref - | findby - ) - ) > - -<!ELEMENT proxyhome - ( homeplacementref - | findby - ) > - -<!ELEMENT publishesidentifier ( #PCDATA ) > - -<!ELEMENT publishesport - ( publishesidentifier - , ( componentinstantiationref - | findby - ) - ) > - -<!ELEMENT registercomponent - ( ( providesidentifier - | consumesidentifier - )? - , ( registerwithnaming - | registerwithtrader - )+ - ) > - -<!ELEMENT registerwithhomefinder EMPTY > -<!ATTLIST registerwithhomefinder - name CDATA #REQUIRED > - -<!ELEMENT registerwithnaming EMPTY > -<!ATTLIST registerwithnaming - name CDATA #IMPLIED > - -<!ELEMENT registerwithtrader - ( traderexport ) > -<!ATTLIST registerwithtrader - tradername CDATA #IMPLIED > - -<!-- DEVNOTE: is tradername necessary? --> -<!-- DEVNOTE: Should trader properties be specified in component file? - And in assembly file? --> - -<!ELEMENT stringifiedobjectref ( #PCDATA ) > - -<!ELEMENT traderconstraint ( #PCDATA ) > - -<!ELEMENT traderexport - ( traderservicetypename - , traderproperties - ) > - -<!ELEMENT traderpolicy - ( traderpolicyname - , traderpolicyvalue - ) > - -<!ELEMENT traderpolicyname ( #PCDATA ) > - -<!ELEMENT traderpolicyvalue ( #PCDATA ) > - -<!ELEMENT traderpreference ( #PCDATA ) > - -<!ELEMENT traderproperties - ( traderproperty+ ) > - -<!ELEMENT traderproperty - ( traderpropertyname - , traderpropertyvalue - ) > - -<!ELEMENT traderpropertyname ( #PCDATA ) > - -<!ELEMENT traderpropertyvalue ( #PCDATA ) > - -<!ELEMENT traderquery - ( traderservicetypename - , traderconstraint - , traderpreference? - , traderpolicy* - , traderspecifiedprop* - ) > - -<!ELEMENT traderservicetypename ( #PCDATA ) > - -<!ELEMENT traderspecifiedprop ( #PCDATA ) > - -<!ELEMENT usagename ( #PCDATA ) > - -<!ELEMENT usesidentifier ( #PCDATA ) > - -<!ELEMENT usesport - ( usesidentifier - , ( componentinstantiationref - | findby - ) - ) > diff --git a/CIAO/docs/XML/corbacomponent.dtd b/CIAO/docs/XML/corbacomponent.dtd deleted file mode 100644 index fd5ec98f377..00000000000 --- a/CIAO/docs/XML/corbacomponent.dtd +++ /dev/null @@ -1,316 +0,0 @@ -<!-- DTD for CORBA Component Descriptor. The root element is - <corbacomponent>. Elements are listed alphabetically. ---> - -<!-- Simple xml link attributes based on W3C WD-xlink-19980303. - May change when XLL is finalized. --> - -<!ENTITY % simple-link-attributes " - xml:link CDATA #FIXED 'SIMPLE' - href CDATA #REQUIRED -"> - -<!ELEMENT accessmode EMPTY> -<!ATTLIST accessmode - mode (READ_ONLY|READ_WRITE) #REQUIRED > - -<!ELEMENT componentfeatures - ( inheritscomponent? - , supportsinterface* - , ports - , operationpolicies? - , extension* - ) > -<!ATTLIST componentfeatures - name CDATA #REQUIRED - repid CDATA #REQUIRED > - -<!ELEMENT componentkind - ( service - | session - | process - | entity - | unclassified - ) > - -<!ELEMENT componentproperties - ( fileinarchive - ) > - -<!ELEMENT componentrepid EMPTY > -<!ATTLIST componentrepid - repid CDATA #IMPLIED > - -<!ELEMENT containermanagedpersistence - ( storagehome - , pssimplementation? - , accessmode - , psstransaction - , params? - ) > - -<!ELEMENT configurationcomplete EMPTY > -<!ATTLIST configurationcomplete - set ( true | false ) #REQUIRED > - -<!ELEMENT consumes - ( eventpolicy - , extension* ) > -<!ATTLIST consumes - consumesname CDATA #REQUIRED - eventtype CDATA #REQUIRED > - -<!ELEMENT corbacomponent - ( corbaversion - , cormponentrepid - , homerepid - , componentkind - , interop? - , transaction? - , security? - , threading - , configurationcomplete - , extendedpoapolicy* - , repository? - , segment* - , componentproperties? - , homeproperties? - , homefeatures+ - , componentfeatures+ - , interface* - , extension* - ) > - -<!ELEMENT corbaversion (#PCDATA) > - -<!ELEMENT description ( #PCDATA ) > - -<!ELEMENT emits - ( eventpolicy - , extension* ) > -<!ATTLIST emits - emitsname CDATA #REQUIRED - eventtype CDATA #REQUIRED > - -<!ELEMENT entity - ( servant ) > - -<!ELEMENT eventpolicy EMPTY> -<!ATTLIST eventpolicy - policy ( normal | default | transaction ) #IMPLIED> - -<!ELEMENT extendedpoapolicy EMPTY> -<!ATTLIST extendedpoapolicy - name CDATA #REQUIRED - value CDATA #REQUIRED > - -<!-- The "extension" element is used for vendor-specific extensions --> -<!ELEMENT extension (#PCDATA) > -<!ATTLIST extension - class CDATA #REQUIRED - origin CDATA #REQUIRED - id ID #IMPLIED - extra CDATA #IMPLIED - html-form CDATA #IMPLIED > - -<!-- The "fileinarchive" element is used to specify a file in the - archive. If the file is in another archive then link is used to - point to the archive in which the file may be found. - --> -<!ELEMENT fileinarchive - ( link? ) > -<!ATTLIST fileinarchive - name CDATA #REQUIRED > - -<!ELEMENT homefeatures - ( inheritshome? - , operationpolicies? - , extension* ) > -<!ATTLIST homefeatures - name CDATA #REQUIRED - repid CDATA #REQUIRED > - -<!ELEMENT homeproperties - ( fileinarchive - ) > - -<!ELEMENT homerepid EMPTY > -<!ATTLIST homerepid - repid CDATA #IMPLIED > - -<!ELEMENT inheritscomponent EMPTY> -<!ATTLIST inheritscomponent - repid CDATA #REQUIRED> - -<!ELEMENT inheritshome EMPTY> -<!ATTLIST inheritshome - repid CDATA #REQUIRED> - -<!ELEMENT inheritsinterface EMPTY> -<!ATTLIST inheritsinterface - repid CDATA #REQUIRED> - -<!ELEMENT ins EMPTY> -<!ATTLIST ins - name CDATA #REQUIRED > - -<!ELEMENT interface - ( inheritsinterface* - , operationpolicies? ) > -<!ATTLIST interface - name CDATA #REQUIRED - repid CDATA #REQUIRED > - -<!ELEMENT interop EMPTY> -<!ATTLIST interop - type CDATA #REQUIRED - direction ( hasview | isview ) #REQUIRED - descriptor CDATA #REQUIRED > - -<!ELEMENT link ( #PCDATA ) > -<!ATTLIST link - %simple-link-attributes; > - -<!ELEMENT objref EMPTY> -<!ATTLIST objref - string CDATA #REQUIRED > - -<!ELEMENT operation - ( transaction? - , requiredrights? ) > -<!ATTLIST operation - name CDATA #REQUIRED > - -<!-- an operation name of "*" specifies all operations in the current -scope --> -<!ELEMENT operationpolicies - ( operation+ ) > - -<!ELEMENT param EMPTY > -<!ATTLIST param - name CDATA #REQUIRED - value CDATA #REQUIRED > - -<!ELEMENT params (param+) > - -<!ELEMENT poapolicies EMPTY> -<!ATTLIST poapolicies - thread (ORB_CTRL_MODEL | SINGLE_THREAD_SAFE ) #REQUIRED - lifespan (TRANSIENT | PERSISTENT ) #REQUIRED - iduniqueness (UNIQUE_ID | MULTIPLE_ID) #REQUIRED - idassignment (USER_ID | SYSTEM_ID) #REQUIRED - servantretention (RETAIN | NON_RETAIN) #REQUIRED - requestprocessing (USE_ACTIVE_OBJECT_MAP_ONLY - |USE_DEFAULT_SERVANT - |USE_SERVANT_MANAGER) #REQUIRED - implicitactivation (IMPLICIT_ACTIVATION - |NON_IMPLICIT_ACTIVATION) #REQUIRED > - -<!ELEMENT ports - ( uses - | provides - | emits - | publishes - | consumes - )* > - -<!ELEMENT process - ( servant ) > - -<!ELEMENT provides - ( operationpolicies? - , extension* ) > -<!ATTLIST provides - providesname CDATA #REQUIRED - repid CDATA #REQUIRED - facettag CDATA #REQUIRED > - -<!ELEMENT pssimplementation EMPTY> -<!ATTLIST pssimplementation - id CDATA #REQUIRED > - -<!ELEMENT psstransaction (psstransactionisolationlevel?) > -<!ATTLIST psstransaction - policy (TRANSACTIONAL|NON_TRANSACTIONAL) #REQUIRED > - -<!ELEMENT psstransactionisolationlevel EMPTY> -<!ATTLIST psstransactionisolationlevel - level (READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE) - #REQUIRED > - -<!ELEMENT publishes - ( eventpolicy - , extension* ) > -<!ATTLIST publishes - publishesname CDATA #REQUIRED - eventtype CDATA #REQUIRED > - -<!ELEMENT repository - ( ins - | objref - | link - ) > -<!ATTLIST repository - type CDATA #IMPLIED > - -<!ELEMENT requiredrights - ( right* ) > - -<!ELEMENT right - ( description? ) > -<!ATTLIST right - name CDATA #REQUIRED > - -<!ELEMENT security - ( requiredrights? ) > -<!ATTLIST security - rightsfamily CDATA #REQUIRED - rightscombinator (secallrights | secanyrights) #REQUIRED > - -<!ELEMENT segment - ( segmentmember+ - , containermanagedpersistence? - , extension* - ) > -<!ATTLIST segment - name CDATA #REQUIRED - segmenttag CDATA #REQUIRED > - -<!ELEMENT segmentmember EMPTY> -<!ATTLIST segmentmember - facettag CDATA #REQUIRED > - -<!ELEMENT servant EMPTY > -<!ATTLIST servant - lifetime (component|method|transaction|container) #REQUIRED > - -<!ELEMENT service EMPTY > - -<!ELEMENT session - ( servant ) > - -<!ELEMENT storagehome EMPTY> -<!ATTLIST storagehome - id CDATA #REQUIRED > - -<!ELEMENT supportsinterface - ( operationpolicies? - , extension* ) > -<!ATTLIST supportsinterface - repid CDATA #REQUIRED > - -<!ELEMENT threading EMPTY> -<!ATTLIST threading - policy ( serialize | multithread ) #REQUIRED > - -<!ELEMENT transaction EMPTY > -<!ATTLIST transaction - use (self-managed|not-supported|required|supports|requiresnew| - mandatory|never) #REQUIRED > -<!ELEMENT unclassified - ( poapolicies ) > - -<!ELEMENT uses ( extension* ) > -<!ATTLIST uses - usesname CDATA #REQUIRED - repid CDATA #REQUIRED > diff --git a/CIAO/docs/XML/properties.dtd b/CIAO/docs/XML/properties.dtd deleted file mode 100644 index adfe8699fb7..00000000000 --- a/CIAO/docs/XML/properties.dtd +++ /dev/null @@ -1,87 +0,0 @@ -<!-- DTD for CORBA Component property file. The root element - is <properties>. Elements are listed alphabetically. ---> - -<!ELEMENT choice ( #PCDATA ) > - -<!ELEMENT choices ( choice | range )+ ) > - -<!ELEMENT defaultvalue ( #PCDATA ) > - -<!ELEMENT description ( #PCDATA ) > - -<!ELEMENT value ( #PCDATA ) > - -<!ELEMENT properties - ( description? - , ( simple - | sequence - | struct - | valuetype - )* - ) > - -<!ELEMENT range (value, value) > - -<!ELEMENT simple - ( description? - , value - , choices? - , defaultvalue? - ) > -<!ATTLIST simple - name CDATA #IMPLIED - type ( boolean - | char - | double - | float - | short - | long - | objref - | octet - | string - | ulong - | ushort - | longlong - | ulonglong - | wchar - | wstring - | fixed - ) #REQUIRED > - -<!ELEMENT sequence - ( description? - , ( simple* - | struct* - | sequence* - | valuetype* - ) - ) > -<!ATTLIST sequence - name CDATA #IMPLIED - type CDATA #REQUIRED > - -<!ELEMENT struct - ( description? - , ( simple - | sequence - | struct - | valuetype - )* - ) > -<!ATTLIST struct - name CDATA #IMPLIED - type CDATA #REQUIRED > - -<!ELEMENT valuetype - ( description? - , ( simple - | sequence - | struct - | valuetype - )* - ) > -<!ATTLIST valuetype - name CDATA #IMPLIED - type CDATA #REQUIRED - primarykey (true | false) "false" > diff --git a/CIAO/docs/XML/softpkg.dtd b/CIAO/docs/XML/softpkg.dtd deleted file mode 100644 index ee87b811cc6..00000000000 --- a/CIAO/docs/XML/softpkg.dtd +++ /dev/null @@ -1,220 +0,0 @@ -<!-- DTD for softpkg. Used to describe CORBA Component - implementations. The root element is <softpkg>. - Elements are listed alphabetically. - --> -<!-- Revision $Id$ --> -<!-- Simple xml link attributes based on W3C WD-xlink-19980303. - May change when XLL is finalized. --> - -<!ENTITY % simple-link-attributes " - xml:link CDATA #FIXED 'SIMPLE' - href CDATA #REQUIRED -"> - -<!ELEMENT author - ( name - | company - | webpage - )* > - -<!ELEMENT code - ( ( codebase - | fileinarchive - | link - ) - , entrypoint? - , usage? - ) > -<!ATTLIST code - type CDATA #IMPLIED > - -<!-- If file not available locally, then download via codebase link --> -<!ELEMENT codebase EMPTY > -<!ATTLIST codebase - filename CDATA #IMPLIED - %simple-link-attributes; > - -<!ELEMENT compiler EMPTY > -<!ATTLIST compiler - name CDATA #REQUIRED - version CDATA #IMPLIED > - -<!ELEMENT company ( #PCDATA ) > - -<!ELEMENT dependency - ( softpkgref - | codebase - | fileinarchive - | localfile - | name - | valuetypefactory - ) > -<!ATTLIST dependency - type CDATA #IMPLIED - action (assert | install) "assert"> - -<!ELEMENT description ( #PCDATA ) > - -<!ELEMENT descriptor - ( link - | fileinarchive - ) > -<!ATTLIST descriptor - type CDATA #IMPLIED> - -<!ELEMENT entrypoint ( #PCDATA) > - -<!-- The "extension" element is used for vendor-specific extensions --> -<!ELEMENT extension (#PCDATA) > -<!ATTLIST extension - class CDATA #REQUIRED - origin CDATA #REQUIRED - id ID #IMPLIED - extra CDATA #IMPLIED - html-form CDATA #IMPLIED > - -<!-- The "fileinarchive" element is used to specify a file in the archive. - If the file is in another archive then link is used to point to - the archive in which the file may be found. - --> -<!ELEMENT fileinarchive - ( link? ) > -<!ATTLIST fileinarchive - name CDATA #REQUIRED > - -<!ELEMENT idl - ( link - | fileinarchive - | repository - ) > -<!ATTLIST idl - id CDATA #REQUIRED - homeid CDATA #REQUIRED > - -<!ELEMENT implementation - ( description - | code - | compiler - | dependency - | descriptor - | extension - | programminglanguage - | humanlanguage - | os - | propertyfile - | processor - | runtime - )* > -<!ATTLIST implementation - id ID #IMPLIED - variation CDATA #IMPLIED > - -<!ELEMENT implref EMPTY > -<!ATTLIST implref - idref CDATA #REQUIRED > - -<!ELEMENT ins EMPTY > -<!ATTLIST inc - name CDATA #REQUIRED > - -<!ELEMENT humanlanguage EMPTY > -<!ATTLIST humanlanguage - name CDATA #REQUIRED > - -<!ELEMENT license ( #PCDATA ) > -<!ATTLIST license - %simple-link-attributes; > - -<!ELEMENT link ( #PCDATA ) > -<!ATTLIST link - %simple-link-attributes; > - -<!-- A file that should be available in the local environment --> -<!ELEMENT localfile EMPTY > -<!ATTLIST localfile - name CDATA #REQUIRED > - -<!ELEMENT name ( #PCDATA ) > - -<!ELEMENT objref EMPTY > -<!ATTLIST objref - string CDATA #REQUIRED > - -<!ELEMENT os EMPTY > -<!ATTLIST os - name CDATA #REQUIRED - version CDATA #IMPLIED> - -<!ELEMENT pkgtype ( #PCDATA ) > -<!ATTLIST pkgtype - version CDATA #IMPLIED > - -<!ELEMENT processor EMPTY > -<!ATTLIST processor - name CDATA #REQUIRED > - -<!ELEMENT programminglanguage EMPTY> -<!ATTLIST programminglanguage - name CDATA #REQUIRED - version CDATA #IMPLIED > - -<!ELEMENT propertyfile - ( fileinarchive - | link) > -<!ATTLIST propertyfile - type CDATA #IMPLIED > - -<!ELEMENT repository - ( ins - | objref - | link - ) > -<!ATTLIST repository - type CDATA #IMPLIED > - -<!ELEMENT runtime EMPTY > -<!ATTLIST runtime - name CDATA #REQUIRED - version CDATA #IMPLIED> - -<!ELEMENT softpkg - ( title - | pkgtype - | author - | description? - | license - | idl - | propertyfile - | dependency - | descriptor - | implementation - | extension - )* > -<!ATTLIST softpkg - name ID #REQUIRED - version CDATA #IMPLIED > - -<!ELEMENT softpkgref - ( ( fileinarchive - | link - ) - , implref? - ) > - -<!ELEMENT title ( #PCDATA ) > - -<!ELEMENT usage ( #PCDATA ) > - -<!ELEMENT valuetypefactory - ( codebase - | fileinarchive - | link - ) > -<!ATTLIST valuetypefactory - repid CDATA #REQUIRED - valueentrypoint CDATA #IMPLIED - factoryentrypoint CDATA #IMPLIED > - -<!ELEMENT webpage ( #PCDATA ) > -<!ATTLIST webpage - %simple-link-attributes; > diff --git a/CIAO/docs/cidlc.html b/CIAO/docs/cidlc.html deleted file mode 100644 index 3fbc7f80191..00000000000 --- a/CIAO/docs/cidlc.html +++ /dev/null @@ -1,296 +0,0 @@ -<!-- $Id$ --> -<html> - -<title>CIAO CIDL Compiler Options</title> - -<body> - -<h3>CIAO CIDL Compiler Options</h3> - -<div align="center"> -<table width="0" border="0" cellspacing="0" cellpadding="0"> -<tr> -<td> -<p> -<code> -./cidlc { OPTIONS } <cidl file> -</code> -</p> -<dl> -<dt> -<code> -[--version] -</code> -</dt> -<dd> -<p> -Display version information and exit. -</p> -</dd> -<dt> -<code> -[--help] -</code> -</dt> -<dd> -<p> -Display usage information and exit. -</p> -</dd> -<dt> -<code> -[--help-html] -</code> -</dt> -<dd> -<p> -Dump usage information in html format and exit. -</p> -</dd> -<dt> -<code> -[-I dir] -</code> -</dt> -<dd> -<p> -Add the directory dir to the list of directories to be searched for header files. -</p> -</dd> -<dt> -<code> -[-D name[=definition]] -</code> -</dt> -<dd> -<p> -Predefine name as a macro with the value definition if present, 1 otherwise. -</p> -</dd> -<dt> -<code> -[--gen-exec-impl] -</code> -</dt> -<dd> -<p> -Generate the executor implementation classes. -</p> -</dd> -<dt> -<code> -[--lem-force-all] -</code> -</dt> -<dd> -<p> -Force generation of local executor mapping for all IDL types including those not used (directly or inderectly) by compositions. This option is useful for generating a common portion of local executor mapping used by more than one component or composition. -</p> -</dd> -<dt> -<code> -[--lem-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default 'E' when constructing name of local executor mapping file. -</p> -</dd> -<dt> -<code> -[--lem-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of local executor mapping file. -</p> -</dd> -<dt> -<code> -[--svnt-hdr-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default '_svnt.h' when constructing name of servant file. -</p> -</dd> -<dt> -<code> -[--svnt-hdr-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of servant file. -</p> -</dd> -<dt> -<code> -[--svnt-src-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default '_svnt.cpp' when constructing name of servant file. -</p> -</dd> -<dt> -<code> -[--svnt-src-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of servant file. -</p> -</dd> -<dt> -<code> -[--svnt-export-macro macro] -</code> -</dt> -<dd> -<p> -Replace default servant DLL export macro with provided ,acro. -</p> -</dd> -<dt> -<code> -[--svnt-export-include file] -</code> -</dt> -<dd> -<p> -Replace default servant export include file with provided file. -</p> -</dd> -<dt> -<code> -[--suppress-register-factory] -</code> -</dt> -<dd> -<p> -Suppress generation of code to register eventtype factories for event sinks. -</p> -</dd> -<dt> -<code> -[--custom-container type] -</code> -</dt> -<dd> -<p> -Generate code for custom container of the provided type. -</p> -</dd> -<dt> -<code> -[--desc-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default '.ccd' when constructing name of descriptor file. -</p> -</dd> -<dt> -<code> -[--desc-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of descriptor file. -</p> -</dd> -<dt> -<code> -[--exec-hdr-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default '_exec.h' when constructing name of executor implementation file. -</p> -</dd> -<dt> -<code> -[--exec-hdr-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of executor implementation file. -</p> -</dd> -<dt> -<code> -[--exec-src-file-suffix suffix] -</code> -</dt> -<dd> -<p> -Use provided suffix instead of default '_exec.cpp' when constructing name of executor implementation file. -</p> -</dd> -<dt> -<code> -[--exec-src-file-regex regex] -</code> -</dt> -<dd> -<p> -Use provided regular expression when constructing name of executor implementation file. -</p> -</dd> -<dt> -<code> -[--exec-export-macro macro] -</code> -</dt> -<dd> -<p> -Replace default executor DLL export macro with provided macro. -</p> -</dd> -<dt> -<code> -[--exec-export-include file] -</code> -</dt> -<dd> -<p> -Replace default executor export include file with provided file. -</p> -</dd> -<dt> -<code> -[--trace-semantic-actions] -</code> -</dt> -<dd> -<p> -Turn on semantic actions tracing facility. -</p> -</dd> -<dt> -<code> -[--preprocess-only] -</code> -</dt> -<dd> -<p> -Run preprocessor only and output result to stdout. -</p> -</dd> -</dl> -</td> -</tr> -</table> -</div> -</body> -</html> diff --git a/CIAO/docs/com-impl.html b/CIAO/docs/com-impl.html deleted file mode 100644 index ed5948ab9cf..00000000000 --- a/CIAO/docs/com-impl.html +++ /dev/null @@ -1,60 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Implementing a CCM Component</title> -</head> - -<body> -<h1>Implementing a CCM Component</h1> - -This document explains how to implement a single component. At this -moment, CIAO lacks a CIDL compiler, and we depends on manually -generating the servant glue code for containers and local executor -interface. Check out this <a href="new_components.html">page</a> to -find how all files are generate4d in CIAO. -The following figure shows how this is done:<p> - - -<img src="imgs/File-Gen-Existing.png"><p> - -And when we have a working CIDL (or, CCIDL "CIAO's Component -Implementation Definition Language") compiler, the file will be -generated using a CIDL file (which is rather simple.) This figure -depicts the "Right Way" [TM] this should be done:<p> - -<img src="imgs/File-Gen-Future.png"><p> - -Checkout a <a href="../tools/CCIDL/README">list of things to do</a> for implementing CIDL compiler.<p> - -I think it is debatable whether we should merge the "Servant DLL" and -"Component Implementation DLL" into one DLL. Me think not. My -approach, however, creates some complication on requireing a mechanism -to locate the servant code (and DLL) from component implementation. - - -<h2>Libraries Dependencies</h2> Implementing a component creates 3 -DLL's as shown in the above figure. Both "Servant DLL" and "Component -Implementation DLL" depend on the "Client DLL". "Servant DLL" and -"Component Implementation DLL" are not mutually dependent, however. -All the generated DLLs depends on other TAO and CIAO common -libraries. Here's a break down of which libraries depends on which -other libraries: - -<ul> - <li><b>Client DLL</b>: ace.lib tao.lib TAO_IFR_Client.lib - CIAO_Clientd.lib - <li><b>Servant DLL</b>: ace.lib tao.lib <b>Client DLL</b> - TAO_IFR_Client.lib TAO_PortableServer.lib TAO_Security.lib - CIAO_Container.lib CIAO_Client.lib - <li><b>Component Implementation DLL</b>: ace.lib tao.lib - <b>Client DLL</b> TAO_IFR_Client.lib TAO_Security.lib - CIAO_Container.lib -</ul> - - <!--#include virtual="/~nanbor/signature.html" --> -<!-- <hr> --> -<!-- <\!-- hhmts start -\-> --> -<!-- Last modified: Tue Dec 10 22:41:50 Central Standard Time 2002 --> -<!-- <\!-- hhmts end -\-> --> -<!-- <address>Nanbor Wang <nanbor@cs.wustl.edu></address> --> -</body> </html> diff --git a/CIAO/docs/imgs/CCM-v5.vsd b/CIAO/docs/imgs/CCM-v5.vsd Binary files differdeleted file mode 100644 index 7f4d7539050..00000000000 --- a/CIAO/docs/imgs/CCM-v5.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/CCM.vsd b/CIAO/docs/imgs/CCM.vsd Binary files differdeleted file mode 100644 index 239a4e7943d..00000000000 --- a/CIAO/docs/imgs/CCM.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/DAnCE-Dynamic.png b/CIAO/docs/imgs/DAnCE-Dynamic.png Binary files differdeleted file mode 100644 index 2e9917e1520..00000000000 --- a/CIAO/docs/imgs/DAnCE-Dynamic.png +++ /dev/null diff --git a/CIAO/docs/imgs/DAnCE-Dynamic.sxd b/CIAO/docs/imgs/DAnCE-Dynamic.sxd Binary files differdeleted file mode 100644 index b795c5ae049..00000000000 --- a/CIAO/docs/imgs/DAnCE-Dynamic.sxd +++ /dev/null diff --git a/CIAO/docs/imgs/File-Gen-Existing.png b/CIAO/docs/imgs/File-Gen-Existing.png Binary files differdeleted file mode 100644 index 8deb5d32fd3..00000000000 --- a/CIAO/docs/imgs/File-Gen-Existing.png +++ /dev/null diff --git a/CIAO/docs/imgs/File-Gen-Future.png b/CIAO/docs/imgs/File-Gen-Future.png Binary files differdeleted file mode 100644 index 1daef691bdf..00000000000 --- a/CIAO/docs/imgs/File-Gen-Future.png +++ /dev/null diff --git a/CIAO/docs/imgs/File_Generation_Flow.vsd b/CIAO/docs/imgs/File_Generation_Flow.vsd Binary files differdeleted file mode 100644 index ef6332d49ac..00000000000 --- a/CIAO/docs/imgs/File_Generation_Flow.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/IDL-CIDL-classes.vsd b/CIAO/docs/imgs/IDL-CIDL-classes.vsd Binary files differdeleted file mode 100644 index 0986aa78d70..00000000000 --- a/CIAO/docs/imgs/IDL-CIDL-classes.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/basic-container.png b/CIAO/docs/imgs/basic-container.png Binary files differdeleted file mode 100644 index 9df767b45a2..00000000000 --- a/CIAO/docs/imgs/basic-container.png +++ /dev/null diff --git a/CIAO/docs/imgs/ciao-dynamic1.jpg b/CIAO/docs/imgs/ciao-dynamic1.jpg Binary files differdeleted file mode 100644 index a385ad30848..00000000000 --- a/CIAO/docs/imgs/ciao-dynamic1.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/ciao-dynamic2.jpg b/CIAO/docs/imgs/ciao-dynamic2.jpg Binary files differdeleted file mode 100644 index e0a705b9d3a..00000000000 --- a/CIAO/docs/imgs/ciao-dynamic2.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/ciao-static-vs-dynamic.jpg b/CIAO/docs/imgs/ciao-static-vs-dynamic.jpg Binary files differdeleted file mode 100644 index b876b7a82cb..00000000000 --- a/CIAO/docs/imgs/ciao-static-vs-dynamic.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/ciao-static1.jpg b/CIAO/docs/imgs/ciao-static1.jpg Binary files differdeleted file mode 100644 index 313084ff34d..00000000000 --- a/CIAO/docs/imgs/ciao-static1.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/ciao-static2.jpg b/CIAO/docs/imgs/ciao-static2.jpg Binary files differdeleted file mode 100644 index 86ded87f448..00000000000 --- a/CIAO/docs/imgs/ciao-static2.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/component-basic.png b/CIAO/docs/imgs/component-basic.png Binary files differdeleted file mode 100644 index 520dc9c4cca..00000000000 --- a/CIAO/docs/imgs/component-basic.png +++ /dev/null diff --git a/CIAO/docs/imgs/dance_arch.jpg b/CIAO/docs/imgs/dance_arch.jpg Binary files differdeleted file mode 100644 index 3c91b912213..00000000000 --- a/CIAO/docs/imgs/dance_arch.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/dance_arch.vsd b/CIAO/docs/imgs/dance_arch.vsd Binary files differdeleted file mode 100644 index cfe75fca9c6..00000000000 --- a/CIAO/docs/imgs/dance_arch.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/deployment.png b/CIAO/docs/imgs/deployment.png Binary files differdeleted file mode 100644 index 4cd8c6be646..00000000000 --- a/CIAO/docs/imgs/deployment.png +++ /dev/null diff --git a/CIAO/docs/imgs/extended-container.png b/CIAO/docs/imgs/extended-container.png Binary files differdeleted file mode 100644 index 39977e6eb83..00000000000 --- a/CIAO/docs/imgs/extended-container.png +++ /dev/null diff --git a/CIAO/docs/imgs/home-config.png b/CIAO/docs/imgs/home-config.png Binary files differdeleted file mode 100644 index aebf5e62751..00000000000 --- a/CIAO/docs/imgs/home-config.png +++ /dev/null diff --git a/CIAO/docs/imgs/static_dance_arch.jpg b/CIAO/docs/imgs/static_dance_arch.jpg Binary files differdeleted file mode 100644 index b12694ce348..00000000000 --- a/CIAO/docs/imgs/static_dance_arch.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/static_dance_arch.vsd b/CIAO/docs/imgs/static_dance_arch.vsd Binary files differdeleted file mode 100644 index 1ca1f50f69d..00000000000 --- a/CIAO/docs/imgs/static_dance_arch.vsd +++ /dev/null diff --git a/CIAO/docs/imgs/static_dance_impl.jpg b/CIAO/docs/imgs/static_dance_impl.jpg Binary files differdeleted file mode 100644 index cd2f9f0dc81..00000000000 --- a/CIAO/docs/imgs/static_dance_impl.jpg +++ /dev/null diff --git a/CIAO/docs/imgs/static_dance_impl.vsd b/CIAO/docs/imgs/static_dance_impl.vsd Binary files differdeleted file mode 100644 index 6c21e6139d4..00000000000 --- a/CIAO/docs/imgs/static_dance_impl.vsd +++ /dev/null diff --git a/CIAO/docs/index.html b/CIAO/docs/index.html deleted file mode 100644 index aa48ade7ee4..00000000000 --- a/CIAO/docs/index.html +++ /dev/null @@ -1,178 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> -<head> -<!-- $Id$ --> - <title>CIAO - Component-Integrated ACE ORB</title> -</head> -<body> -<h1>CIAO - Component-Integrated ACE ORB</h1> -<h2>Introduction</h2> -CIAO is TAO's implementation of <a - href="http://www.omg.org/cgi-bin/doc?formal/02-06-65"> CORBA Component -Model (CCM)</a> specially optimized for distributed real-time embedded -(DRE) systems. -This page contains links to other documents and resources for building -and using CIAO.<br> -<br> -<hr> -<h2>The CIAO Project</h2> -<ul> - <li>The main <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html"> -CIAO project page</a>.</li> - <li><a href="../CIAO-INSTALL.html">Installation instructions</a> for -CIAO<br> - </li> - <li>CIAO <a href="releasenotes/index.html">Status (aka. release -notes.)</a></li> - <li>CIAO <a href="cidlc.html">CIDL Compiler Options</a><br> - <li>CIAO <a href="EnvVars.html">Environment Variables</a> <br> - </li> - <li>CIAO <a href="Trace.html">Logging Facility</a><br> - </li> - <li>CIAO <a href="../NEWS">NEWS</a></li> -</ul> -<hr> -<ul> -</ul> -<ul> - <p><!-- - - <li>This <a href="new_components.html">page on implementing new - - component</a> explains all the user-defined and tool-generated - - files when implementing a component.<p> - - - - <li>The <a href="ConfigValues.html">Configuration Name/Value - - lists</a> lists all the configuration values that CIAO will pass - - into vaious CCM mechanisms. The information shown in this page - - is not visible to CIAO end-users, which include modeling tool - - developers. The information that matters for most users is how - - these configurations are represented in various XML - - descriptors and CIDL specifications.<p> - ---> - </p> -</ul> -<h2>CCM-defined Interface Diagrams</h2> -Here is a set of UML diagrams that we use to figure out the -relationship among all the different interfaces in CCM. You can -browse the related part from the following list: -<ul> - <li><a href="imgs/component-basic.png"> Basic component interfaces </a></li> - <li><a href="imgs/home-config.png"> Home and configuration interfaces - </a></li> - <li><a href="imgs/basic-container.png"> Basic container interfaces </a></li> - <li><a href="imgs/extended-container.png"> Extended container -interfaces </a></li> - <li><a href="imgs/DAnCE-Dynamic.png"> Deployment and configuration -(DAnCE) interfaces </a></li> -</ul> -All these diagrams are generated from the <a href="imgs/CCM.vsd">CCM.vsd -Visio file</a> (The same file in Visio V.5 format is <a - href="imgs/CCM-v5.vsd">here</a>.) and OpenOffice source file - <a href="imgs/DAnCE-Dynamic.sxd">DAnCE-Dynamic.sxd</a> <br> -<br> -<hr> -<h2>CIAO's D&C Framework (DAnCE) part-by-part</h2> -DAnCE's implementation is based on the OMG's Deployment and Configuration -Specification version [ptc/2003-07-08]. Here is a list of the major -actors of CIAO runtime that a user should be aware of. -<ul> - <li><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000011.html"><strong>NodeManager:</strong></a> -A daemon process responsible for managing NodeApplications that reside -in the same physical node.</li> - <p> </p> - <li><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000007.html"><strong>NodeApplicationManager:</strong></a> -A infrastructure component responsible for deploying -locality-constrained applications onto a node. A NodeApplicationManager -is usually created by NodeManager.<br> - </li> - <p> </p> - <li><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000013.html"><strong>NodeApplication:</strong></a> -A component server instance spawned by NodeApplicationManager. <br> - </li> - <p> </p> - <li><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000008.html"><strong>ExecutionManager:</strong></a> -Infrastructure component responsible for executing an component-based -DRE application based on the information from DeploymentPlan.</li> - <p> </p> - <li><strong><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000010.html"><strong>DomainApplicationManager</strong></a></strong>: -Domain-oriented auxiliary component created and used by -ExecutionManager to deploy the component-based DRE application at the -domain level. <br> - <br> - </li> - <li><strong><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html"><strong></strong></a></strong><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html"><strong></strong></a><strong><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html"><strong></strong></a></strong><strong><a - href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/dir_000009.html"><strong>PlanLauncher</strong></a></strong><strong>: - </strong>Executor component responsible for parsing the XML-based -deploymentplan and passing the plan to ExecutionManager for execution.<br> - <br> -To understand the runtime inter-relationships of various CIAO actors, -you may click <a href="imgs/DAnCE-Dynamic.png">here</a> to see a -sequence diagram that gives you a clear representation of what's -happening when you start a DAnCE-based DRE application. Special thanks -to <a href="mailto:Friedhelm.wolf@gmx.de">Friedhelm Wolf</a> who -initiated and contributed most part of this -diagram.<br> - <br> - </li> -</ul> -<hr> -<h2>CIAO CCM tutorials</h2> -There are several tutorials to help you understand CIAO and CCM: -<ul> - <li> <a - href="http://www.cs.wustl.edu/%7Eschmidt/OMG-CCM-Tutorial.ppt">Tutorial -on the CORBA Component Model (CCM)</a>. This tutorial presents an -overview of the CORBA Component Model (CCM), -describing its key features and illustrating how to write CCM -applications in C++. - <p> </p> - </li> - <li><a href="../examples/Hello"><code>$(CIAO_ROOT)/DAnCE/examples/Hello.</code></a> -This example illustrates how to build and deploy a CIAO based -application <a href="../examples/Hello/step-by-step.html">step-by-step</a>. -There is -also a detailed documentation explaining this example avalable in both <a - href="http://www.dre.vanderbilt.edu/%7Edengg/CCM/CCM_Hello_example.pdf">PDF</a> -and <a - href="http://www.dre.vanderbilt.edu/%7Edengg/CCM/CCM_Hello_example.ppt"> -PowerPoint</a> format.<br> - <br> - </li> - <li><a href="./tutorials/Quoter/Simple">$(CIAO_ROOT)/docs/tutorials/Quoter/Simple</a>. -This example illustrates the implementation of the "famous" Quoter -example in the CIAO world. Please refer to <a - href="tutorials/Quoter/Simple/README.html">README</a> for more -information. </li> <P> - -<li><a -href="./tutorials/CoSMIC/">$(CIAO_ROOT)/docs/tutorials/COSMIC/</a>. -This is a step-by-step tutorial on how to use CoSMIC to -generate deployment descriptors requied by the above <a -href="./tutorials/Quoter/Simple">Quoter</a> example </li> - -</ul> -<!--#include virtual="/~nanbor/signature.html" --><!-- <hr> --><!-- <\!-- hhmts start -\-> --><!-- Last modified: Mon Nov 04 07:55:22 Central Standard Time 2002 --><!-- <\!-- hhmts end -\-> --> -<!-- <address>Nanbor Wang <nanbor@cs.wustl.edu></address> --><!-- LocalWords: CCM UML vsd Visio - - --> -</body> -</html> diff --git a/CIAO/docs/new_components.html b/CIAO/docs/new_components.html deleted file mode 100644 index db10fca2103..00000000000 --- a/CIAO/docs/new_components.html +++ /dev/null @@ -1,129 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Procedures to prepare a new component implementation</title> -</head> - -<body> -<h1>Preparing a new component implementation</h1> - -I am documenting the steps required to prepare a component implementation. -Personally, I prefer to set up a directory to contain only <b>one</b> -component implementation. I believe the procedures outlined below -will work if you have multiple component implementation in the same -IDL files. The purpose of this document is to record the procedures -and steps on how these files relate to each others and how they come -about during the development process.<p> - -Assuming we need to create a new component called -<code><b>Orc</b></code>. Below is the list of files you'll need to -deal with. Our goal is to greatly reduce the number of files you need -to deal with manually... - -<ol> - <li><font color="red"><code><b>Orc</b>.idl</code></font> - This is - the IDL file that contains the component and component home - definitions.<p> - - As you will eventually create 3 DLLs (or shared objects), you - will also need 3 sets of different export macros files as - following.<p> - - <li><code><b>Orc</b>_stub_export.h</code> - This file is generated - using the following command:<p> - - <code>generate_export_file.pl <b>ORC</b>_STUB > <b>Orc</b>_stub_export.h</code><p> - - This file makes macros like <code><b>ORC</b>_STUB_Export</code> - and friends available. They are usually controlled by - <code><b>ORC</b>_STUB_BUILD_DLL</code><p> - - <li><code><b>Orc</b>_svnt_export.h</code> - This file is generated - using the following command:<p> - - <code>generate_export_file.pl <b>ORC</b>_SVNT > <b>Orc</b>_svnt_export.h</code><p> - - This file makes macros like <code><b>ORC</b>_SVNT_Export</code> - and friends available. They are usually controlled by - <code><b>ORC</b>_SVNT_BUILD_DLL</code><p> - - <li><code><b>Orc</b>_exec_export.h</code> - This file is generated - using the following command:<p> - - <code>generate_export_file.pl <b>ORC</b>_EXEC > <b>Orc</b>_exec_export.h</code><p> - - This file makes macros like <code><b>ORC</b>_EXEC_Export</code> - and friends available. They are usually controlled by - <code><b>ORC</b>_EXEC_BUILD_DLL</code><p> - - <li><code><b>Orc</b>E.idl</code> - Component Executor equivalent - interface definitions. This file should be generated - automatically by the CIDL compiler as illustrated in this - <a href="com-impl.html">file</a> but we currently are still - working on the implementation of the CIDL compiler. Therefore, - you still need to create this file manually.<p> - - <li><font color="red"><code><b>Orc</b>EI.idl</code></font> - - Optional Component Executor implementation interface - definitions. Often time, when you implement a non-trivial - monolithic component implementation, you are required to define - the monolithic local executor interface which often inherits - from the component monolithic executor interface and all the - provided interfaces. The actually executor implementation will - inherit from this user defined interface instead of the default - executor mapping defined in <code><b>Orc</b>E.idl</code>. You - will need to do the same when you wish to support non-vanilla - component interface, such as - <code>Components::SessionComponent</code>, and/or - <code>Components::SessionSynchronization</code>.<p> - - Ideally, it would be perfect if we can auto-generate this - optional IDL file using CIDL compiler. However, I'm not sure - the plan CIDL language contains enough information that's - required to generate this file.<p> - - <li><font color="red"><code><b>Orc</b>_exec.*</code></font> - These - are files containing the actually component implementation that - you have to write manually. It, however, depends on the - equivalent executor IDL definition (that will be) generated by - the CIDL files.<p> - - <li><code><b>Orb</b>_svnt.*</code> - These are files containing the - servant glue code that bridge a container to the component - executor that you implement. Like the component executor - mapping IDL file, these files should be generated by the CIDL - compiler but are currently generated manually.<p> - - <li><code><b>Orc</b>.csd</code> - Component Softpkg Descriptor. We - need some kind of tool to generate this file automatically. It - is currently being generated manually, however.<p> - - - <li><code><b>Orc</b>.ssd</code> - Servant Softpkg Descriptor. This - is a CIAO extension descriptor file which uses the same softpkg - DTD as described in CCM spec. CIAO requires this file because - CIAO separates the executors into a completely separate DLL. - Like <code><b>Orc</b>.csd</code>, this file should be generated - automatically through some tool, but it is currently manually - crafted.<p> - - <li><code><b>Orc</b>.ccd</code> - CORBA Component Descriptor. This - file is currently being generated manually thou a template - should really be generated by CIAO's CIDL compiler.<p> - - <li><font color="red"><code><b>Orc</b>.mpc</code></font> - Makefile - Project Creator definition file. There is a perl script to - generate a minimal MPC definition at - <code>$(CIAO_ROOT)/bin/generate_component_mpc.pl</code> so - people can use it to implement the simplest component - implementation outlined in this file.<p> - -</ol> - - -<hr> -<address></address> -<!-- hhmts start --> -Last modified: Fri Mar 21 16:06:48 Central Standard Time 2003 -<!-- hhmts end --> -</body> </html> diff --git a/CIAO/docs/releasenotes/dance.html b/CIAO/docs/releasenotes/dance.html deleted file mode 100644 index 6980860b3c8..00000000000 --- a/CIAO/docs/releasenotes/dance.html +++ /dev/null @@ -1,229 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1" ?> -<!-- $Id$ --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <title>Deployment And Configuration Engine (DAnCE) Release Notes</title> - </head> - - <body> - <h1>Deployment And Configuration Engine (DAnCE) Release Notes</h1> - - <p><b>D</b>eployment <b>An</b>d <b>C</b>onfiguration <b>E</b>ngine - <b>(DAnCE)</b> is an implementation of the run-time infrastructure as - defined by the final adopted <a - href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-08">OMG Deployment & - Configuration (D&C) specification (ptc/2003-07-08)</a>, which deals with the - configuration and deployment of component-based applications. Currently - DAnCE only supports the deployment & configuration of CORBA - Component Model (CCM)-based applications, though we are interested in - generalizing it for other component models in future work. DAnCE uses - XML descriptors to drive the deployment it performs. One way to - generate these descriptors is using the <b>Co</b>mponent - <b>S</b>ynthesis using <b>M</b>odel-<b>I</b>ntegrated <b>C</b>omputing - (<a href="http://www.dre.vanderbilt.edu/cosmic">CoSMIC</a>) tool-suite. - DAnCE currently uses <b>C</b>omponent <b>I</b>ntegrated <b>A</b>CE - <b>O</b>RB (<a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>) as - the underlying CCM implementation in the current release, though again - we are interested in generalizing it for other CCM implementations in - future work. - </p> - - <h3>D&C XML Schema Handling</h3> - - <p> The XML handlers shipped with DAnCE are capable of handling almost - all elements that are defined in the D&C schema. In this context, - handling refers to reading the XML tags and converting them to the - equivalent in-memory IDL-based data structures defined by the - specifications. DAnCE supports the following types of descriptors - specified in the D&C specification:</p> - <ul> - <li> - <p> - <b>CORBA Component Descriptor(.ccd)</b> – - Contains information about component interfaces including - component ports. - </p> - </li> - <li> - <p> - <b>Component Implementation Descriptor(.cid)</b> - – Contains information about component implementations - which might be either monolithic or assembly based. In the case - of assembly based implementations, this descriptor also captures - the dependencies and the connections among components - </p> - </li> - <li> - <p> - <b>Implementation Artifact Descriptor(.iad)</b> - – Contains information about implementation artifacts - in-cluding dependencies between such artifacts - </p> - </li> - <li> - <p> - <b>Component Package Descriptor(.cpd)</b> – - Contains information about grouping of multiple imple-mentations - of the same component interface into component packages - </p> - </li> - <li> - <p> - <b>Package Configuration Descriptor(.pcd)</b> - – Contains information about specific configurations of - such component packages - </p> - </li> - <li> - <p> - <b>Component Domain Descriptor(.cdd)</b> – - Contains information about the target environment in which the - component-based application will be deployed - </p> - </li> - <li> - <p> - <b>TopLevel Package Descriptor(.tpd)</b> – Contains - information identifying the top-level element in a component - package descriptor which might include information about multiple - elements - </p> - </li> - - <li> - <p> - <b>Component Deployment Plan(.cdp)</b> – Contains - information that actually drives the deployment including - information about individual components that represent the - leaf-nodes in case of a hierarchical assembly, connections - between components, and assignment of components to nodes etc. - </p> - </li> - </ul> - <p> For all the above elements, DAnCE supports proxying of the elements - as defined by XMI, i.e, DAnCE supports both parsing of the elements - inline and reference through <b><code>href</code></b> attribute. Some - D&C schema elements are however not handled, including:</p> - <ul> - <li> - <p> - <b>Deployment:Any</b> – This is a complex - element that is composed of many sub-elements. Currently, DAnCE - only parses a subset of the sub-elements of - <b><code>Deployment:Any</code></b>. Specifically, DAnCE supports all the - basic data types defined as part of <b><code>Deployment:Any</code></b>, - and doesn't understand any complex types. - </p> - </li> - <li> - <p> - <b>xmi:Extension</b> – This element allows the - augmention of the standard D&C schema with user-defined - elements. Currently DAnCE doesn't support user-defined extensions - to the schema. - </p> - </li> - <li> - <p> - <b>Deployment:Requirement</b> – This element is - allows the description of requirements of component-based - applications. Since handling this description requires interaction - with the <b><code>TargetManager</code></b> interface (which is not yet - supported), support for <b><code>Deployment:Requirement</code></b> is not - present. - </p> - </li> - <li> - <p> - <b>Deployment:ComponentPropertyDescriptioncode></b> – - This element is used to specify default values for attributes of - component. DAnCE doesn't support setting the values for attributes - of components using this tag. - </p> - </li> - <li> - <p> - <b>Deployment:ComponentExternalPortEndpoint, - Deployment:ExternalReferenceEndpoint</b> – These - elements are used to specify connections between ports of - components in one assembly with ports of components in a different - assembly, or connections between component ports and external - connection endpoints. These features are needed to support - assemblies of components. DAnCE doesn't support yet hierarchical - assemblies, i.e., creation of assemblies which can themselves - contain sub-assemblies. - </p> - </li> - <li> - <p> - <b>Deployment:PlanPropertyMapping</b> – This - element is used to delegate property mapping between a component's - external properties to properties of subcomponents that actually - implement the behavior of the larger component. Since DAnCE doesn't - support hierarchical assemblies, this tag is not yet supported. - </p> - </li> - </ul> - <p> We plan to support these features in future versions of DAnCE. - </p> - <hr /> - <h3> D&C Management Interfaces</h3> - - <p> The D&C specification defines a set of standard CORBA - interfaces that are used to perform the deployment of component-based - applications. These interfaces depend on the in-memory IDL data - structures that are built by DAnCE's XML handlers. Below we outline the - list of interfaces defined by the specification and the level of - support for each interface in DAnCE:</p> - <ul> - <li> - <p> - <b>RepositoryManager</b> – Only the - <b><code>installPackage()</code></b> and <b><code>findPackageByName()</code></b> - operations of this interface are implemented. - </p> - </li> - <li> - <p> - <b>TargetManager</b> – This interface has not - been implemented at all. Implementation of this interface is - planned for the future. - </p> - </li> - <li> - <p> - <b>ExecutionManager</b> – All operations defined - in this interface are implemented. - </p> - </li> - <li> - <p> - <b>DomainApplicationManager, DomainApplication</b> - – All operations except <b><code>getApplications()</code></b> - operation of DomainApplicationManager are implemented. - </p> - </li> - <li> - <p> - <b>NodeManager </b>– All operations except <strong><code>joinDomain()</code></strong> and <strong><code>leaveDomain()</code></strong> operations of NodeManager are implemented. </p> - </li> - <li> - <p><b> NodeApplicationManager, NodeApplication</b> – All operations defined in these interfaces are - implemented. </p> - </li> - </ul> - <p> - We plan to finish implementing the unsupported features in future versions of DAnCE. - </p> - <p> - <a href="http://validator.w3.org/check?uri=referer"> - <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" - height="31" width="88" /> - </a> - </p> - <address> - Last modified $Date$ by $Author$ - </address> - </body> -</html> diff --git a/CIAO/docs/releasenotes/index.html b/CIAO/docs/releasenotes/index.html deleted file mode 100644 index 324f1d83c77..00000000000 --- a/CIAO/docs/releasenotes/index.html +++ /dev/null @@ -1,170 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]"> - <title>CIAO Release Information and TODO List</title> -</head> -<body text="#000000" bgcolor="#FFFFFF"> -<!-- $Id$ --> -<center> -<hr></center> - -<center> -<h3> -Release Information for the Component Integrated ACE ORB (CIAO)</h3></center> -This document contains information on the following topics related to the -<a href="../../VERSION">current -release</a> of <a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>: - -<table BORDER=0 CELLSPACING=0 CELLPADDING=10 > -<tr> -<td VALIGN=TOP> -<b></b> -<br> -<ul> -<li> -<a href="../index.html">Introduction</a></li> -<li> -<a href="#status">Current Status of CIAO</a></li> -<li> -<a href="dance.html">Status of DAnCE</a></li> -<li> -<a href="../TODO.html">TODO list</a></li> -</ul> -</td> -</table> - - -<hr> -<h2>Current Status</h2><a name="status"> -<ol> -<li>The first cut of the new <a - href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-02"> DnC </a> - specification implementation, which we call DAnCE is available in - this distribution. DAnCE is housed under <CODE> $CIAO_ROOT - </CODE>. We plan to enhance DAnCE in the next few months. We believe - DAnCE will replace existing tool sets in <CODE> - $CIAO_ROOT/tools</CODE>. There are a few features in - <CODE>$CIAO_ROOT/tools</CODE> that are missing in the DAnCE - implementation. Please see <a href="../TODO.html"> TODO </a> file - for more details. We plan to implement them soon and use DAnCE - continuously. - - <li> The first cut of DAnCE includes two parts: - <ul> - <li> - A modeling tool chain , <a href="http://www.dre.vanderbilt.edu/CoSMIC/"> - CoSMIC</a>, which is capable of describing the Assembly/Component - using <a - href="http://www.isis.vanderbilt.edu/Projects/gme/default.html"> - GME</a> as the development bed. The artifacts generated from the - CoSMIC are a set of XML descriptors. - - <!-- Tao, I realy don't understand what this means - Bala --> - <li>This run-time infrastructure that performs the actual deployment - and configuration, with a superset of the capabilities described in - OMG DnC specification with CIAO extension. </a>.<p><p> - - </ul> - <!-- Tao, can you please see whether this is needed --> - In the new DnC run-time framework we have migrated all the - functionalities present in the old CIAO runtime except the - Real-Time configuration and Static Configuration, which are - developed by Washington University in St. Louis. Currently, - the two CIAO runtime co-exist in our source and the component - implementation could be used with both framework without much - change. (For the change that one has to go through please - read <a href="./switch.html">this</a>.)<p> - - - - <li> Two operations <CODE> ciao_preactivate ()</CODE> and - <CODE>ciao_postactivate ()</CODE> have been added to the - <CODE>SessionComponent</CODE> interface. This implies that component - developers have to implement those operations within the - executor. We plan to get around this, i.e., users having to - implement these two operations, in the next month or so. <p> - - <li> - - Here is a set of updates in the CIDL Compiler.<p> - <ul> - <li>Fixed bugs in generation of inherited: home operations, - attribute operations, port operations, home factory operations, - supported operations.<p> - - <li>Added support for multiplex uses ports. This implies that users - could use "uses multiple" in their component definitions. <p> - - <li>Added automatic registration of value factories for event - consumers. This has been long outstanding. This change alleviates - component developers need to register the valuetype factory of their - eventtypes with the ORB. <p> - - <li>Added support for emits keyword and we now generate navigation - code for this.<p> - - <li>Fixed bug with multiple facets in a build that provide the same - interface.<p> - - <li>Added option <code>--gen-exec-impl</code> to generate executor - impl classes, with no-op versions of each IDL operation.<p> - - <li>Implemented get_all_facets() and get_all_consumers() navigation - methods.<p> - - <li>Added support for the IDL keywords <code>setraises</code> and - <code>getraises</code>, associated with attributes in IDL3.<p> - - <li>Added support for both subscription and event push of event types - that are a base class of the IDL-specified port type. A check is - performed during the subscribe call to make sure the eventtype is - actually an ancestor of the declared port type.<p> - - <li>Problems with generated code when the composition declaration is - nested inside one or more IDL modules has prompted a change. The - 'CIAO_GLUE_' prefix has been eliminated. The composition name is now - mapped to a C++ namespace, prefixed with 'CIDL_'. This new namespace - (as well as namespaces generated from IDL modules enclosing the - composition name, if any) encloses - <ul> - <li>the component servant class</li> - <li>the home servant class</li> - <li>all facet servant classes, if any</li> - <li>the *_Exec interface in the *E.idl file</li> - <li>all executor impl classes, if automatically generated</li> - </ul> - <p> - </ul> - <p> - - - <li> CIAO doesn't yet support features that help integrating CORBA - components with Enterprise Java Beans (EJB).<p> - - <li> Test to demonstrate composition of applications with real-time - behavior using CIAO's real-time extension was added. Please see - ACE_wrappers/TAO/CIAO/tests/RTCCM/Priority_Test.<p> - - <li> The CIAO static configurator tool has been enhanced to support - processing of RTCORBA policy related information. Please see - ACE_wrappers/TAO/CIAO/docs/static_ciao_index.html.<p> - - <li> To further interoperability with non-component-aware clients, there - are files in the $CIAO_ROOT/tools/IDL3_to_IDL2 directory that can be - compiled into an executable called tao_idl3_to_idl2. This executable - takes an IDL file (on the command line) containing IDL3 declarations - and outputs an IDL file with the IDL3 declarations converted to - equivalent IDL2. IDL2 declarations in the input file are unchanged. - See the README file in that directory for more information.<p> - -</ol> - - - -<b>Email: </b><a href="mailto:"</a<ADDRESS>ciao-users@cse.wustl.edu</ADDRESS> -</body> </html> - -<!-- LocalWords: TODOs CCM IDL CCIDL CIDL backend idl - --> diff --git a/CIAO/docs/releasenotes/switch.html b/CIAO/docs/releasenotes/switch.html deleted file mode 100644 index 1120239b6ec..00000000000 --- a/CIAO/docs/releasenotes/switch.html +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Migrating the component implementation</title> -</head> - -<body> -<h3>When switching from the old CIAO runtime to the new one</h1> - -<ul> - There are only one thing needs to be done to migrate the component - implementation from the old runtime to the new runtime. - <br><br> - Find all the component MPC files in your component implementation - source directories and make the following changes. - - for every project in your MPC files which inherites from any of - the following MPC template (base project): <code> ciao_client, ciao_component, - ciao_servant, ciao_server,</code> replace them with <code> ciao_client_dnc, - ciao_component_dnc, ciao_servant_dnc, ciao_server_dnc</code>. Then - generate your makefile/solution/project files using either - <code>mwc.pl</code> or <code>mpc.pl</code> and build (rebuild) your - binaries.<br> - - A couple examples of the component implementation are at: - <code>$CIAO_ROOT/DAnCE/tests</code>. -</ul> - -<h3>When switching from the new CIAO runtime to the old one</h3> - <ul> - Reverse the above changes. - </ul> - - <b>Email: </b><a href="mailto:"</a<ADDRESS>ciao-users@cse.wustl.edu</ADDRESS> -</body> </html> diff --git a/CIAO/docs/schema/Basic_Deployment_Data.xsd b/CIAO/docs/schema/Basic_Deployment_Data.xsd deleted file mode 100644 index 1d386841ea5..00000000000 --- a/CIAO/docs/schema/Basic_Deployment_Data.xsd +++ /dev/null @@ -1,349 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:simpleType name="TCKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="tk_null"/> - <xsd:enumeration value="tk_void"/> - <xsd:enumeration value="tk_short"/> - <xsd:enumeration value="tk_long"/> - <xsd:enumeration value="tk_ushort"/> - <xsd:enumeration value="tk_ulong"/> - <xsd:enumeration value="tk_float"/> - <xsd:enumeration value="tk_double"/> - <xsd:enumeration value="tk_boolean"/> - <xsd:enumeration value="tk_char"/> - <xsd:enumeration value="tk_octet"/> - <xsd:enumeration value="tk_any"/> - <xsd:enumeration value="tk_TypeCode"/> - <xsd:enumeration value="tk_Principal"/> - <xsd:enumeration value="tk_objref"/> - <xsd:enumeration value="tk_struct"/> - <xsd:enumeration value="tk_union"/> - <xsd:enumeration value="tk_enum"/> - <xsd:enumeration value="tk_string"/> - <xsd:enumeration value="tk_sequence"/> - <xsd:enumeration value="tk_array"/> - <xsd:enumeration value="tk_alias"/> - <xsd:enumeration value="tk_except"/> - <xsd:enumeration value="tk_longlong"/> - <xsd:enumeration value="tk_ulonglong"/> - <xsd:enumeration value="tk_longdouble"/> - <xsd:enumeration value="tk_wchar"/> - <xsd:enumeration value="tk_wstring"/> - <xsd:enumeration value="tk_wfixed"/> - <xsd:enumeration value="tk_value"/> - <xsd:enumeration value="tk_value_box"/> - <xsd:enumeration value="tk_native"/> - <xsd:enumeration value="tk_abstract_interface"/> - <xsd:enumeration value="tk_local_interface"/> - <xsd:enumeration value="tk_component"/> - <xsd:enumeration value="tk_home"/> - <xsd:enumeration value="tk_event"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="DataType"> - <xsd:sequence> - <xsd:element name="kind" type="Deployment:TCKind"/> - <xsd:element name="enum" type="Deployment:EnumType" minOccurs="0"/> -<!-- -@@ not supported now.. - - <xsd:element name="objref" type="Deployment:ObjrefType"/> - <xsd:element name="boundedString" type="Deployment:BoundedStringType"/> - <xsd:element name="fixed" type="Deployment:FixedType"/> - <xsd:element name="array" type="Deployment:ArrayType"/> - <xsd:element name="sequence" type="Deployment:SequenceType"/> - <xsd:element name="alias" type="Deployment:AliasType"/> - <xsd:element name="struct" type="Deployment:StructType"/> - <xsd:element name="value" type="Deployment:ValueType"/> - <xsd:element name="union" type="Deployment:UnionType"/> ---> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="DataValue"> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="short" type="xsd:short"/> - <xsd:element name="long" type="xsd:int"/> - <xsd:element name="ushort" type="xsd:unsignedShort"/> - <xsd:element name="ulong" type="xsd:unsignedInt"/> - <xsd:element name="float" type="xsd:float"/> - <xsd:element name="double" type="xsd:double"/> - <xsd:element name="boolean" type="xsd:boolean"/> - <xsd:element name="octet" type="xsd:unsignedByte"/> - <!-- xsd:element name="opaque" type="xsd:base64Binary"/ --> - <!-- <xsd:element name="objref" type="xsd:string"/> --> - <xsd:element name="enum" type="xsd:string"/> - <xsd:element name="string" type="xsd:string"/> - <xsd:element name="longlong" type="xsd:long"/> - <xsd:element name="ulonglong" type="xsd:unsignedLong"/> - <xsd:element name="longdouble" type="xsd:double"/> - <!-- <xsd:element name="fixed" type="xsd:string"/> --> - <!-- <xsd:element name="any" type="Deployment:Any"/> --> - <!-- <xsd:element name="typecode" type="Deployment:DataType"/> --> - <!-- <xsd:element name="element" type="Deployment:DataValue"/> --> - <!-- <xsd:element name="discriminator" type="Deployment:DataValue"/> --> - <!-- <xsd:element name="value" type="Deployment:DataValue"/> --> - <!-- <xsd:element name="boxedValue" type="Deployment:DataValue"/> --> - <!-- <xsd:element name="member" type="Deployment:NamedValue"/> --> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="EnumType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Any"> - <xsd:sequence> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="value" type="Deployment:DataValue"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Property"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - -<!-- End of base definitions. --> - - <xsd:simpleType name="SatisfierPropertyKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="Quantity"/> - <xsd:enumeration value="Capacity"/> - <xsd:enumeration value="Minimum"/> - <xsd:enumeration value="Maximum"/> - <xsd:enumeration value="Attribute"/> - <xsd:enumeration value="Selection"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="SatisfierProperty"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/> - <xsd:element name="dynamic" type="xsd:boolean" /> - <xsd:element name="value" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Resource"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string" maxOccurs="unbounded" /> - <xsd:element name="property" type="Deployment:SatisfierProperty" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Requirement"> - <xsd:sequence> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - -<!-- Deployment --> - - <xsd:complexType name="ResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ArtifactDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="MonolithicDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="artifact" type="xsd:IDREF" maxOccurs="unbounded"/> <!-- ArtifactDeploymentDescription --> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:simpleType name="ResourceUsageKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="None"/> - <xsd:enumeration value="InstanceUsesResource"/> - <xsd:enumeration value="ResourceUsesInstance"/> - <xsd:enumeration value="PortUsesResource"/> - <xsd:enumeration value="ResourceUsesPort"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="InstanceResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="InstanceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="implementation" type="xsd:IDREF"/> <!-- MonolithicDeploymentDescription --> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> - <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:simpleType name="CCMComponentPortKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="Facet"/> - <xsd:enumeration value="SimplexReceptacle"/> - <xsd:enumeration value="MultiplexReceptacle"/> - <xsd:enumeration value="EventEmitter"/> - <xsd:enumeration value="EventPublisher"/> - <xsd:enumeration value="EventConsumer"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="ComponentPortDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <!-- @@MAJO: Hack - specific/supported types should be required. --> - <xsd:element name="specificType" type="xsd:string" minOccurs="0"/> - <xsd:element name="supportedType" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="provider" type="xsd:boolean"/> - <xsd:element name="exclusiveProvider" type="xsd:boolean"/> - <xsd:element name="exclusiveUser" type="xsd:boolean"/> - <xsd:element name="optional" type="xsd:boolean"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentPropertyDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentExternalPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="PlanSubcomponentPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="provider" type="xsd:string" minOccurs="0"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - <xsd:element name="instance" type="xsd:IDREF"/> <!-- InstanceDeploymentDescription --> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ExternalReferenceEndpoint"> - <xsd:sequence> - <xsd:element name="location" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ConnectionResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="targetName" type="xsd:string"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="PlanConnectionDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string" minOccurs="0"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ImplementationDependency"> - <xsd:sequence> - <xsd:element name="requiredType" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - -<!-- Implementation --> - - <xsd:complexType name="Capability"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string" maxOccurs="unbounded" /> - <xsd:element name="property" type="Deployment:SatisfierProperty" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ImplementationRequirement"> - <xsd:sequence> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind" minOccurs="0"/> - <xsd:element name="resourcePort" type="xsd:string" minOccurs="0" /> - <xsd:element name="componentPort" type="xsd:string" minOccurs="0"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentPackageReference"> - <xsd:sequence> - <xsd:element name="requiredUUID" type="xsd:string" minOccurs="0" /> - <xsd:element name="requiredName" type="xsd:string" minOccurs="0" /> - <xsd:element name="requiredType" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="SubcomponentPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="instance" type="xsd:IDREF"/> <!-- SubcomponentInstantiationDescription --> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="AssemblyConnectionDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> diff --git a/CIAO/docs/schema/CIAOEvents.xsd b/CIAO/docs/schema/CIAOEvents.xsd deleted file mode 100644 index 6ea307609f3..00000000000 --- a/CIAO/docs/schema/CIAOEvents.xsd +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<xsd:schema targetNamespace="http://www.dre.vanderbilt.edu/CIAOEvents" - xmlns:CIAO="http://www.dre.vanderbilt.edu/CIAOEvents" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - attributeFormDefault="unqualified"> - - <xsd:element name="CIAOEvents" type="CIAO:CIAOEventsDef"> - <xsd:annotation> - <xsd:documentation> - Root element for defining all the pub/sub services configuration - used by a DeploymentPlan. - A CIAO:Events document should reside in a separate file. - A DeploymentPlan can refer to one or more CIAO:Events file names - using the "infoProperty" tag. - </xsd:documentation> - </xsd:annotation> - </xsd:element> - -<!-- =============================================================== --> -<!-- CIAO Event Service Deployment Description --> -<!-- =============================================================== --> - - <xsd:simpleType name="EventServiceType"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="EC"/> - <xsd:enumeration value="RTEC"/> - <xsd:enumeration value="NOTIFY"/> - <xsd:enumeration value="RTNOTIFY"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="CIAOEventsDef"> - <xsd:sequence> - <xsd:element name="eventServiceConfiguration" type="CIAO:EventServiceDescription" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="EventServiceDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="type" type="CIAO:EventServiceType"/> - <xsd:element name="svc_cfg_file" type="xsd:string"/> - <xsd:element name="filter" type="CIAO:Filter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - - - -<!-- =============================================================== --> -<!-- CIAO Event Filter Description --> -<!-- =============================================================== --> - - <xsd:simpleType name="FilterType"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="CONJUNCTION"/> - <xsd:enumeration value="DISJUNCTION"/> - <xsd:enumeration value="LOGICAL_AND"/> - <xsd:enumeration value="NEGATE"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="Filter"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="CIAO:FilterType"/> - <xsd:element name="source" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - -<!-- =============================================================== --> -<!-- CIAO Event Service Federation Description --> -<!-- =============================================================== --> - - <xsd:complexType name="MCastSenderDescription"> - <xsd:sequence> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="type" type="CIAO:EventServiceType"/> - <xsd:element name="svc_cfg_file" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="MCastReceiverDescription"> - <xsd:sequence> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="type" type="CIAO:EventServiceType"/> - <xsd:element name="svc_cfg_file" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="EC_to_MCastSender"> - <xsd:sequence> - <xsd:element name="destination" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="MCastReceiver_to_EC"> - <xsd:sequence> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="destination" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - -</xsd:schema> diff --git a/CIAO/docs/schema/CIAOServerResources.xsd b/CIAO/docs/schema/CIAOServerResources.xsd deleted file mode 100644 index d9fb63da88f..00000000000 --- a/CIAO/docs/schema/CIAOServerResources.xsd +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<xsd:schema targetNamespace="http://www.dre.vanderbilt.edu/ServerResources" - xmlns:CIAO="http://www.dre.vanderbilt.edu/ServerResources" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - attributeFormDefault="unqualified"> - - <xsd:element name="ServerResources" type="CIAO:ServerResourcesDef"> - <xsd:annotation> - <xsd:documentation> - Root element for defining all the resources used by a DeploymentPlan. - A CIAO:ServerResources document should reside in a separate file. - A DeploymentPlan can refer to one or more CIAO:ServerResources file names - using the "infoProperty" tag. - </xsd:documentation> - </xsd:annotation> - </xsd:element> - - <xsd:complexType name="ServerResourcesDef"> - <xsd:sequence> - <xsd:element name="cmdline" type="CIAO:ServerCmdlineOptions" minOccurs="0"/> - <xsd:element name="svcconf" type="CIAO:ACESvcConf" minOccurs="0"/> - <xsd:element name="orbConfigs" type="CIAO:ORBConfigs" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - -<!-- =============================================================== --> - - <xsd:complexType name="ServerCmdlineOptions"> - <xsd:annotation> - <xsd:documentation> - Just a list of argv's that should be appended to the command - line used to start up the NodeApplication. - </xsd:documentation> - </xsd:annotation> - <xsd:sequence> - <xsd:element name="arg" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - -<!-- ================================================================ --> - - <xsd:complexType name="ACESvcConf"> - <xsd:annotation> - <xsd:documentation> - Contains either a pointer to a svc.conf file, or the actual - content of the svc.conf file required to configure the - NodeApplication. - </xsd:documentation> - </xsd:annotation> - <xsd:choice> - <!-- Specify the URI of a svc.conf file. --> - <xsd:element name="uri" type="xsd:string"/> - - <!-- If we agree to use only XML based svc.conf "file", we will - support inlined svcconf entries here. If that will be the - case, we still need to convert ACE_Svc_Conf DTD to schema. --> - <!-- - <xsd:element name="inline" type="ACE_Svc_Conf"/> - --> - </xsd:choice> - </xsd:complexType> - -<!-- ========================================================================= --> - - <xsd:complexType name="ORBConfigs"> - <xsd:annotation> - <xsd:documentation> - Contains the shared resources the component ORB must support - and all available policySets that components installed under - the ORB can request. - </xsd:documentation> - </xsd:annotation> - <xsd:sequence> - <xsd:element name="resources" type="CIAO:ORBResources" - minOccurs="0"/> - <xsd:element name="policySet" type="CIAO:PolicySet" - maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - -<!-- ========================================================================= --> - - <xsd:complexType name="ORBResources"> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="threadpool" type="CIAO:ThreadpoolDef"/> - <xsd:element name="threadpoolWithLanes" type="CIAO:ThreadpoolWithLanesDef"/> - <xsd:element name="connectionBands" type="CIAO:ConnectionBandsDef"/> - <!-- Other ORB-wide resources that must be allocated by the ORB --> - </xsd:choice> - </xsd:complexType> - - <xsd:simpleType name="Priority"> - <xsd:restriction base="xsd:int"> - <xsd:minInclusive value="0"/> - <xsd:maxInclusive value="32767"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="ThreadpoolDef"> - <xsd:sequence> - <xsd:element name="stacksize" type="xsd:unsignedLong"/> - <xsd:element name="static_threads" type="xsd:unsignedLong"/> - <xsd:element name="dynamic_threads" type="xsd:unsignedLong"/> - <xsd:element name="default_priority" type="CIAO:Priority"/> - <xsd:element name="allow_request_buffering" type="xsd:boolean"/> - <xsd:element name="max_buffered_requests" type="xsd:unsignedLong"/> - <xsd:element name="max_request_buffered_size" type="xsd:unsignedLong"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="ThreadpoolWithLanesDef"> - <xsd:sequence> - <xsd:element name="threadpoolLane" type="CIAO:ThreadpoolLaneDef" - maxOccurs="unbounded"/> - <xsd:element name="stacksize" type="xsd:unsignedLong" /> - <xsd:element name="allow_borrowing" type="xsd:boolean"/> - <xsd:element name="allow_request_buffering" type="xsd:boolean"/> - <xsd:element name="max_buffered_requests" type="xsd:unsignedLong"/> - <xsd:element name="max_request_buffered_size" type="xsd:unsignedLong"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> <!-- Threadpool ID should be - referenced by individual policies - in the policysets below --> - </xsd:complexType> - - <xsd:complexType name="ThreadpoolLaneDef"> - <xsd:sequence> - <xsd:element name="static_threads" type="xsd:unsignedLong"/> - <xsd:element name="dynamic_threads" type="xsd:unsignedLong"/> - <xsd:element name="priority" type="CIAO:Priority"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ConnectionBandsDef"> - <xsd:annotation> - <xsd:documentation> - This is only used to provide a ORB-wide view of all connection bands. - The ORB doesn't really need to "create" this resource. - </xsd:documentation> - </xsd:annotation> - <xsd:sequence> - <xsd:element name="band" type="CIAO:PriorityBandDef" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="PriorityBandDef"> - <xsd:sequence> - <xsd:element name="low" type="xsd:int"/> - <xsd:element name="high" type="xsd:int"/> - </xsd:sequence> - </xsd:complexType> - -<!-- ========================================================================= --> - - <xsd:complexType name="PolicySet"> - <xsd:annotation> - <xsd:documentation> - Contains a set of CORBA Policies that can be applied to a - component instance at once. We should eventually expand this - list to incorporate all the policies defined in - ciaopolicy.xs. I'm focusing on the RT aspects for now. - - The ID of a policy set should be referenced by the component - instances in a DeploymentPlan document under the - "deployedResource" tag. - </xsd:documentation> - </xsd:annotation> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="priorityModel" type="CIAO:PriorityModelPolicyDef"/> - <xsd:element name="threadpool" type="xsd:IDREF"/> - <xsd:element name="priorityBandedConnection" type="xsd:IDREF"/> - </xsd:choice> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:simpleType name="PriorityModel"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="SERVER_DECLARED"/> - <xsd:enumeration value="CLIENT_PROPAGATED"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="PriorityModelPolicyDef"> - <xsd:sequence> - <xsd:element name="priority_model" type="CIAO:PriorityModel"/> - </xsd:sequence> - <xsd:attribute name="server_priority" type="CIAO:Priority"/> - </xsd:complexType> - -</xsd:schema> diff --git a/CIAO/docs/schema/Deployment.xsd b/CIAO/docs/schema/Deployment.xsd deleted file mode 100644 index fd4ffe5bc7d..00000000000 --- a/CIAO/docs/schema/Deployment.xsd +++ /dev/null @@ -1,29 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="Basic_Deployment_Data.xsd"/> - <xsd:include schemaLocation="cpd.xsd"/> - <xsd:include schemaLocation="ccd.xsd"/> - <xsd:include schemaLocation="cdd.xsd"/> - <xsd:include schemaLocation="cdp.xsd"/> - <xsd:include schemaLocation="cid.xsd"/> - <xsd:include schemaLocation="iad.xsd"/> - <xsd:include schemaLocation="pcd.xsd"/> - <xsd:include schemaLocation="toplevel.xsd"/> - - -<!-- Top-level elements. --> - - <xsd:element name="domain" type="Deployment:Domain"/> - <xsd:element name="deploymentPlan" type="Deployment:DeploymentPlan"/> - <xsd:element name="implementationArtifactDescription" type="Deployment:ImplementationArtifactDescription" /> - <xsd:element name="componentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/> - <xsd:element name="componentImplementationDescription" type="Deployment:ComponentImplementationDescription"/> - <xsd:element name="componentPackageDescription" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="packageConfiguration" type="Deployment:PackageConfiguration"/> - <xsd:element name="topLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/> - -</xsd:schema> diff --git a/CIAO/docs/schema/Modified_Deployment.xsd b/CIAO/docs/schema/Modified_Deployment.xsd deleted file mode 100644 index 65f5eb81d1e..00000000000 --- a/CIAO/docs/schema/Modified_Deployment.xsd +++ /dev/null @@ -1,826 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - - <xsd:simpleType name="TCKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="tk_null"/> - <xsd:enumeration value="tk_void"/> - <xsd:enumeration value="tk_short"/> - <xsd:enumeration value="tk_long"/> - <xsd:enumeration value="tk_ushort"/> - <xsd:enumeration value="tk_ulong"/> - <xsd:enumeration value="tk_float"/> - <xsd:enumeration value="tk_double"/> - <xsd:enumeration value="tk_boolean"/> - <xsd:enumeration value="tk_char"/> - <xsd:enumeration value="tk_octet"/> - <xsd:enumeration value="tk_any"/> - <xsd:enumeration value="tk_TypeCode"/> - <xsd:enumeration value="tk_Principal"/> - <xsd:enumeration value="tk_objref"/> - <xsd:enumeration value="tk_struct"/> - <xsd:enumeration value="tk_union"/> - <xsd:enumeration value="tk_enum"/> - <xsd:enumeration value="tk_string"/> - <xsd:enumeration value="tk_sequence"/> - <xsd:enumeration value="tk_array"/> - <xsd:enumeration value="tk_alias"/> - <xsd:enumeration value="tk_except"/> - <xsd:enumeration value="tk_longlong"/> - <xsd:enumeration value="tk_ulonglong"/> - <xsd:enumeration value="tk_longdouble"/> - <xsd:enumeration value="tk_wchar"/> - <xsd:enumeration value="tk_wstring"/> - <xsd:enumeration value="tk_wfixed"/> - <xsd:enumeration value="tk_value"/> - <xsd:enumeration value="tk_value_box"/> - <xsd:enumeration value="tk_native"/> - <xsd:enumeration value="tk_abstract_interface"/> - <xsd:enumeration value="tk_local_interface"/> - <xsd:enumeration value="tk_component"/> - <xsd:enumeration value="tk_home"/> - <xsd:enumeration value="tk_event"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="DataType"> - <xsd:choice> - <xsd:element name="kind" type="Deployment:TCKind"/> -<!-- -@@ not used, what for? - - <xsd:element name="enum" type="Deployment:EnumType"/> - <xsd:element name="objref" type="Deployment:ObjrefType"/> - <xsd:element name="boundedString" type="Deployment:BoundedStringType"/> - <xsd:element name="fixed" type="Deployment:FixedType"/> - <xsd:element name="array" type="Deployment:ArrayType"/> - <xsd:element name="sequence" type="Deployment:SequenceType"/> - <xsd:element name="alias" type="Deployment:AliasType"/> - <xsd:element name="struct" type="Deployment:StructType"/> - <xsd:element name="value" type="Deployment:ValueType"/> - <xsd:element name="union" type="Deployment:UnionType"/> ---> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="DataValue"> - <xsd:choice> - <xsd:element name="short" type="xsd:short"/> - <xsd:element name="long" type="xsd:int"/> - <xsd:element name="ushort" type="xsd:unsignedShort"/> - <xsd:element name="ulong" type="xsd:unsignedInt"/> - <xsd:element name="float" type="xsd:float"/> - <xsd:element name="double" type="xsd:double"/> - <xsd:element name="boolean" type="xsd:boolean"/> - <xsd:element name="octet" type="xsd:unsignedByte"/> - <!-- xsd:element name="opaque" type="xsd:base64Binary"/ --> - <xsd:element name="objref" type="xsd:string"/> - <xsd:element name="enum" type="xsd:string"/> - <xsd:element name="string" type="xsd:string"/> - <xsd:element name="longlong" type="xsd:long"/> - <xsd:element name="ulonglong" type="xsd:unsignedLong"/> - <xsd:element name="longdouble" type="xsd:double"/> - <xsd:element name="fixed" type="xsd:string"/> - -<!-- -@@ recursive - <xsd:element name="any" type="Deployment:Any"/> ---> - - <xsd:element name="typecode" type="Deployment:DataType"/> - -<!-- -@@ recursive - <xsd:element name="element" type="Deployment:DataValue"/> - <xsd:element name="discriminator" type="Deployment:DataValue"/> - <xsd:element name="value" type="Deployment:DataValue"/> - <xsd:element name="boxedValue" type="Deployment:DataValue"/> - <xsd:element name="member" type="Deployment:NamedValue"/> ---> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="Any"> - <xsd:sequence> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="value" type="Deployment:DataValue"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="Property"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - -<!-- End of base definitions. --> - - <xsd:complexType name="Node"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> -<!-- -@@ recursive, not used - <xsd:element name="connection" type="Deployment:Interconnect"/> - <xsd:element name="sharedResource" type="Deployment:SharedResource"/> - <xsd:element name="resource" type="Deployment:Resource"/> ---> - </xsd:sequence> - </xsd:complexType> - - - <xsd:simpleType name="SatisfierPropertyKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="Quantity"/> - <xsd:enumeration value="Capacity"/> - <xsd:enumeration value="Minimum"/> - <xsd:enumeration value="Maximum"/> - <xsd:enumeration value="Attribute"/> - <xsd:enumeration value="Selection"/> - </xsd:restriction> - </xsd:simpleType> - - - <xsd:complexType name="SatisfierProperty"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/> - <xsd:element name="value" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="Resource"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="SharedResource"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="node" type="Deployment:Node"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="Domain"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0"/> - <xsd:element name="node" type="Deployment:Node" maxOccurs="unbounded"/> -<!-- -@@ recursive, not used - <xsd:element name="interconnect" type="Deployment:Interconnect"/> - <xsd:element name="bridge" type="Deployment:Bridge"/> ---> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="Requirement"> - <xsd:sequence> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property"/> - </xsd:sequence> - </xsd:complexType> - - -<!-- Deployment --> - - <xsd:complexType name="ResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ArtifactDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="node" type="xsd:string" minOccurs="0"/> - <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - - <xsd:complexType name="MonolithicDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="artifact" type="xsd:IDREF" maxOccurs="unbounded"/> <!-- ArtifactDeploymentDescription --> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:simpleType name="ResourceUsageKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="None"/> - <xsd:enumeration value="InstanceUsesResource"/> - <xsd:enumeration value="ResourceUsesInstance"/> - <xsd:enumeration value="PortUsesResource"/> - <xsd:enumeration value="ResourceUsesPort"/> - </xsd:restriction> - </xsd:simpleType> - - - <xsd:complexType name="InstanceResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="InstanceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="implementation" type="xsd:IDREF"/> <!-- MonolithicDeploymentDescription --> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> - <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - - <xsd:simpleType name="CCMComponentPortKind"> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="Facet"/> - <xsd:enumeration value="SimplexReceptacle"/> - <xsd:enumeration value="MultiplexReceptacle"/> - <xsd:enumeration value="EventEmitter"/> - <xsd:enumeration value="EventPublisher"/> - <xsd:enumeration value="EventConsumer"/> - </xsd:restriction> - </xsd:simpleType> - - - <xsd:complexType name="ComponentPortDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="specificType" type="xsd:string"/> - <xsd:element name="supportedType" type="xsd:string"/> - <xsd:element name="provider" type="xsd:string"/> - <xsd:element name="exclusiveProvider" type="xsd:string"/> - <xsd:element name="exclusiveUser" type="xsd:string"/> - <xsd:element name="optional" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComponentPropertyDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComponentInterfaceDescription"> - <!-- @@mxiong: added minOccurs="0" maxOccurs="unbounded" - when adding config_handler support - for repoMan - --> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="specificType" type="xsd:string"/> - <xsd:element name="supportedType" type="xsd:string" maxOccurs="unbounded" /> - <xsd:element name="idlFile" type="xsd:string" minOccurs="0"/> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="port" type="Deployment:ComponentPortDescription" maxOccurs="unbounded"/> - <xsd:element name="property" type="Deployment:ComponentPropertyDescription" minOccurs="0"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <!-- @@mxiong: added a href attribute - when adding config_handler support - for repoMan - --> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - - - <xsd:complexType name="ComponentExternalPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="PlanSubcomponentPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="provider" type="xsd:string" minOccurs="0"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - <xsd:element name="instance" type="xsd:IDREF"/> <!-- InstanceDeploymentDescription --> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ExternalReferenceEndpoint"> - <xsd:sequence> - <xsd:element name="location" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ConnectionResourceDeploymentDescription"> - <xsd:sequence> - <xsd:element name="targetName" type="xsd:string"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="PlanConnectionDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string" minOccurs="0"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ImplementationDependency"> - <xsd:sequence> - <xsd:element name="requiredType" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="DeploymentPlan"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0"/> - <xsd:element name="UUID" type="xsd:string" minOccurs="0"/> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0" maxOccurs="1"/> - <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded" /> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/> - <!-- potentially recursive, not used - <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/> - --> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - - -<!-- Implementation --> - - - <xsd:complexType name="Capability"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="NamedImplementationArtifact"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <!-- @@ recursive NIA->IAD->NIA --> - <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ImplementationArtifactDescription"> - <!-- @@mxiong: added minOccurs="0" maxOccurs="1" - when adding config_handler support - for repoMan - --> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - - <!-- @@ There probably should be only one location? --> - <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <!-- @@mxiong: added a href attribute - when adding config_handler support - for repoMan - --> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - - - <xsd:complexType name="ImplementationRequirement"> - <xsd:sequence> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> - <xsd:element name="resourcePort" type="xsd:string"/> - <xsd:element name="componentPort" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="MonolithicImplementationDescription"> - <xsd:sequence> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact" maxOccurs="unbounded"/> - <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="PackagedComponentImplementation"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <!-- @@ recursive CPD->PCI->CID->CAD->SID->CPD --> - <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComponentPackageDescription"> - <!-- @@mxiong: added minOccurs="0" maxOccurs="1" - when adding config_handler support - for repoMan - --> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <!-- @@mxiong: added href - when adding config_handler support - for repoMan - --> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - - - <xsd:complexType name="ComponentPackageReference"> - <xsd:sequence> - <xsd:element name="requiredUUID" type="xsd:string"/> - <xsd:element name="requiredName" type="xsd:string"/> - <xsd:element name="requiredType" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="SubcomponentInstantiationDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="package" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - - <xsd:complexType name="SubcomponentPortEndpoint"> - <xsd:sequence> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="instance" type="xsd:IDREF"/> <!-- SubcomponentInstantiationDescription --> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="AssemblyConnectionDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="SubcomponentPropertyReference"> - <xsd:sequence> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="AssemblyPropertyMapping"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComponentAssemblyDescription"> - <xsd:sequence> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription" maxOccurs="unbounded"/> - <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription" maxOccurs="unbounded"/> - <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComponentImplementationDescription"> - <!-- @@mxiong: added minOccurs="0" maxOccurs="unbounded" - when adding config_handler support - for repoMan - --> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/> - <xsd:choice> - <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/> - <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/> - </xsd:choice> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> - <xsd:element name="capability" type="Deployment:Capability" minOccurs="0"/> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <!-- @@mxiong: added href - when adding config_handler support - for repoMan - --> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - - -<!-- Package --> - - - <xsd:complexType name="PackageConfiguration"> - <xsd:choice> - <xsd:sequence> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> -<!-- -@@ recursive, not used - <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration"/> ---> - - <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/> - <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="TopLevelPackageDescription"> - <xsd:sequence> - <xsd:element name="package" type="Deployment:PackageConfiguration" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - -<!-- Top-level elements. --> - - - <xsd:element name="domain" type="Deployment:Domain"/> - <xsd:element name="deploymentPlan" type="Deployment:DeploymentPlan"/> - <xsd:element name="implementationArtifactDescription" type="Deployment:ImplementationArtifactDescription" /> - <xsd:element name="componentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/> - <xsd:element name="componentImplementationDescription" type="Deployment:ComponentImplementationDescription"/> - <xsd:element name="componentPackageDescription" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="packageConfiguration" type="Deployment:PackageConfiguration"/> - <xsd:element name="topLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/> - - - -<!-- VAULT - -Place for strange things. Nobody knows what they are for... - ---> - -<!-- - - <xsd:complexType name="EnumType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ObjrefType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="BoundedStringType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="FixedType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="digits" type="xsd:string"/> - <xsd:element name="scale" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="ArrayType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="length" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="SequenceType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="AliasType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="StructType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="Deployment:StructMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="StructMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="ValueType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="modifier" type="xsd:string"/> - <xsd:element name="baseType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:ValueMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="ValueMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="visibility" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="UnionType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="default" type="Deployment:UnionMemberType"/> - <xsd:element name="discriminatorType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:UnionMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="UnionMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="label" type="Deployment:DataValue"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="NamedValue"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:DataValue"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="Bridge"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="connect" type="Deployment:Interconnect"/> - <xsd:element name="resource" type="Deployment:Resource"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Interconnect"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="connection" type="Deployment:Bridge"/> - <xsd:element name="connect" type="Deployment:Node"/> - <xsd:element name="resource" type="Deployment:Resource"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="PlanPropertyMapping"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="PlanSubcomponentPropertyReference"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> - </xsd:choice> - </xsd:complexType> - ---> - -<!-- - - This type is not referenced anywhere. - - <xsd:complexType name="RequirementSatisfier"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:choice> - </xsd:complexType> - ---> - -</xsd:schema> diff --git a/CIAO/docs/schema/README.html b/CIAO/docs/schema/README.html deleted file mode 100644 index d810c8a6065..00000000000 --- a/CIAO/docs/schema/README.html +++ /dev/null @@ -1,64 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Contents of $CIAO_ROOT/docs/schema</title> -</head> - -<body> -<h1>Contents of $CIAO_ROOT/docs/schema</h1> -The schema in this directory are all based on the new Deployment and -Configuration spec. As part of our work on DAnCE we have tried to -subset and normalize the schema so that our developers, and tools -would be able to parse and use the information effectively. - -The following table illustrates the meaning and use of the various -schemata in this directory: -<table width="100%" border=1> - <tr valign=top> - <td><b>Spec_Defined_Deployment.xsd</b></td> - <td>This is the schema file from the spec which is unaltered. This - is just for reference. CIAO and DAnCE will not be using this file - directly. - </td> - </tr> - <tr valign=top> - <td><b>Spec_Defined_XMI.xsd</b></td> - <td>The OMG spec defined schema file uses definitions from another - specification called the XMI spec which is part of the OMG - specification suite. This schema file is again for reference - without any edits. - </td> - </tr> - <tr valign=top> - <td><b>ccd.xsd, cdd.xsd, cdp.xsd, cid.xsd, cpd.xsd, iad.xsd, - pcd.xsd and toplevel.xcd</b></td> - <td> Descriptors that will be used by DAnCE. Section 5.5.3 of the - Deployment and Configuration spec talks about the various - descriptors that are part of the package. The schema files are - broken down in accordance with the suggested descriptor format in - the section mentioned above. - </td> - </tr> - <tr valign=top"> - <td><b>Deployment.xsd</b></td> - <td> The schema file that will be used by the applications in - their descriptors. Applications need not use Deployment.xsd, but - using this is encouraged for portability of their intance - documents.</td> - </tr> - <tr valign=top"> - <td><b>Modified_Deployment.xsd</b></td> - <td> This schema is modified from the original spec defined - schema. It is a bit simplified with different sections that makes - things easier for the developer to read and digest the - information. Not used within DAnCE.</td> - </tr> - <tr valign=top"> - <td><b>unused_elements.xsd</b></td> - <td> Schema elements that are not used within the OMG's schema and - the ones that CIAo and DAnCedoesn't support.</td> - </tr> -</table> -</body> -</html> - diff --git a/CIAO/docs/schema/SANet_Network.xsd b/CIAO/docs/schema/SANet_Network.xsd deleted file mode 100644 index d614528b481..00000000000 --- a/CIAO/docs/schema/SANet_Network.xsd +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.vanderbilt.edu/SANet SANet_Network.xsd" xmlns:SANet="http://www.vanderbilt.edu/SANet" - targetNamespace="http://www.vanderbilt.edu/SANet" elementFormDefault="qualified"> - <!-- Simple types. --> - <xs:simpleType name="NodeID"> - <xs:restriction base="xs:int"> - <xs:minInclusive value="1" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="PortID"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="TaskCost"> - <xs:restriction base="xs:double" /> - </xs:simpleType> - <xs:simpleType name="CondUtil"> - <xs:restriction base="xs:double" /> - </xs:simpleType> - <xs:simpleType name="CondKind"> - <xs:restriction base="xs:string"> - <xs:enumeration value="ENVIRON" /> - <xs:enumeration value="SYSTEM" /> - <xs:enumeration value="DATA" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="Probability"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="0" /> - <xs:maxInclusive value="1" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="LinkWeight"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="-1" /> - <xs:maxInclusive value="1" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="MultFactor"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="0" /> - <xs:maxInclusive value="1" /> - </xs:restriction> - </xs:simpleType> - <!-- Complex types corresponding to IDL structures. - (nodes, links, and network). --> - <xs:complexType name="TaskNode"> - <xs:sequence> - <xs:element name="nodeID" type="SANet:NodeID" /> - <xs:element name="name" type="xs:string" default="" /> - <xs:element name="priorProb" type="SANet:Probability" /> - <xs:element name="attenFactor" type="SANet:MultFactor" default="1" /> - <xs:element name="cost" type="SANet:TaskCost" default="0" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="CondNode"> - <xs:sequence> - <xs:element name="nodeID" type="SANet:NodeID" /> - <xs:element name="name" type="xs:string" default="" /> - <xs:element name="probTrue" type="SANet:Probability" default="0" /> - <xs:element name="utility" type="SANet:CondUtil" default="0" /> - <xs:element name="kind" type="SANet:CondKind" default="ENVIRON" /> - <xs:element name="attenFactor" type="SANet:MultFactor" default="1" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="PrecondLink"> - <xs:sequence> - <xs:element name="condID" type="SANet:NodeID" /> - <xs:element name="taskID" type="SANet:NodeID" /> - <xs:element name="portID" type="SANet:PortID" /> - <xs:element name="trueProb" type="SANet:Probability" /> - <xs:element name="falseProb" type="SANet:Probability" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="EffectLink"> - <xs:sequence> - <xs:element name="taskID" type="SANet:NodeID" /> - <xs:element name="condID" type="SANet:NodeID" /> - <xs:element name="portID" type="SANet:PortID" /> - <xs:element name="weight" type="SANet:LinkWeight" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="Network"> - <xs:sequence> - <xs:element name="defaultAttenFactor" type="SANet:MultFactor" default="1" /> - <xs:element name="defaultTaskCost" type="SANet:TaskCost" default="0" /> - <xs:element name="defaultCondUtil" type="SANet:CondUtil" default="0" /> - <xs:element name="defaultCondProbTrue" type="SANet:Probability" default="0" /> - <xs:element name="linkThresh" type="SANet:LinkWeight" default="0" /> - <xs:element name="taskNode" type="SANet:TaskNode" maxOccurs="unbounded" /> - <xs:element name="condNode" type="SANet:CondNode" maxOccurs="unbounded" /> - <xs:element name="precondLink" type="SANet:PrecondLink" maxOccurs="unbounded" /> - <xs:element name="effectLink" type="SANet:EffectLink" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - <!-- Top-level network element. --> - <xs:element name="network" type="SANet:Network" /> -</xs:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/ServerResourceUsage.txt b/CIAO/docs/schema/ServerResourceUsage.txt deleted file mode 100644 index 061e2cc4422..00000000000 --- a/CIAO/docs/schema/ServerResourceUsage.txt +++ /dev/null @@ -1,79 +0,0 @@ - How to use CIAOServerResources.xsd - -Assuming we store two CIAO:ServerResources documents in two XML files -called "RTLinuxServerConfig.xml" and "RTwIN32ServerConfig.xml" -respectively. Two things need to happen in order to use the -PolicySet's defined in these files. First, we need to tell the DnC -tools what are all the CIAOServerResources files a DeploymentPlan -needs. This can easily be done by enumerating all these file in the -<infoProperty> element under the <DeploymentPlan>. For example, the -following XML document snippet shows a DeploymentPlan will reference -to two aforementioned CIAO:ServerResources files. The property name -"CIAOServerResourceRef" is a CIAO-specific extension that signifies -this need. The values of these properties simply specify the -filenames. - - - <infoProperty> - <name>CIAOServerResourceRef</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>RTLinuxServerConfig.xml</string> - </value> - </value> - - <name>CIAOServerResourceRef</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>RTWin32ServerConfig.xml</string> - </value> - </value> - </infoProperty> - -Second, we can now use the policy sets defined in these files by -associating a policy set with the entity the policy set will be -applied. Currently, only associations with component instances are -supported. A component instance in deployment plan can specify the -policy set it wishes to be instantiated with. A PolicySet is -referenced by its name and the CIAO:ServerResources name. - - <deploymentplan> - .... - <instance ...> - - - <deployedResource> - <resourceUsage>InstanceUsesResource</resourceUsage> - <requirementName>CIAO:ServerResources</requirementName> - <resourceName>here_we_insert_the_name_defined_in_CIAO:ServerResources</resourcename> - <property> - <name>CIAO:PolicySetName</name> - <value> - <type>tk_string</type> - <value> - <string>here_we_insert_the_PolicySet_name_defined_in_the_ServerResources</string> - </value> - </value> - </property> - </deployedResource> - - </instance> - </deploymentplan> - -If only the name of the CIAO:ServerResources is specified, we are -using it as a collocation constraint. In this case, the -<deployedResource> will contain no <property> sub-element. Component -instances with different <resourceName> values will be deployed to the -same target node with different ServerResources names. DAnCE should -create two differnet NodeApplication on the same node. - -Likewise, specifying different CIAO:PolicySet IDs will force component -instances to be deployed into different containers (if they have the -same target node and ServerResource ID.) - diff --git a/CIAO/docs/schema/Spec_Defined_Deployment.xsd b/CIAO/docs/schema/Spec_Defined_Deployment.xsd deleted file mode 100644 index a59a47f1360..00000000000 --- a/CIAO/docs/schema/Spec_Defined_Deployment.xsd +++ /dev/null @@ -1,897 +0,0 @@ -<xsd:schema - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment" - > - <xsd:import namespace="http://www.omg.org/XMI"/> - <xsd:complexType name="Any"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="value" type="Deployment:DataValue"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Any" type="Deployment:Any"/> - <xsd:complexType name="DataType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="kind" type="Deployment:TCKind"/> - <xsd:element name="enum" type="Deployment:EnumType"/> - <xsd:element name="objref" type="Deployment:ObjrefType"/> - <xsd:element name="boundedString" type="Deployment:BoundedStringType"/> - <xsd:element name="fixed" type="Deployment:FixedType"/> - <xsd:element name="array" type="Deployment:ArrayType"/> - <xsd:element name="sequence" type="Deployment:SequenceType"/> - <xsd:element name="alias" type="Deployment:AliasType"/> - <xsd:element name="struct" type="Deployment:StructType"/> - <xsd:element name="value" type="Deployment:ValueType"/> - <xsd:element name="union" type="Deployment:UnionType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="DataType" type="Deployment:DataType"/> - <xsd:complexType name="DataValue"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="short" type="xsd:short"/> - <xsd:element name="long" type="xsd:int"/> - <xsd:element name="ushort" type="xsd:unsignedShort"/> - <xsd:element name="ulong" type="xsd:unsignedInt"/> - <xsd:element name="float" type="xsd:float"/> - <xsd:element name="double" type="xsd:double"/> - <xsd:element name="boolean" type="xsd:boolean"/> - <xsd:element name="octet" type="xsd:unsignedByte"/> - <xsd:element name="opaque" type="xsd:base64Binary"/> - <xsd:element name="objref" type="xsd:string"/> - <xsd:element name="enum" type="xsd:string"/> - <xsd:element name="string" type="xsd:string"/> - <xsd:element name="longlong" type="xsd:long"/> - <xsd:element name="ulonglong" type="xsd:unsignedLong"/> - <xsd:element name="longdouble" type="xsd:double"/> - <xsd:element name="fixed" type="xsd:string"/> - <xsd:element name="any" type="Deployment:Any"/> - <xsd:element name="typecode" type="Deployment:DataType"/> - <xsd:element name="element" type="Deployment:DataValue"/> - <xsd:element name="discriminator" type="Deployment:DataValue"/> - <xsd:element name="value" type="Deployment:DataValue"/> - <xsd:element name="boxedValue" type="Deployment:DataValue"/> - <xsd:element name="member" type="Deployment:NamedValue"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="DataValue" type="Deployment:DataValue"/> - <xsd:complexType name="EnumType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="EnumType" type="Deployment:EnumType"/> - <xsd:complexType name="ObjrefType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ObjrefType" type="Deployment:ObjrefType"/> - <xsd:complexType name="BoundedStringType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="BoundedStringType" type="Deployment:BoundedStringType"/> - <xsd:complexType name="FixedType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="digits" type="xsd:string"/> - <xsd:element name="scale" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="FixedType" type="Deployment:FixedType"/> - <xsd:complexType name="ArrayType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="length" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ArrayType" type="Deployment:ArrayType"/> - <xsd:complexType name="SequenceType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SequenceType" type="Deployment:SequenceType"/> - <xsd:complexType name="AliasType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="AliasType" type="Deployment:AliasType"/> - <xsd:complexType name="StructType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="Deployment:StructMemberType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="StructType" type="Deployment:StructType"/> - <xsd:complexType name="StructMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="StructMemberType" type="Deployment:StructMemberType"/> - <xsd:complexType name="ValueType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="modifier" type="xsd:string"/> - <xsd:element name="baseType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:ValueMemberType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ValueType" type="Deployment:ValueType"/> - <xsd:complexType name="ValueMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="visibility" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ValueMemberType" type="Deployment:ValueMemberType"/> - <xsd:complexType name="UnionType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="default" type="Deployment:UnionMemberType"/> - <xsd:element name="discriminatorType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:UnionMemberType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="UnionType" type="Deployment:UnionType"/> - <xsd:complexType name="UnionMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="label" type="Deployment:DataValue"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="UnionMemberType" type="Deployment:UnionMemberType"/> - <xsd:complexType name="NamedValue"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:DataValue"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="NamedValue" type="Deployment:NamedValue"/> - <xsd:complexType name="Bridge"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="connect" type="Deployment:Interconnect"/> - <xsd:element name="resource" type="Deployment:Resource"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Bridge" type="Deployment:Bridge"/> - <xsd:complexType name="Interconnect"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="connection" type="Deployment:Bridge"/> - <xsd:element name="connect" type="Deployment:Node"/> - <xsd:element name="resource" type="Deployment:Resource"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Interconnect" type="Deployment:Interconnect"/> - <xsd:complexType name="Node"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="connection" type="Deployment:Interconnect"/> - <xsd:element name="sharedResource" type="Deployment:SharedResource"/> - <xsd:element name="resource" type="Deployment:Resource"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Node" type="Deployment:Node"/> - <xsd:complexType name="Resource"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Resource" type="Deployment:Resource"/> - <xsd:complexType name="SharedResource"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="node" type="Deployment:Node"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SharedResource" type="Deployment:SharedResource"/> - <xsd:complexType name="Domain"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="sharedResource" type="Deployment:SharedResource"/> - <xsd:element name="node" type="Deployment:Node"/> - <xsd:element name="interconnect" type="Deployment:Interconnect"/> - <xsd:element name="bridge" type="Deployment:Bridge"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Domain" type="Deployment:Domain"/> - <xsd:complexType name="PlanPropertyMapping"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PlanPropertyMapping" type="Deployment:PlanPropertyMapping"/> - <xsd:complexType name="PlanSubcomponentPropertyReference"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PlanSubcomponentPropertyReference" type="Deployment:PlanSubcomponentPropertyReference"/> - <xsd:complexType name="PlanSubcomponentPortEndpoint"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="provider" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PlanSubcomponentPortEndpoint" type="Deployment:PlanSubcomponentPortEndpoint"/> - <xsd:complexType name="PlanConnectionDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint"/> - <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint"/> - <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PlanConnectionDescription" type="Deployment:PlanConnectionDescription"/> - <xsd:complexType name="InstanceDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription"/> - <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="InstanceDeploymentDescription" type="Deployment:InstanceDeploymentDescription"/> - <xsd:complexType name="MonolithicDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription"/> - <xsd:element name="execParameter" type="Deployment:Property"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="MonolithicDeploymentDescription" type="Deployment:MonolithicDeploymentDescription"/> - <xsd:complexType name="ArtifactDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="location" type="xsd:string"/> - <xsd:element name="node" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="execParameter" type="Deployment:Property"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement"/> - <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ArtifactDeploymentDescription" type="Deployment:ArtifactDeploymentDescription"/> - <xsd:complexType name="DeploymentPlan"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription"/> - <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription"/> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> - <xsd:element name="connection" type="Deployment:PlanConnectionDescription"/> - <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency"/> - <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="DeploymentPlan" type="Deployment:DeploymentPlan"/> - <xsd:complexType name="ResourceDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ResourceDeploymentDescription" type="Deployment:ResourceDeploymentDescription"/> - <xsd:complexType name="InstanceResourceDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="InstanceResourceDeploymentDescription" type="Deployment:InstanceResourceDeploymentDescription"/> - <xsd:complexType name="ConnectionResourceDeploymentDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="targetName" type="xsd:string"/> - <xsd:element name="requirementName" type="xsd:string"/> - <xsd:element name="resourceName" type="xsd:string"/> - <xsd:element name="resourceValue" type="Deployment:Any"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ConnectionResourceDeploymentDescription" type="Deployment:ConnectionResourceDeploymentDescription"/> - <xsd:complexType name="Capability"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Capability" type="Deployment:Capability"/> - <xsd:complexType name="ComponentPropertyDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentPropertyDescription" type="Deployment:ComponentPropertyDescription"/> - <xsd:complexType name="ComponentPortDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="specificType" type="xsd:string"/> - <xsd:element name="supportedType" type="xsd:string"/> - <xsd:element name="provider" type="xsd:string"/> - <xsd:element name="exclusiveProvider" type="xsd:string"/> - <xsd:element name="exclusiveUser" type="xsd:string"/> - <xsd:element name="optional" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentPortDescription" type="Deployment:ComponentPortDescription"/> - <xsd:complexType name="ComponentInterfaceDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="specificType" type="xsd:string"/> - <xsd:element name="supportedType" type="xsd:string"/> - <xsd:element name="idlFile" type="xsd:string"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element name="port" type="Deployment:ComponentPortDescription"/> - <xsd:element name="property" type="Deployment:ComponentPropertyDescription"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/> - <xsd:complexType name="ImplementationArtifactDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="location" type="xsd:string"/> - <xsd:element name="execParameter" type="Deployment:Property"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement"/> - <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ImplementationArtifactDescription" type="Deployment:ImplementationArtifactDescription"/> - <xsd:complexType name="MonolithicImplementationDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="execParameter" type="Deployment:Property"/> - <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact"/> - <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="MonolithicImplementationDescription" type="Deployment:MonolithicImplementationDescription"/> - <xsd:complexType name="AssemblyPropertyMapping"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="AssemblyPropertyMapping" type="Deployment:AssemblyPropertyMapping"/> - <xsd:complexType name="SubcomponentPropertyReference"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SubcomponentPropertyReference" type="Deployment:SubcomponentPropertyReference"/> - <xsd:complexType name="SubcomponentPortEndpoint"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SubcomponentPortEndpoint" type="Deployment:SubcomponentPortEndpoint"/> - <xsd:complexType name="AssemblyConnectionDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="deployRequirement" type="Deployment:Requirement"/> - <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint"/> - <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint"/> - <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="AssemblyConnectionDescription" type="Deployment:AssemblyConnectionDescription"/> - <xsd:complexType name="SubcomponentInstantiationDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="package" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element name="selectRequirement" type="Deployment:Requirement"/> - <xsd:element name="reference" type="Deployment:ComponentPackageReference"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SubcomponentInstantiationDescription" type="Deployment:SubcomponentInstantiationDescription"/> - <xsd:complexType name="ComponentAssemblyDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/> - <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription"/> - <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentAssemblyDescription" type="Deployment:ComponentAssemblyDescription"/> - <xsd:complexType name="ComponentImplementationDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription"/> - <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/> - <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element name="capability" type="Deployment:Capability"/> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentImplementationDescription" type="Deployment:ComponentImplementationDescription"/> - <xsd:complexType name="ComponentPackageReference"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="requiredUUID" type="xsd:string"/> - <xsd:element name="requiredName" type="xsd:string"/> - <xsd:element name="requiredType" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentPackageReference" type="Deployment:ComponentPackageReference"/> - <xsd:complexType name="ComponentPackageDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation"/> - <xsd:element name="infoProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentPackageDescription" type="Deployment:ComponentPackageDescription"/> - <xsd:complexType name="PackageConfiguration"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="label" type="xsd:string"/> - <xsd:element name="UUID" type="xsd:string"/> - <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration"/> - <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription"/> - <xsd:element name="reference" type="Deployment:ComponentPackageReference"/> - <xsd:element name="selectRequirement" type="Deployment:Requirement"/> - <xsd:element name="configProperty" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PackageConfiguration" type="Deployment:PackageConfiguration"/> - <xsd:complexType name="PackagedComponentImplementation"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="PackagedComponentImplementation" type="Deployment:PackagedComponentImplementation"/> - <xsd:complexType name="NamedImplementationArtifact"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="NamedImplementationArtifact" type="Deployment:NamedImplementationArtifact"/> - <xsd:complexType name="ImplementationRequirement"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> - <xsd:element name="resourcePort" type="xsd:string"/> - <xsd:element name="componentPort" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ImplementationRequirement" type="Deployment:ImplementationRequirement"/> - <xsd:complexType name="RequirementSatisfier"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="RequirementSatisfier" type="Deployment:RequirementSatisfier"/> - <xsd:complexType name="SatisfierProperty"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/> - <xsd:element name="value" type="Deployment:Any"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="SatisfierProperty" type="Deployment:SatisfierProperty"/> - <xsd:complexType name="Requirement"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="property" type="Deployment:Property"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Requirement" type="Deployment:Requirement"/> - <xsd:complexType name="Property"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:Any"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="Property" type="Deployment:Property"/> - <xsd:complexType name="ExternalReferenceEndpoint"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="location" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ExternalReferenceEndpoint" type="Deployment:ExternalReferenceEndpoint"/> - <xsd:complexType name="ComponentExternalPortEndpoint"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="portName" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ComponentExternalPortEndpoint" type="Deployment:ComponentExternalPortEndpoint"/> - <xsd:complexType name="ImplementationDependency"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="requiredType" type="xsd:string"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="ImplementationDependency" type="Deployment:ImplementationDependency"/> - <xsd:complexType name="TopLevelPackageDescription"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="package" type="Deployment:PackageConfiguration"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - <xsd:element name="TopLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/> - <xsd:simpleType name="TCKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="tk_null"/> - <xsd:enumeration value="tk_void"/> - <xsd:enumeration value="tk_short"/> - <xsd:enumeration value="tk_long"/> - <xsd:enumeration value="tk_ushort"/> - <xsd:enumeration value="tk_ulong"/> - <xsd:enumeration value="tk_float"/> - <xsd:enumeration value="tk_double"/> - <xsd:enumeration value="tk_boolean"/> - <xsd:enumeration value="tk_char"/> - <xsd:enumeration value="tk_octet"/> - <xsd:enumeration value="tk_any"/> - <xsd:enumeration value="tk_TypeCode"/> - <xsd:enumeration value="tk_Principal"/> - <xsd:enumeration value="tk_objref"/> - <xsd:enumeration value="tk_struct"/> - <xsd:enumeration value="tk_union"/> - <xsd:enumeration value="tk_enum"/> - <xsd:enumeration value="tk_string"/> - <xsd:enumeration value="tk_sequence"/> - <xsd:enumeration value="tk_array"/> - <xsd:enumeration value="tk_alias"/> - <xsd:enumeration value="tk_except"/> - <xsd:enumeration value="tk_longlong"/> - <xsd:enumeration value="tk_ulonglong"/> - <xsd:enumeration value="tk_longdouble"/> - <xsd:enumeration value="tk_wchar"/> - <xsd:enumeration value="tk_wstring"/> - <xsd:enumeration value="tk_wfixed"/> - <xsd:enumeration value="tk_value"/> - <xsd:enumeration value="tk_value_box"/> - <xsd:enumeration value="tk_native"/> - <xsd:enumeration value="tk_abstract_interface"/> - <xsd:enumeration value="tk_local_interface"/> - <xsd:enumeration value="tk_component"/> - <xsd:enumeration value="tk_home"/> - <xsd:enumeration value="tk_event"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="ResourceUsageKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="None"/> - <xsd:enumeration value="InstanceUsesResource"/> - <xsd:enumeration value="ResourceUsesInstance"/> - <xsd:enumeration value="PortUsesResource"/> - <xsd:enumeration value="ResourceUsesPort"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="CCMComponentPortKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="Facet"/> - <xsd:enumeration value="SimplexReceptacle"/> - <xsd:enumeration value="MultiplexReceptacle"/> - <xsd:enumeration value="EventEmitter"/> - <xsd:enumeration value="EventPublisher"/> - <xsd:enumeration value="EventConsumer"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="SatisfierPropertyKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="Quantity"/> - <xsd:enumeration value="Capacity"/> - <xsd:enumeration value="Minimum"/> - <xsd:enumeration value="Maximum"/> - <xsd:enumeration value="Attribute"/> - <xsd:enumeration value="Selection"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:element name="Deployment"> - <xsd:complexType> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="Deployment:Any"/> - <xsd:element ref="Deployment:DataType"/> - <xsd:element ref="Deployment:DataValue"/> - <xsd:element ref="Deployment:EnumType"/> - <xsd:element ref="Deployment:ObjrefType"/> - <xsd:element ref="Deployment:BoundedStringType"/> - <xsd:element ref="Deployment:FixedType"/> - <xsd:element ref="Deployment:ArrayType"/> - <xsd:element ref="Deployment:SequenceType"/> - <xsd:element ref="Deployment:AliasType"/> - <xsd:element ref="Deployment:StructType"/> - <xsd:element ref="Deployment:StructMemberType"/> - <xsd:element ref="Deployment:ValueType"/> - <xsd:element ref="Deployment:ValueMemberType"/> - <xsd:element ref="Deployment:UnionType"/> - <xsd:element ref="Deployment:UnionMemberType"/> - <xsd:element ref="Deployment:NamedValue"/> - <xsd:element ref="Deployment:Bridge"/> - <xsd:element ref="Deployment:Interconnect"/> - <xsd:element ref="Deployment:Node"/> - <xsd:element ref="Deployment:Resource"/> - <xsd:element ref="Deployment:SharedResource"/> - <xsd:element ref="Deployment:Domain"/> - <xsd:element ref="Deployment:PlanPropertyMapping"/> - <xsd:element ref="Deployment:PlanSubcomponentPropertyReference"/> - <xsd:element ref="Deployment:PlanSubcomponentPortEndpoint"/> - <xsd:element ref="Deployment:PlanConnectionDescription"/> - <xsd:element ref="Deployment:InstanceDeploymentDescription"/> - <xsd:element ref="Deployment:MonolithicDeploymentDescription"/> - <xsd:element ref="Deployment:ArtifactDeploymentDescription"/> - <xsd:element ref="Deployment:DeploymentPlan"/> - <xsd:element ref="Deployment:ResourceDeploymentDescription"/> - <xsd:element ref="Deployment:InstanceResourceDeploymentDescription"/> - <xsd:element ref="Deployment:ConnectionResourceDeploymentDescription"/> - <xsd:element ref="Deployment:Capability"/> - <xsd:element ref="Deployment:ComponentPropertyDescription"/> - <xsd:element ref="Deployment:ComponentPortDescription"/> - <xsd:element ref="Deployment:ComponentInterfaceDescription"/> - <xsd:element ref="Deployment:ImplementationArtifactDescription"/> - <xsd:element ref="Deployment:MonolithicImplementationDescription"/> - <xsd:element ref="Deployment:AssemblyPropertyMapping"/> - <xsd:element ref="Deployment:SubcomponentPropertyReference"/> - <xsd:element ref="Deployment:SubcomponentPortEndpoint"/> - <xsd:element ref="Deployment:AssemblyConnectionDescription"/> - <xsd:element ref="Deployment:SubcomponentInstantiationDescription"/> - <xsd:element ref="Deployment:ComponentAssemblyDescription"/> - <xsd:element ref="Deployment:ComponentImplementationDescription"/> - <xsd:element ref="Deployment:ComponentPackageReference"/> - <xsd:element ref="Deployment:ComponentPackageDescription"/> - <xsd:element ref="Deployment:PackageConfiguration"/> - <xsd:element ref="Deployment:PackagedComponentImplementation"/> - <xsd:element ref="Deployment:NamedImplementationArtifact"/> - <xsd:element ref="Deployment:ImplementationRequirement"/> - <xsd:element ref="Deployment:RequirementSatisfier"/> - <xsd:element ref="Deployment:SatisfierProperty"/> - <xsd:element ref="Deployment:Requirement"/> - <xsd:element ref="Deployment:Property"/> - <xsd:element ref="Deployment:ExternalReferenceEndpoint"/> - <xsd:element ref="Deployment:ComponentExternalPortEndpoint"/> - <xsd:element ref="Deployment:ImplementationDependency"/> - <xsd:element ref="Deployment:TopLevelPackageDescription"/> - <xsd:element ref="xmi:Extension"/> - </xsd:choice> - <xsd:attribute ref="xmi:id" use="optional"/> - <xsd:attributeGroup ref="xmi:ObjectAttribs"/> - </xsd:complexType> - </xsd:element> -</xsd:schema> diff --git a/CIAO/docs/schema/Spec_Defined_XMI.xsd b/CIAO/docs/schema/Spec_Defined_XMI.xsd deleted file mode 100644 index f4adac91934..00000000000 --- a/CIAO/docs/schema/Spec_Defined_XMI.xsd +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema targetNamespace="http://www.omg.org/XMI" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='http://www.w3.org/2001/XMLSchema XMLSchema.xsd'> - <xsd:attribute name="id" type="xsd:ID" /> - <xsd:attributeGroup name="IdentityAttribs"> - <xsd:attribute form="qualified" name="label" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="uuid" type="xsd:string" use="optional" /> - </xsd:attributeGroup> - <xsd:attributeGroup name="LinkAttribs"> - <xsd:attribute name="href" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="idref" type="xsd:IDREF" use="optional" /> - </xsd:attributeGroup> - <xsd:attributeGroup name="ObjectAttribs"> - <xsd:attributeGroup ref="xmi:IdentityAttribs" /> - <xsd:attributeGroup ref="xmi:LinkAttribs" /> - <xsd:attribute fixed="2.0" form="qualified" name="version" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="type" type="xsd:QName" use="optional" /> - </xsd:attributeGroup> - <xsd:complexType name="Extension"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:any processContents="lax" /> - </xsd:choice> - <xsd:attribute ref="xmi:id" /> - <xsd:attributeGroup ref="xmi:ObjectAttribs" /> - <xsd:attribute name="extender" type="xsd:string" use="optional" /> - <xsd:attribute name="extenderID" type="xsd:string" use="optional" /> - </xsd:complexType> - <xsd:element name="Extension" type="xmi:Extension" /> - <xsd:complexType name="Any"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:any processContents="skip" /> - </xsd:choice> - <xsd:anyAttribute processContents="skip" /> - </xsd:complexType> -</xsd:schema> diff --git a/CIAO/docs/schema/Task_Map.xsd b/CIAO/docs/schema/Task_Map.xsd deleted file mode 100644 index 2138f082d48..00000000000 --- a/CIAO/docs/schema/Task_Map.xsd +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.vanderbilt.edu/SA-POP Task_Map.xsd" xmlns:SA-POP="http://www.vanderbilt.edu/SA-POP" - targetNamespace="http://www.vanderbilt.edu/SA-POP" elementFormDefault="qualified"> - <!-- Simple types. --> - <xs:simpleType name="TaskID"> - <xs:restriction base="xs:int"> - <xs:minInclusive value="1" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="TaskImplID"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="ResourceID"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="ResourceKind"> - <xs:restriction base="xs:string"> - <xs:enumeration value="UNARY" /> - <xs:enumeration value="DISCRETE" /> - <xs:enumeration value="RESERVOIR" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="ResourceValue"> - <xs:restriction base="xs:int"> - <xs:minInclusive value="0" /> - </xs:restriction> - </xs:simpleType> - <xs:simpleType name="ImplParamID"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="ImplParamKind"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="ImplParamValue"> - <xs:restriction base="xs:string" /> - </xs:simpleType> - <xs:simpleType name="TimeValue"> - <xs:restriction base="xs:int"> - <!-- -1 indicates unknown/unconstrained time --> - <xs:minInclusive value="-1" /> - </xs:restriction> - </xs:simpleType> - <!-- Complex types corresponding to IDL structures. - (resources, parameters, implementations, associations, and task map) --> - <xs:complexType name="Resource"> - <xs:sequence> - <xs:element name="resourceID" type="SA-POP:ResourceID" /> - <xs:element name="kind" type="SA-POP:ResourceKind" default="DISCRETE" /> - <xs:element name="capacity" type="SA-POP:ResourceValue" default="100" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="ImplParam"> - <xs:sequence> - <xs:element name="paramID" type="SA-POP:ImplParamID" /> - <xs:element name="kind" type="SA-POP:ImplParamKind" /> - <xs:element name="value" type="SA-POP:ImplParamValue" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="TaskImpl"> - <xs:sequence> - <xs:element name="implID" type="SA-POP:TaskImplID" /> - <xs:element name="param" type="SA-POP:ImplParam" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="TaskToImpl"> - <xs:sequence> - <xs:element name="taskID" type="SA-POP:TaskID" /> - <xs:element name="implID" type="SA-POP:TaskImplID" /> - <xs:element name="duration" type="SA-POP:TimeValue" default="-1" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="ImplToResource"> - <xs:sequence> - <xs:element name="implID" type="SA-POP:TaskImplID" /> - <xs:element name="resourceID" type="SA-POP:ResourceID" /> - <xs:element name="utilization" type="SA-POP:ResourceValue" /> - </xs:sequence> - </xs:complexType> - <xs:complexType name="TaskMap"> - <xs:sequence> - <xs:element name="taskImpl" type="SA-POP:TaskImpl" maxOccurs="unbounded" /> - <xs:element name="resource" type="SA-POP:Resource" maxOccurs="unbounded" /> - <xs:element name="taskToImpl" type="SA-POP:TaskToImpl" maxOccurs="unbounded" /> - <xs:element name="implToResource" type="SA-POP:ImplToResource" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - <!-- Top-level task map element. --> - <xs:element name="taskMap" type="SA-POP:TaskMap"></xs:element> -</xs:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/ccd.xsd b/CIAO/docs/schema/ccd.xsd deleted file mode 100644 index fcdac711b5a..00000000000 --- a/CIAO/docs/schema/ccd.xsd +++ /dev/null @@ -1,27 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="Basic_Deployment_Data.xsd" /> - - <xsd:complexType name="ComponentInterfaceDescription"> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0"/> - <xsd:element name="UUID" type="xsd:string" minOccurs="0"/> - <!-- @@ MAJO : HACK - SpecificType and SupportedType should be required! --> - <xsd:element name="specificType" type="xsd:string" minOccurs="0" /> - <xsd:element name="supportedType" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="idlFile" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="port" type="Deployment:ComponentPortDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="property" type="Deployment:ComponentPropertyDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <xsd:attribute name="href" type="xsd:string" /> - </xsd:complexType> -</xsd:schema> diff --git a/CIAO/docs/schema/cdd.xsd b/CIAO/docs/schema/cdd.xsd deleted file mode 100644 index 3fe64120bfd..00000000000 --- a/CIAO/docs/schema/cdd.xsd +++ /dev/null @@ -1,60 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - -<xsd:include schemaLocation="Basic_Deployment_Data.xsd" /> - - <xsd:complexType name="Domain"> - <xsd:sequence> - <xsd:element name="UUID" type="xsd:string" minOccurs="0" /> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="node" type="Deployment:Node" maxOccurs="unbounded"/> - <xsd:element name="interconnect" type="Deployment:Interconnect" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="bridge" type="Deployment:Bridge" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Bridge"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="connect" type="Deployment:Interconnect" maxOccurs="unbounded" /> - <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Interconnect"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="connection" type="Deployment:Bridge" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="connect" type="Deployment:Node" maxOccurs="unbounded" /> - <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Node"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="connection" type="Deployment:Interconnect" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="SharedResource"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="node" type="Deployment:Node"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:sequence> - </xsd:complexType> - -</xsd:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/cdp.xsd b/CIAO/docs/schema/cdp.xsd deleted file mode 100644 index 4fa69acd3fe..00000000000 --- a/CIAO/docs/schema/cdp.xsd +++ /dev/null @@ -1,27 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - -<xsd:include schemaLocation="ccd.xsd" /> - - <xsd:complexType name="DeploymentPlan"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0"/> - <xsd:element name="UUID" type="xsd:string" minOccurs="0"/> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0" /> - <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded" /> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/> - <!-- potentially recursive, not used - <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/> - --> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> -</xsd:complexType> - - -</xsd:schema> diff --git a/CIAO/docs/schema/ciaopolicy.xsd b/CIAO/docs/schema/ciaopolicy.xsd deleted file mode 100644 index 93a7415c4b4..00000000000 --- a/CIAO/docs/schema/ciaopolicy.xsd +++ /dev/null @@ -1,607 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<xs:schema targetNamespace="www.dre.vanderbilt.edu" - xmlns:ciao="www.dre.vanderbilt.edu" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified" - attributeFormDefault="unqualified"> - - <xs:element name="orbPolicies"> - <xs:annotation> - <xs:documentation> - The root element of the schema. Contains zero or more policies. - </xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element name="policy" type="ciao:policyType" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:complexType name="policyType"> - <xs:sequence> - <xs:choice> - <xs:element name="rebindPolicy" type="ciao:rebindPolicyType" /> - <xs:element name="syncScopePolicy" type="ciao:syncScopePolicyType" /> - <xs:element name="requestPriorityPolicy" type="ciao:requestPriorityPolicyType" /> - <xs:element name="replyPriorityPolicy" type="ciao:replyPriorityPolicyType" /> - <xs:element name="requestStartTimePolicy" type="ciao:requestStartTimePolicyType" /> - <xs:element name="requestEndTimePolicy" type="ciao:requestEndTimePolicyType" /> - <xs:element name="replyStartTimePolicy" type="ciao:replyStartTimePolicyType" /> - <xs:element name="replyEndTimePolicy" type="ciao:replyEndTimePolicyType" /> - <xs:element name="relativeRequestTimeoutPolicy" type="ciao:relativeRequestTimeoutPolicyType" /> - <xs:element name="relativeRoundtripPolicy" type="ciao:relativeRoundtripPolicyType" /> - <xs:element name="routingPolicy" type="ciao:routingPolicyType" /> - <xs:element name="maxHopsPolicy" type="ciao:maxHopsPolicyType" /> - <xs:element name="queueOrderPolicy" type="ciao:queueOrderPolicyType" /> - <xs:element name="priorityModelPolicy" type="ciao:priorityModelPolicyType" /> - <xs:element name="threadPoolPolicy" type="ciao:threadPoolPolicyType" /> - <xs:element name="serverProtocolPolicy" type="ciao:serverProtocolPolicyType" /> - <xs:element name="clientProtocolPolicy" type="ciao:clientProtocolPolicyType" /> - <xs:element name="privateConnectionPolicy" type="ciao:privateConnectionPolicyType" /> - <xs:element name="priorityBandedPolicy" type="ciao:priorityBandedPolicyType" /> - </xs:choice> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="policyBase" abstract="true"> - <xs:annotation> - <xs:documentation> - This is the base policy type. All policies - should be an extension of this type. - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="override" type="ciao:overrideType" /> - <xs:element name="scope" type="ciao:scopeType" /> - </xs:sequence> - </xs:complexType> - - <xs:simpleType name="scopeType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="ORB" /> - <xs:enumeration value="THREAD" /> - <xs:enumeration value="OBJECT" /> - <xs:enumeration value="POA" /> - </xs:restriction> - </xs:simpleType> - - <xs:simpleType name="policyIDType"> - <xs:annotation> - <xs:documentation> - This type represents the policy ID. - Need to add a restriction. - </xs:documentation> - </xs:annotation> - <xs:restriction base="xs:integer"> - </xs:restriction> - </xs:simpleType> - - <xs:simpleType name="overrideType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="SET_OVERRIDE" /> - <xs:enumeration value="ADD_OVERRIDE" /> - </xs:restriction> - </xs:simpleType> - - - - <!-- The following are extensions of policyBase, one each for each policy - we may want to group these into seperate schema documents, for our - own sanity. - --> - <!-- Policies 23 - 35 are defined in Messaging_No_Impl.pidl, - with the exception of policy 32, defined in Messaging_RT_Policy.pidl - and policy 24, defined in Messaging_SyncScope_Policy.pidl --> - - <xs:complexType name="rebindPolicyType"> - <xs:annotation> - <xs:documentation> - Represents the RebindPolicy type, ID 23 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="rebindMode" type="ciao:rebindModeType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="23" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:simpleType name="rebindModeType"> - <xs:annotation> - <xs:documentation> - Note: This is not strictly represented in the pidl as an enum, - but that appears to be the intent of the way it is declared. - </xs:documentation> - </xs:annotation> - <xs:restriction base="xs:string"> - <xs:enumeration value="TRANSPARENT" /> - <xs:enumeration value="NO_REBIND" /> - <xs:enumeration value="NO_RECONNECT" /> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="syncScopePolicyType"> - <xs:annotation> - <xs:documentation> - Represents a SyncScopePolicyType, ID 24 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="synchronization" type="ciao:syncScopeType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="25" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:simpleType name="syncScopeType"> - <xs:annotation> - <xs:documentation> - Note: This was not declared an enum in Messaging_SyncScope_Policy.pidl, - but from the declaration, that appears to be the intent. - </xs:documentation> - </xs:annotation> - <xs:restriction base="xs:string"> - <xs:enumeration value="SYNC_NONE" /> - <xs:enumeration value="SYNC_WITH_TRANSPORT" /> - <xs:enumeration value="SYNC_WITH_SERVER" /> - <xs:enumeration value="SYNC_WITH_TARGET" /> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="requestPriorityPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RequestPriorityPolicy, ID 25 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="priorityRange" type="ciao:priorityRangeType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="25" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="replyPriorityPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a ReplyPriorityPolicy, ID 26 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="priorityRange" type="ciao:priorityRangeType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="26" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="priorityRangeType"> - <xs:annotation> - <xs:documentation> - Represents a PriorityRange struct defined in Messaging_No_Impl.pidl - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="min" type="xs:integer" /> - <xs:element name="max" type="xs:integer" /> - </xs:sequence> - </xs:complexType> - - - <xs:complexType name="requestStartTimePolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RequestStartTimePolicy, ID 27 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="startTime" type="ciao:utcTime" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="27" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <xs:complexType name="requestEndTimePolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RequestEndTimePolicy, ID 28 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="endTime" type="ciao:utcTime" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="28" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <xs:complexType name="replyStartTimePolicyType"> - <xs:annotation> - <xs:documentation> - Represents a ReplyStartTimePolicy, ID 29 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="startTime" type="ciao:utcTime" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="29" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <xs:complexType name="replyEndTimePolicyType"> - <xs:annotation> - <xs:documentation> - Represents a ReplyEndTimePolicy, ID 30 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="endTime" type="ciao:utcTime" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="30" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="utcTime"> - <xs:annotation> - <xs:documentation> - Represents a TimeBase::UtcT struct, defined in tao/TimeBase.pidl - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="time" type="xs:integer" /> - <xs:element name="inaccLo" type="xs:integer" /> - <xs:element name="inaccHi" type="xs:integer" /> - <xs:element name="tdf" type="xs:integer" /> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="relativeRequestTimeoutPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RelativeRequestTimeoutPolicy, ID 31. - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="relativeExpiry" type="xs:integer" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="31" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="relativeRoundtripPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RelativeRoundtripPolicy, ID 32 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="relativeExpiry" type="xs:integer" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="32" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="routingPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a RoutingPolicy, ID 33 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="routingTypeRangeMin" type="ciao:routingType" /> - <xs:element name="routingTypeRangeMax" type="ciao:routingType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="33" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:simpleType name="routingType"> - <xs:annotation> - <xs:documentation> - Note: This is not explicitly set up as an enum in Messaging_No_Impl.pidl, - but that appears to be the intent from the declaration. - </xs:documentation> - </xs:annotation> - <xs:restriction base="xs:string"> - <xs:enumeration value="ROUTE_NONE" /> - <xs:enumeration value="ROUTE_FORWARD" /> - <xs:enumeration value="ROUTE_STORE_AND_FORWARD" /> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="maxHopsPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a MaxHopsPolicy, ID 34 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="maxHops" type="xs:integer" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="34" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="queueOrderPolicyType"> - <xs:annotation> - <xs:documentation> - Represents a QueueOrderPolicy, ID 35 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="allowedOrders" type="ciao:ordersType" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="35" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:simpleType name="ordersType"> - <xs:annotation> - <xs:documentation> - Note: This is not explicitly declared to be an enum in Messaging_No_Impl.pidl, - but that appears to be the intent from the declaration. - </xs:documentation> - </xs:annotation> - <xs:restriction base="xs:string"> - <xs:enumeration value="ORDER_ANY" /> - <xs:enumeration value="ORDER_TEMPORAL" /> - <xs:enumeration value="ORDER_PRIORITY" /> - <xs:enumeration value="ORDER_DEADLINE" /> - </xs:restriction> - </xs:simpleType> - - <!-- Policies 40 - 45 are defined in RTCORBA.pidl --> - <!-- priorityModelPolicy --> - <xs:complexType name="priorityModelPolicyType"> - <xs:annotation> - <xs:documentation> - Represents the Priority Model Policy, ID 40 - </xs:documentation> - </xs:annotation> - - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="priorityModel" type="ciao:priorityModelType" /> - <xs:element name="serverPriority" type="xs:integer" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="40" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:simpleType name="priorityModelType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="CLIENT_PROPAGATED" /> - <xs:enumeration value="SERVER_DECLARED" /> - </xs:restriction> - </xs:simpleType> - - <!-- threadPoolPolicy --> - - <xs:complexType name="threadPoolPolicyType"> - <xs:annotation> - <xs:documentation> - Represents the ThreadPool policy, ID 41 - </xs:documentation> - </xs:annotation> - - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="threadPoolID" type="xs:integer" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="41" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <!-- serverProtocolPolicy --> - - <xs:complexType name="serverProtocolPolicyType"> - <xs:annotation> - <xs:documentation> - Represents the Server Protocol policy, ID 42 - </xs:documentation> - </xs:annotation> - - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="protocol" type="ciao:protocolType" - minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="42" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <!-- clientProtocolPolicy --> - <xs:complexType name="clientProtocolPolicyType"> - <xs:annotation> - <xs:documentation> - Represents the Client Protocol policy, ID 43 - </xs:documentation> - </xs:annotation> - - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="protocol" type="ciao:protocolType" - minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="43" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <!-- Protocol definitions for client and server Protocol properties types. --> - <xs:complexType name="protocolType"> - <xs:sequence> - <xs:element name="protocolType" type="xs:integer" /> - <xs:element name="orbProtocolProperties" type="ciao:protocolPropertyType" /> - <xs:element name="transportProtocolProperties" type="ciao:protocolPropertyType" /> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="protocolPropertyType"> - <xs:sequence> - <xs:choice> - <xs:element name="tcpProtocolProperties" type="ciao:tcpProtocolPropertiesType" /> - <xs:element name="giopProtocolProperties" type="ciao:giopProtocolPropertiesType" /> - <xs:element name="unixDomainProtocolProperties" type="ciao:unixDomainProtocolPropertiesType" /> - <xs:element name="sharedMemoryProtocolProperties" type="ciao:sharedMemoryProtocolPropertiesType" /> - </xs:choice> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="protocolPropertyBase" abstract="true"> - <xs:annotation> - <xs:documentation> - Base type for all protocol properties. - </xs:documentation> - </xs:annotation> - <xs:attribute name="type" type="xs:string" use="required" /> - </xs:complexType> - - <xs:complexType name="tcpProtocolPropertiesType"> - <xs:complexContent> - <xs:extension base="ciao:protocolPropertyBase"> - <xs:sequence> - <xs:element name="sendBufferSize" type="xs:integer" /> - <xs:element name="recvBufferSize" type="xs:integer" /> - <xs:element name="keepAlive" type="xs:boolean" /> - <xs:element name="dontRoute" type="xs:boolean" /> - <xs:element name="noDelay" type="xs:boolean" /> - <xs:element name="enableNetworkPriority" type="xs:boolean" /> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="giopProtocolPropertiesType"> - <xs:complexContent> - <xs:extension base="ciao:protocolPropertyBase" /> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="unixDomainProtocolPropertiesType"> - <xs:complexContent> - <xs:extension base="ciao:protocolPropertyBase"> - <xs:sequence> - <xs:element name="sendBufferSize" type="xs:integer" /> - <xs:element name="recvBufferSize" type="xs:integer" /> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="sharedMemoryProtocolPropertiesType"> - <xs:complexContent> - <xs:extension base="ciao:protocolPropertyBase"> - <xs:sequence> - <xs:element name="preallocateBufferSize" type="xs:integer" /> - <xs:element name="mmapFilename" type="xs:string" /> - <xs:element name="mmapLockname" type="xs:string" /> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <!-- TODO: Provide other protocolProperties types --> - - <!-- privateConnectionPolicy --> - <xs:complexType name="privateConnectionPolicyType"> - <xs:annotation> - <xs:documentation> - privateConnectionPolicy extension of policyBase, ID 44 - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <!-- empty --> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="44" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <!-- priorityBandedPolicy --> - <xs:complexType name="priorityBandedPolicyType"> - <xs:annotation> - <xs:documentation> - priorityBandedPolicy extension of policyBase, ID 45 - </xs:documentation> - </xs:annotation> - - <xs:complexContent> - <xs:extension base="ciao:policyBase"> - <xs:sequence> - <xs:element name="priorityBand" type="ciao:priorityBandType" - minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - <xs:attribute name="typeID" type="xs:integer" use="required" fixed="45" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - - <xs:complexType name="priorityBandType"> - <xs:annotation> - <xs:documentation> - Represents the PriorityBand struct for the priorityBandedPolicy element. - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element name="low" type="xs:integer" /> - <xs:element name="high" type="xs:integer" /> - </xs:sequence> - </xs:complexType> - - - -</xs:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/cid.xsd b/CIAO/docs/schema/cid.xsd deleted file mode 100644 index 7e5233d770f..00000000000 --- a/CIAO/docs/schema/cid.xsd +++ /dev/null @@ -1,80 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="Basic_Deployment_Data.xsd" /> - <xsd:include schemaLocation="cpd.xsd" /> - <xsd:include schemaLocation="iad.xsd" /> - <xsd:include schemaLocation="pcd.xsd" /> - - <xsd:complexType name="SubcomponentInstantiationDescription"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription" minOccurs="0" /> - <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration" minOccurs="0" /> - <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="referencedPackage" type="Deployment:ComponentPackageReference" minOccurs="0"/> - <xsd:element name="importedPackage" type="Deployment:ComponentPackageImport" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - </xsd:complexType> - - <xsd:complexType name="SubcomponentPropertyReference"> - <xsd:sequence> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="xsd:IDREF"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="AssemblyPropertyMapping"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentAssemblyDescription"> - <xsd:sequence> - <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription" maxOccurs="unbounded"/> - <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription" minOccurs="0" maxOccurs="unbounded"/> - <!-- <xsd:element name="locality" type="Deployment:Locality" minOccurs="0" maxOccurs="unbounded" /> --> - <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="MonolithicImplementationDescription"> - <xsd:sequence> - <xsd:element name="nodeExecParameter" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="componentExecParameter" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentImplementationDescription"> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="UUID" type="xsd:string" minOccurs="0" /> - <!-- @@ MAJO : Hack: Implements should be required. --> - <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription" minOccurs="0" /> - <xsd:choice> - <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/> - <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/> - </xsd:choice> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="capability" type="Deployment:Capability" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - - -</xsd:schema> diff --git a/CIAO/docs/schema/cpd.xsd b/CIAO/docs/schema/cpd.xsd deleted file mode 100644 index 6f049fa839b..00000000000 --- a/CIAO/docs/schema/cpd.xsd +++ /dev/null @@ -1,35 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="ccd.xsd" /> - <xsd:include schemaLocation="cid.xsd" /> - - <xsd:complexType name="PackagedComponentImplementation"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <!-- @@ recursive CPD->PCI->CID->CAD->SID->CPD --> - <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ComponentPackageDescription"> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="UUID" type="xsd:string" minOccurs="0" /> - <!-- @@MAJO - This is a hack, realizes is required. --> - <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0" /> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation" maxOccurs="unbounded" /> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> - -</xsd:schema> - diff --git a/CIAO/docs/schema/iad.xsd b/CIAO/docs/schema/iad.xsd deleted file mode 100644 index 2f910b5d333..00000000000 --- a/CIAO/docs/schema/iad.xsd +++ /dev/null @@ -1,32 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - -<xsd:include schemaLocation="Basic_Deployment_Data.xsd" /> - - <xsd:complexType name="NamedImplementationArtifact"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <!-- @@ recursive NIA->IAD->NIA --> - <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ImplementationArtifactDescription"> - <xsd:choice minOccurs="0" maxOccurs="1"> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="UUID" type="xsd:string" minOccurs="0" /> - <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> - <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - <xsd:attribute name="href" type="xsd:string" use="optional"/> - </xsd:complexType> -</xsd:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/pcd.xsd b/CIAO/docs/schema/pcd.xsd deleted file mode 100644 index 05b10e1bb79..00000000000 --- a/CIAO/docs/schema/pcd.xsd +++ /dev/null @@ -1,32 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="Basic_Deployment_Data.xsd" /> - <xsd:include schemaLocation="cpd.xsd" /> - - <xsd:complexType name="ComponentPackageImport"> - <xsd:sequence> - <xsd:element name="location" type="xsd:string" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="PackageConfiguration"> - <xsd:choice> - <xsd:sequence> - <xsd:element name="label" type="xsd:string" minOccurs="0" /> - <xsd:element name="UUID" type="xsd:string" minOccurs="0" /> - <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription" minOccurs="0" /> - <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration" minOccurs="0" /> - <xsd:element name="importedPackage" type="Deployment:ComponentPackageImport" minOccurs="0" /> - <xsd:element name="referencedPackage" type="Deployment:ComponentPackageReference" minOccurs="0"/> - <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:element name="contentLocation" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - -</xsd:schema>
\ No newline at end of file diff --git a/CIAO/docs/schema/toplevel.xsd b/CIAO/docs/schema/toplevel.xsd deleted file mode 100644 index 0c67f5fb7a9..00000000000 --- a/CIAO/docs/schema/toplevel.xsd +++ /dev/null @@ -1,15 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - - <xsd:include schemaLocation="pcd.xsd" /> - - <xsd:complexType name="TopLevelPackageDescription"> - <xsd:sequence> - <xsd:element name="basePackage" type="Deployment:PackageConfiguration" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> diff --git a/CIAO/docs/schema/unused_elements.xsd b/CIAO/docs/schema/unused_elements.xsd deleted file mode 100644 index c1200b088e9..00000000000 --- a/CIAO/docs/schema/unused_elements.xsd +++ /dev/null @@ -1,161 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Deployment="http://www.omg.org/Deployment" - targetNamespace="http://www.omg.org/Deployment"> - -<!-- VAULT - -Place for strange things. Nobody knows what they are for... - ---> - -<!-- - - <xsd:complexType name="EnumType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="ObjrefType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="BoundedStringType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="FixedType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="digits" type="xsd:string"/> - <xsd:element name="scale" type="xsd:string"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="ArrayType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="length" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="SequenceType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="bound" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="AliasType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="elementType" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="StructType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="member" type="Deployment:StructMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="StructMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="ValueType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="modifier" type="xsd:string"/> - <xsd:element name="baseType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:ValueMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="ValueMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="visibility" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="UnionType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="typeId" type="xsd:string"/> - <xsd:element name="default" type="Deployment:UnionMemberType"/> - <xsd:element name="discriminatorType" type="Deployment:DataType"/> - <xsd:element name="member" type="Deployment:UnionMemberType"/> - </xsd:choice> - </xsd:complexType> - - <xsd:complexType name="UnionMemberType"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="Deployment:DataType"/> - <xsd:element name="label" type="Deployment:DataValue"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="NamedValue"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value" type="Deployment:DataValue"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="PlanPropertyMapping"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="source" type="xsd:string"/> - <xsd:element name="externalName" type="xsd:string"/> - <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/> - </xsd:choice> - </xsd:complexType> - - - <xsd:complexType name="PlanSubcomponentPropertyReference"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="propertyName" type="xsd:string"/> - <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> - </xsd:choice> - </xsd:complexType> - ---> - -<!-- - - This type is not referenced anywhere. - - <xsd:complexType name="RequirementSatisfier"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="resourceType" type="xsd:string"/> - <xsd:element name="property" type="Deployment:SatisfierProperty"/> - </xsd:choice> - </xsd:complexType> - ---> - -</xsd:schema> diff --git a/CIAO/docs/schema/xsc-banner.cpp b/CIAO/docs/schema/xsc-banner.cpp deleted file mode 100644 index ecd90a877a6..00000000000 --- a/CIAO/docs/schema/xsc-banner.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* $Id$ - * This code was generated by the XML Schema Compiler. - * - * Changes made to this code will most likely be overwritten - * when the handlers are recompiled. - * - * If you find errors or feel that there are bugfixes to be made, - * please contact the current XSC maintainer: - * Will Otte <wotte@dre.vanderbilt.edu> - */ - diff --git a/CIAO/docs/schema/xsc-banner.h b/CIAO/docs/schema/xsc-banner.h deleted file mode 100644 index 9f433e2a68a..00000000000 --- a/CIAO/docs/schema/xsc-banner.h +++ /dev/null @@ -1,18 +0,0 @@ -/* $Id$ - * This code was generated by the XML Schema Compiler. - * - * Changes made to this code will most likely be overwritten - * when the handlers are recompiled. - * - * If you find errors or feel that there are bugfixes to be made, - * please contact the current XSC maintainer: - * Will Otte <wotte@dre.vanderbilt.edu> - */ - -// Fix for Borland compilers, which seem to have a broken -// <string> include. -#ifdef __BORLANDC__ -# include <string.h> -#endif - -#include "XSC_XML_Handlers_Export.h" diff --git a/CIAO/docs/static_ciao_contents.html b/CIAO/docs/static_ciao_contents.html deleted file mode 100755 index d043e4c0aee..00000000000 --- a/CIAO/docs/static_ciao_contents.html +++ /dev/null @@ -1,359 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" - content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Venkita Subramonian"> - <meta name="GENERATOR" - content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> - <title>CIAO Static Configuration</title> - <base target="main"><!-- $Id$ --> -</head> -<body> -<center> -<h2>CIAO Static Configuration Support for Real-Time Platforms</h2> -</center> -<h3> -<a name="intro"></a>1. Introduction</h3> -The dynamic packaging, assembly, and deployment mechanisms currently -available -in CIAO are useful for application domains where component metadata is -less likely to be known a priori, where implementation upgrades may -need -to be performed on-line, and where platform features like loading and -unloading -dynamic libraries are both available and useful. Furthermore, the -new CCM Deployment and Configuration specification describes a wider -range -of configuration capabilities, opening up the question of alternative -component -configuration strategies more generally and requiring that any solution -we devise can be migrated to that new configuration approach. -<p>Therefore, we have incorporated support for component configuration -in CIAO on platforms like VxWorks, as a set of optional strategies and -optimizations to the existing CIAO configuration capabilities. By -supporting both dynamic and static styles of configuration in CIAO, we -will both (1) be able to realize our short term goals in making CIAO -available -on VxWorks for use in the Boeing PCES/MoBIES OEP, and (2) set a -precedent -for availability of static configuration capabilities more generally, -so -that DRE systems are well-supported within the new Deployment and -Configuration -specification implementation for CIAO as well. -</p> -<p>The fundamental intuition in understanding our approach is that in -DRE -systems the stages of the overall system lifecycle are similar to those -in more dynamic conventional component-oriented client-server -applications. -However, in DRE systems several phases of the system lifecycle are -compressed -into the compile-time and system-initialization phases, so that (1) for -testing and verification purposes the set of components in an -application -can be identified and analyzed before run-time, and (2) overheads for -run-time -operation following initialization are reduced and made more -predictable. -Furthermore, due to the nuances of the platforms traditionally used for -deploying DRE systems, not all features of conventional platforms are -available. -Our approach therefore avoids certain mechanisms that are either -unavailable -or too costly in terms of performance. -</p> -<p>We follow these intuitions in our approach, taking the existing -configuration -phases in CIAO and pushing several of them earlier in the configuration -lifecycle. We ensure that our approach can be realized in the -context -of the platforms on which the Boeing PCES/MoBIES OEP will be deployed, -notably VxWorks, by re-factoring the configuration mechanisms and -retargeting -them to use only the services available on the target real-time -platforms. -<br> - -</p> -<h3><a name="currentarch"></a>2. Current CIAO Configuration Architecture</h3> -<center> -<p><br> -<img src="imgs/ciao-dynamic1.jpg" height="462" width="774"></p> -<p><b>Figure 1. Current configuration process in CIAO</b></p> -</center> -<p>The first stage of the CIAO system lifecycle occurs off-line, when -component -package (.csd) and assembly (.cad) files are generated by a modeling -tool -or other prior stage of the tool chain. These files contain an -abstract -specification of the configuration that is to be achieved by CIAO in -each -particular deployment environment . -</p> -<p>CIAO interprets these .csd and .cad files, and creates and -configures -the components, their run-time server environments, and QoS properties -within the supporting ORB and other related infrastructure. -Currently, -CIAO runs several daemon processes for each deployment environment: one -or more Component Installation / Server Activation (CISA) daemons on -each -machine where components can be deployed, an additional Assembly -Manager -daemon and an Assembly Deployer process used by the system developer. -</p> -<p>The Assembly Manager stores an internal table with the target -platform -availability information . The Assembly Deployer -tells -the Assembly Manager which assemblies of components (each assembly is -defined -in a separate .cad file) should be deployed on which target -machines. -The Assembly Manager parses the XML structures in the .cad file, and -generates -its own internal data structure (<b>Figure 2</b>) as an intermediate -representation -of that assembly. -</p> -<p>The Assembly Manager then traverses (<b>Figure 2</b>) this -intermediate -representation, instructing each CISA daemon to install and configure -specific -component servers and containers, to create specific homes, and to -instantiate -specific component instances. Each CISA daemon has -additional -information about the component implementations available on that -endsystem -– each component UUID is mapped to a disk path for the .dll or .so file -within which a factory method for its home factory is defined. -</p> -<center> -<p><img src="imgs/ciao-dynamic2.jpg" height="384" width="699"></p> -<p><b>Figure 2. Intermediate representation of configuration information</b></p> -</center> -<p>The following steps are optional, and will only be performed if they -are explicitly specified in the assembly definition itself. For -the -sake of discussion, we consider the case where all the steps are in -fact -specified. The Assembly Manager will tell the CISA daemon the -UUIDs -of the components to be installed in that component server, and the -CISA -daemon will look up and load the appropriate dynamic library, invoke -the -home factory method to create the home, and then invoke the home’s -component -creation method. After all the component instances and homes have -been created and references to them have been obtained, the assembly -manager -will then make all the connections between ports and receptacles, -facets, -and event sources and sinks by invoking connect and subscribe methods -on -the receiving end component. -</p> -<p>QoS-specific metadata like priorities can be configured by a .cad -file -extension called a real-time descriptor (.rtcad) file. The -Assembly -Manager will read the .rtcad file and will parse and associate -real-time -policies with the appropriate component instances. One -implication -of this mechanism is that the Assembly Manager will maintain QoS -meta-data -within its intermediate representation, alongside the conventional CCM -meta-data. -</p> -<p>Furthermore, when the Assembly Manager interacts with the CISA -daemon(s) -on each endsystem, commands to configure particular component and -component -server run-time infrastructure QoS properties are passed from the -Assembly -Manager to the CISA daemon. The ORB (and as a future extension -the -ORB Services) of the endsystem on which the components are installed is -currently configured via the ACE Service Configurator. The CISA -daemon -maps different service configurations (as defined in particular -svc.conf -files) to logical names used in the component assembly descriptors. -</p> -<p>The logical configuration names are encoded within the .cad file as -an extension of the conventional .cad file format using the “extension” -element of the existing .cad file XML DTD. The Assembly Manager -passes -a component server creation command, containing a logical configuration -name, which the CISA daemon maps to a particular svc.conf file when it -creates a new component server. The CISA daemon adds a command -line -flag to the execution command line used to spawn the new component -server, -which causes that configuration file to be parsed and applied during -startup -of the component server itself. -</p> -<h3><a name="staticapproach"></a>3. Static Configuration Approach</h3> -In the static configuration approach (<b>Figure 3</b>), -configurations -XML files are translated in a code generation step just before compile -time (managed by the same project/Makefile processes that do the -compilation) -into C++ header and source files that are then compiled and linked with -the main application. -<center> -<p><img src="imgs/ciao-static1.jpg" height="523" width="800"></p> -<p><b>Figure 3. Static Configuration in CIAO</b></p> -</center> -<p>First, one of the generated files is a C++ header file, so that it -can -be included directly by C++ source files. There is no additional -parsing required to import a number of static constants and identifiers -it declares and defines, so that those constants end up being compiled -directly into C++ code. Second, where enumeration of information -is needed, the header file contains simple homogeneous C++ arrays so -that -C++ source code can iterate over those arrays with minimal -overhead. -Third, it declares information so that later information depends on -earlier -information (<b>Figure 4</b>), and the components are directly -configured -within that header file. -</p> -<center> -<p><img src="imgs/ciao-static2.jpg" height="476" width="816"></p> -<p><b>Figure 4. All XML files are parsed offline and stored as -cross-referenced -tables in Static_Assembly_Config.h</b></p> -</center> -<p>The major issues that we addressed in developing a re-factored -version -of the CIAO configuration mechanisms are as follows: -</p> -<p>1. XML parsing is too expensive to be performed during system -initialization, -so that all such parsing has been moved off-line to before -compile-time, -and the resulting information is linked statically into the application -itself. -</p> -<p>2. Each endsystem boots and initializes in a single process address -space, so that any remaining inter-process communication between -daemons -is replaced by direct interactions between objects, or at most between -threads. -</p> -<p>3. Dynamic link libraries are unavailable on VxWorks, so an -alternative -mechanism for obtaining the home factory method entry point is needed. -We gather this information from the XML files and statically generate a -map containing the entry point function names and the entry point -function pointers. This information will be used by the CIAO container -implementation instead of trying to load a dll and then finding the -entry -point in the dll. -</p> -<h4>Moving XML Parsing Earlier</h4> -We first focused on taking the XML parsing stage off-line. Since -the time required to do this by CIAO is currently reasonable as an -off-line -activity, we simply created (<b>Figure 4</b>) a stripped-down version -of -the Assembly Manager (reusing the existing class libraries the Assembly -Manager uses) that after it performs the XML parsing and generation of -its intermediate representation, emits a C++ header file containing -that -intermediate representation. -<h4>Combining Configuration Daemons at Run-Time</h4> -The intermediate representation is included in a configuration engine -(CIAO::Static_Configurator) -that consists of a simple reader for the intermediate representation, -again -derived from the code currently used in the Assembly Manager, which -will -dispatch to the configuration code used by the CISA daemons in the -dynamic -case. The configuration engine will be invoked from the -application’s -main entry point prior to starting execution of the application itself. -<h4>Eliminating Dynamic Library Loading</h4> -All code will need to be known a priori, and linked statically into the -application. If alternative configurations must be supported -statically, -then those separate configurations can be alternative selections chosen -during the build process. If alternative configurations must be -selected -adaptively at run-time then all the code for each possible -configuration -must be linked in statically, and appropriate mechanisms used to -re-target -a logical name dynamically to each particular configuration (e.g., -different -configurations for different system modes). -<br> - -<br> - -<br> -<br> -<center> -<p><img src="imgs/ciao-static-vs-dynamic.jpg" height="384" width="735"><br> -<b>Figure 5. CIAO Dynamic vs Static Configuration</b></p> -</center> -<h3> -<a name="status"></a><b>4. Status of CIAO Static Configuration</b></h3> -The initial version of the CIAO static configurator is available under -$CIAO_ROOT/tools/static_configurator. -<p>To run the static configurator, -</p> -<p><b><tt>Static_Assembly_Parser -a <.cad file></tt></b> -</p> -<p>This will generate three files - -</p> -<p><b><tt>Static_CCM_App.cpp</tt></b> - this file contains the main -program -which instantiates the component server and invokes the static -configuration -engine to create containers, homes, etc. -</p> -<p><b><tt>Static_CCM_App.mpc</tt></b> - this file contains the -necessary -files for building the static application. You have to manually change -this file so as to include files that are not known to the static -configurator. -</p> -<p><b><tt>Static_Assembly_Config.h</tt></b> - this file contains the -C++ -intermediate representation of all the information in the .cad, .csd -and -.ssd XML files. -</p> -<p><a name="Example"></a><b>Example</b> - An <a - href="static_config_example.html">example</a> -run is shown using the <a href="../examples/OEP/BasicSP">BasicSP</a> -scenario. -</p> -<h3><a name="futurework"></a><b>5. Future work</b></h3> -<p>The current implementation does not have support for multiple -component -servers running on multiple processors. Multiprocessor scenario -involves -coordination and synchronization among the component servers running on -different processors. There has to be some kind of a mediator which -determines -that all components are instantiated before connections can be made -among -them.<br> -<br> - -</p> -</body> -</html> diff --git a/CIAO/docs/static_ciao_index.html b/CIAO/docs/static_ciao_index.html deleted file mode 100755 index 627e07c65ca..00000000000 --- a/CIAO/docs/static_ciao_index.html +++ /dev/null @@ -1,23 +0,0 @@ -<html> - -<head> -<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> -<meta name="ProgId" content="FrontPage.Editor.Document"> -<title>New Page 1</title> -<!-- $Id$ --> - -</head> - -<frameset cols="294,*"> - <frame name="contents" target="main" src="static_ciao_toc.html"> - <frame name="main" src="static_ciao_contents.html" target="main"> - <noframes> - <body> - - <p>This page uses frames, but your browser doesn't support them.</p> - - </body> - </noframes> -</frameset> - -</html> diff --git a/CIAO/docs/static_ciao_toc.html b/CIAO/docs/static_ciao_toc.html deleted file mode 100755 index 35adb51ec1c..00000000000 --- a/CIAO/docs/static_ciao_toc.html +++ /dev/null @@ -1,26 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Venkita Subramonian"> - <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> - <title>CIAO Static Configuration</title> - <base target="contents"> -<!-- $Id$ --> -</head> -<body> -<h3 align="center">CIAO Static Configuration Documentation </h3> - -<ol> - -<li><a target="main" href="static_ciao_contents.html#intro">Introduction</a></li> -<li><a target="main" href="static_ciao_contents.html#currentarch">Current CIAO Configuration -Architecture</a></li> -<li><a target="main" href="static_ciao_contents.html#staticapproach">Static Configuration -Approach</a></li> -<li><a target="main" href="static_ciao_contents.html#status">Status of CIAO Static Configuration</a><br> -<a target="main" href="static_ciao_contents.html#Example">Example</a></li> -<li><a target="main" href="static_ciao_contents.html#futurework">Future work</a></li> -</ol> -</body> -</html> diff --git a/CIAO/docs/static_config_example.html b/CIAO/docs/static_config_example.html deleted file mode 100644 index 5e8c806e2cd..00000000000 --- a/CIAO/docs/static_config_example.html +++ /dev/null @@ -1,1353 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" - content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Venkita Subramonian"> - <meta name="GENERATOR" - content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> - <title>BasicSP example using CIAO Static Configurator</title> -<!-- $Id$ --> -</head> -<body> -This example illustrates -how to use the CIAO static configurator for building applications -statically. -For an example using RTCORBA policies, see <a - href="static_config_rtexample.html">BasicSP with RTCORBA extensions</a>. -From the <a href="../examples/OEP/BasicSP">BasicSP</a> directory do -the -following. -<p><b><tt>> cd descriptors</tt></b> -<br> -<b><tt>> $CIAO_ROOT/tools/static_configurator/Static_Assembly_Parser --a BasicSP.cad</tt></b> -</p> -<p>The following files are generated - -</p> -<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a> -<br> -<a href="#Static_CCM_App.cpp">Static_CCM_App.cpp</a> -<br> -<a href="#Static_CCM_App.mpc">Static_CCM_App.mpc</a> -</p> -<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a> -contains -the intermediate representation of all the parsed component and -assembly -information obtained from the XML files. <a href="#Static_CCM_App.cpp">Static_CCM_App.cpp</a> -contains the main driver application. Here a runtime <a - href="#static%20config%20engine">static -configuration engine</a> is used to create containers, homes, -components, -etc and then establish necessary connections between the components. In -the BasicSP example, an external controller (see <tt><a - href="../examples/OEP/BasicSP/README">$CIAO_ROOT/examples/OEP/BasicSP/README</a></tt>) -is used to start or stop a pulser. The generated main driver -application -(Static_CCM_App.cpp) is <a href="#Modified%20Static_CCM_App.cpp">modified</a> -to add code to trigger the pulser object on. The generated .mpc file is -<a href="#Modified%20Static_CCM_App.mpc">modified</a> -to add all other necessary files so that the application can be built -statically. -Note that the static configurator only generates only certain file -names -in the .mpc file. These filenames are obtained from the XML descriptor -files. All other necessary files have to be added manually as -indicated. -</p> -<p>Now the static build files can be generated by running the mpc -utility. -</p> -<p><b><tt>> cd ..</tt></b> -<br> -<b><tt>> $ACE_ROOT/bin/mpc -static Static_CCM_App.mpc</tt></b> -</p> -<p><a name="Static_Assembly_Config.h"></a><b><u>Static_Assembly_Config.h</u></b> -<br> -<tt><font color="#3333ff">#include "Static_Assembly.h"</font></tt> -</p> -<p><tt><font color="#3333ff">#include "CCM_ContainerC.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "Container_Base.h"</font></tt> -</p> -<p><tt><font color="#3333ff">//Containers</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Static_Config::ContainerAttributes -containers_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {"", 0}</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">extern "C" -::Components::HomeExecutorBase_ptr -createECHome_Impl (void);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::PortableServer::Servant -createECHome_Servant</font></tt> -<br> -<tt><font color="#3333ff"> (::Components::HomeExecutorBase_ptr -p,</font></tt> -<br> -<tt><font color="#3333ff"> ::CIAO::Session_Container *c</font></tt> -<br> -<tt><font color="#3333ff"> ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::Components::HomeExecutorBase_ptr -createBMDeviceHome_Impl (void);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::PortableServer::Servant -createBMDeviceHome_Servant</font></tt> -<br> -<tt><font color="#3333ff"> (::Components::HomeExecutorBase_ptr -p,</font></tt> -<br> -<tt><font color="#3333ff"> ::CIAO::Session_Container *c</font></tt> -<br> -<tt><font color="#3333ff"> ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::Components::HomeExecutorBase_ptr -createBMClosedEDHome_Impl (void);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::PortableServer::Servant -createBMClosedEDHome_Servant</font></tt> -<br> -<tt><font color="#3333ff"> (::Components::HomeExecutorBase_ptr -p,</font></tt> -<br> -<tt><font color="#3333ff"> ::CIAO::Session_Container *c</font></tt> -<br> -<tt><font color="#3333ff"> ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::Components::HomeExecutorBase_ptr -createBMDisplayHome_Impl (void);</font></tt> -<br> -<tt><font color="#3333ff">extern "C" ::PortableServer::Servant -createBMDisplayHome_Servant</font></tt> -<br> -<tt><font color="#3333ff"> (::Components::HomeExecutorBase_ptr -p,</font></tt> -<br> -<tt><font color="#3333ff"> ::CIAO::Session_Container *c</font></tt> -<br> -<tt><font color="#3333ff"> ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt> -<br> -<tt><font color="#3333ff">//Homes</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Static_Config::HomeAttributes -homes_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {"a_ECHome", -"DCE:3148F760-F2ED-4204-A775-6B972C10E8CB", -"createECHome_Impl", createECHome_Impl, -"DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40", -"createECHome_Servant", createECHome_Servant, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMDeviceHome", -"DCE:82C2B032-37F0-4315-A59F-7020D3264E4D", -"createBMDeviceHome_Impl", createBMDeviceHome_Impl, -"DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3", -"createBMDeviceHome_Servant", createBMDeviceHome_Servant, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMClosedEDHome", -"DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538", -"createBMClosedEDHome_Impl", createBMClosedEDHome_Impl, -"DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78", -"createBMClosedEDHome_Servant", createBMClosedEDHome_Servant, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMDisplayHome", -"DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29", -"createBMDisplayHome_Impl", createBMDisplayHome_Impl, -"DCE:D7984625-8561-431d-9927-4E498B317C02", -"createBMDisplayHome_Servant", createBMDisplayHome_Servant, 0, 0 }</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">//Components</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Static_Config::ComponentAttributes -components_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {"a_EC", 0, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMDevice", -1, -1, 1 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMClosedED", -1, -1, 2 },</font></tt> -<br> -<tt><font color="#3333ff"> {"a_BMDisplay", -1, -1, 3 }</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">//Component Registrations</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Assembly_Placement::componentinstantiation::Register_Info -component_registrations_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Placement::componentinstantiation::COMPONENT, -CIAO::Assembly_Placement::componentinstantiation::IORFILE, "", "ec.ior" -}</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">//Connections</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Static_Config::ConnectionAttributes -connections_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::PUBLISHER_CONSUMER, -"", "timeout", 0, 1, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::PUBLISHER_CONSUMER, -"", "data_available", 3, 4, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::PUBLISHER_CONSUMER, -"", "out_avail", 6, 7, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::INTERFACE, -"", "datain", 9, 10, 0, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::INTERFACE, -"", "comp_data", 12, 13, 0, 0 }</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">//Resolver Infos</font></tt> -<br> -<tt><font color="#3333ff">CIAO::Static_Config::ResolveInfoAttributes -resolvers_table_[]=</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_EC", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::CONSUMER, -"timeout", 2, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMDevice", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMDevice", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::CONSUMER, -"in_avail", 5, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMClosedED", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMClosedED", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::CONSUMER, -"data_ready", 8, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMDisplay", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMClosedED", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::PROVIDER, -"data_read", 11, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMDevice", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMDisplay", -1, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::PROVIDER, -"dataout", 14, 0 },</font></tt> -<br> -<tt><font color="#3333ff"> {CIAO::Assembly_Connection::COMP_IDREF, -"a_BMClosedED", -1, 0 }</font></tt> -<br> -<tt><font color="#3333ff">};</font></tt> -</p> -<p><a name="Static_CCM_App.cpp"></a><b><u>Static_CCM_App.cpp</u></b> -<br> -<tt><font color="#3333ff">#include "ComponentServer_Impl.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "CIAO_ServersC.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "Server_init.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "Static_Configurator.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "ace/SString.h"</font></tt> -<br> -<tt><font color="#3333ff">#include "ace/Get_Opt.h"</font></tt> -</p> -<p><tt><font color="#3333ff">#include "Static_Assembly_Config.h"</font></tt> -</p> -<p><tt><font color="#3333ff">char *ior_file_name_ = "comp_serv.ior";</font></tt> -</p> -<p><tt><font color="#3333ff">int</font></tt> -<br> -<tt><font color="#3333ff">parse_args (int argc, char *argv[])</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> ACE_Get_Opt get_opts (argc, argv, -"k:o:");</font></tt> -<br> -<tt><font color="#3333ff"> int c;</font></tt> -</p> -<p><tt><font color="#3333ff"> while ((c = get_opts ()) != -1)</font></tt> -<br> -<tt><font color="#3333ff"> switch (c)</font></tt> -<br> -<tt><font color="#3333ff"> {</font></tt> -<br> -<tt><font color="#3333ff"> case -'o': -// get the file name to write to</font></tt> -<br> -<tt><font color="#3333ff"> -ior_file_name_ -= get_opts.opt_arg ();</font></tt> -<br> -<tt><font color="#3333ff"> break;</font></tt> -</p> -<p><tt><font color="#3333ff"> case -'?': -// display help for use of the server.</font></tt> -<br> -<tt><font color="#3333ff"> default:</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ERROR_RETURN ((LM_ERROR,</font></tt> -<br> -<tt><font color="#3333ff"> -"usage: %s\n"</font></tt> -<br> -<tt><font color="#3333ff"> -"-o <ior_output_file>\n"</font></tt> -<br> -<tt><font color="#3333ff"> -"\n",</font></tt> -<br> -<tt><font color="#3333ff"> -argv [0]),</font></tt> -<br> -<tt><font color="#3333ff"> --1);</font></tt> -<br> -<tt><font color="#3333ff"> }</font></tt> -</p> -<p><tt><font color="#3333ff"> return 0;</font></tt> -<br> -<tt><font color="#3333ff">}</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">int</font></tt> -<br> -<tt><font color="#3333ff">main (int argc, char *argv[])</font></tt> -<br> -<tt><font color="#3333ff">{</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_NEW_ENV</font></tt> -<br> -<tt><font color="#3333ff"> {</font></tt> -<br> -<tt><font color="#3333ff"> // Initialize -orb</font></tt> -<br> -<tt><font color="#3333ff"> CORBA::ORB_var -orb = CORBA::ORB_init (argc,</font></tt> -<br> -<tt><font color="#3333ff"> -argv,</font></tt> -<br> -<tt><font color="#3333ff"> -0</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> -CIAO::Server_init -(orb.in ());</font></tt> -</p> -<p><tt><font color="#3333ff"> if -(parse_args -(argc, argv) != 0)</font></tt> -<br> -<tt><font color="#3333ff"> -return -1;</font></tt> -</p> -<p><tt><font color="#3333ff"> // Get -reference -to Root POA.</font></tt> -<br> -<tt><font color="#3333ff"> -CORBA::Object_var -obj</font></tt> -<br> -<tt><font color="#3333ff"> -= orb->resolve_initial_references ("RootPOA"</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> -PortableServer::POA_var -poa</font></tt> -<br> -<tt><font color="#3333ff"> -= PortableServer::POA::_narrow (obj.in ()</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> // Activate -POA manager</font></tt> -<br> -<tt><font color="#3333ff"> -PortableServer::POAManager_var -mgr</font></tt> -<br> -<tt><font color="#3333ff"> -= poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> -mgr->activate -(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> -CIAO::ComponentServer_Impl -*comserv_servant;</font></tt> -</p> -<p><tt><font color="#3333ff"> -CIAO::Static_Configurator -configurator;</font></tt> -<br> -<tt><font color="#3333ff"> int -containers_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof -(containers_table_)/sizeof(CIAO::Static_Config::ContainerAttributes);</font></tt> -<br> -<tt><font color="#3333ff"> int -homes_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof (homes_table_)/sizeof(CIAO::Static_Config::HomeAttributes);</font></tt> -<br> -<tt><font color="#3333ff"> int -components_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof -(components_table_)/sizeof(CIAO::Static_Config::ComponentAttributes);</font></tt> -<br> -<tt><font color="#3333ff"> int -component_registrations_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof -(component_registrations_table_)/sizeof(CIAO::Assembly_Placement::componentinstantiation::Register_Info);</font></tt> -<br> -<tt><font color="#3333ff"> int -connections_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof -(connections_table_)/sizeof(CIAO::Static_Config::ConnectionAttributes);</font></tt> -<br> -<tt><font color="#3333ff"> int -resolvers_table_size -=</font></tt> -<br> -<tt><font color="#3333ff"> -sizeof -(resolvers_table_)/sizeof(CIAO::Static_Config::ResolveInfoAttributes);</font></tt> -</p> -<p><tt><font color="#3333ff"> -CIAO::HOMECREATOR_FUNCPTR_MAP -home_creator_fptr_map;</font></tt> -<br> -<tt><font color="#3333ff"> -CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP -homesvnt_creator_fptr_map;</font></tt> -<br> -<tt><font color="#3333ff"> -CIAO::Static_Config_EntryPoints_Maps -maps;</font></tt> -<br> -<tt><font color="#3333ff"> -maps.home_creator_funcptr_map_ -= &home_creator_fptr_map;</font></tt> -<br> -<tt><font color="#3333ff"> -maps.home_servant_creator_funcptr_map_ -= &homesvnt_creator_fptr_map;</font></tt> -</p> -<p><tt><font color="#3333ff"> int i=0;</font></tt> -<br> -<tt><font color="#3333ff"> for (i=0; -i<homes_table_size; ++i)</font></tt> -<br> -<tt><font color="#3333ff"> -{</font></tt> -<br> -<tt><font color="#3333ff"> -home_creator_fptr_map.bind (homes_table_[i].executor_entrypt_,</font></tt> -<br> -<tt><font color="#3333ff"> -homes_table_[i].executor_fptr_);</font></tt> -</p> -<p><tt><font color="#3333ff"> -homesvnt_creator_fptr_map.bind (homes_table_[i].servant_entrypt_,</font></tt> -<br> -<tt><font color="#3333ff"> -homes_table_[i].servant_fptr_);</font></tt> -<br> -<tt><font color="#3333ff"> -}</font></tt> -</p> -<p><tt><font color="#3333ff"> -ACE_NEW_RETURN -(comserv_servant,</font></tt> -<br> -<tt><font color="#3333ff"> -CIAO::ComponentServer_Impl (orb.in (),</font></tt> -<br> -<tt><font color="#3333ff"> -poa.in (),</font></tt> -<br> -<tt><font color="#3333ff"> -1,</font></tt> -<br> -<tt><font color="#3333ff"> -&maps),</font></tt> -<br> -<tt><font color="#3333ff"> --1);</font></tt> -</p> -<p><tt><font color="#3333ff"> -PortableServer::ServantBase_var -safe_servant (comserv_servant);</font></tt> -</p> -<p><tt><font color="#3333ff"> -Components::ConfigValues -configs;</font></tt> -</p> -<p><tt><font color="#3333ff"> -comserv_servant->init -(configs</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> // -Configuring -ComponentServer.</font></tt> -<br> -<tt><font color="#3333ff"> -PortableServer::ObjectId_var -cs_oid</font></tt> -<br> -<tt><font color="#3333ff"> -= poa->activate_object (comserv_servant</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> obj = -poa->id_to_reference -(cs_oid.in ()</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> -Components::Deployment::ComponentServer_var -comserv_obj =</font></tt> -<br> -<tt><font color="#3333ff"> -Components::Deployment::ComponentServer::_narrow (obj.in ()</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><tt><font color="#3333ff"> if -(CORBA::is_nil -(comserv_obj.in ()))</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ERROR_RETURN ((LM_ERROR, "Unable to activate ComponentServer -object\n"), --1);</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff"> -Components::Deployment::ServerActivator_var -activator;</font></tt> -<br> -<tt><font color="#3333ff"> -Components::ConfigValues_var -config = new Components::ConfigValues;</font></tt> -</p> -<p><tt><font color="#3333ff"> -comserv_servant->set_objref -(activator.in (),</font></tt> -<br> -<tt><font color="#3333ff"> -config,</font></tt> -<br> -<tt><font color="#3333ff"> -comserv_obj.in ()</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK;</font></tt> -</p> -<p><a name="static config engine"></a><tt><font color="#ff0000">configurator.configure -(orb.in (),</font></tt> -<br> -<tt><font color="#ff0000"> -comserv_obj.in (),</font></tt> -<br> -<tt><font color="#ff0000"> -containers_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -containers_table_size,</font></tt> -<br> -<tt><font color="#ff0000"> -homes_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -homes_table_size,</font></tt> -<br> -<tt><font color="#ff0000"> -components_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -components_table_size,</font></tt> -<br> -<tt><font color="#ff0000"> -component_registrations_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -component_registrations_table_size,</font></tt> -<br> -<tt><font color="#ff0000"> -connections_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -connections_table_size,</font></tt> -<br> -<tt><font color="#ff0000"> -resolvers_table_,</font></tt> -<br> -<tt><font color="#ff0000"> -resolvers_table_size);</font></tt> -</p> -<p><tt><font color="#3333ff"> -CORBA::String_var -str = orb->object_to_string (comserv_obj.in ()</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_ENV_ARG_PARAMETER);</font></tt> -</p> -<p><tt><font color="#3333ff"> -CIAO::Utility::write_IOR -(ior_file_name_, str.in ());</font></tt> -<br> -<tt><font color="#3333ff"> ACE_DEBUG -((LM_INFO, "ComponentServer IOR: %s\n", str.in ()));</font></tt> -</p> -<p><tt><font color="#3333ff"> ACE_DEBUG -((LM_DEBUG,</font></tt> -<br> -<tt><font color="#3333ff"> -"Running ComponentServer...\n"));</font></tt> -</p> -<p><tt><font color="#3333ff"> // Run the -main event loop for the ORB.</font></tt> -<br> -<tt><font color="#3333ff"> orb->run -(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt> -<br> -<tt><font color="#3333ff"> ACE_TRY_CHECK</font></tt> -<br> -<tt><font color="#3333ff"> }</font></tt> -<br> -<tt><font color="#3333ff"> ACE_CATCHANY</font></tt> -<br> -<tt><font color="#3333ff"> {</font></tt> -<br> -<tt><font color="#3333ff"> -ACE_PRINT_EXCEPTION -(ACE_ANY_EXCEPTION,</font></tt> -<br> -<tt><font color="#3333ff"> -"server::main \n");</font></tt> -<br> -<tt><font color="#3333ff"> return 1;</font></tt> -<br> -<tt><font color="#3333ff"> }</font></tt> -<br> -<tt><font color="#3333ff"> ACE_ENDTRY;</font></tt> -</p> -<p><tt><font color="#3333ff"> return 0;</font></tt> -<br> -<tt><font color="#3333ff">}</font></tt> -</p> -<p><a name="Static_CCM_App.mpc"></a><b><u>Static_CCM_App.mpc</u></b> -<br> -<tt><font color="#3333ff">project(Static_CCM_App) : ciao_server, -ciao_client, -rtcorba, rtportableserver, iortable, acexml {</font></tt> -<br> -<tt><font color="#3333ff">includes += -$(ACE_ROOT)/TAO/CIAO/tools/Assembly_Deployer</font></tt> -<br> -<tt><font color="#3333ff">includes += -$(ACE_ROOT)/TAO/CIAO/tools/static_configurator</font></tt> -<br> -<tt><font color="#3333ff">libs += CIAO_XML_Helpers Static_Configurator</font></tt> -<br> -<tt><font color="#3333ff">after += CIAO_XML_Helpers Static_Configurator</font></tt> -<br> - -</p> -<p><tt><font color="#3333ff">libs += EC_exec</font></tt> -<br> -<tt><font color="#3333ff">after += EC_exec</font></tt> -<br> -<tt><font color="#3333ff">libs += EC_svnt</font></tt> -<br> -<tt><font color="#3333ff">after += EC_svnt</font></tt> -<br> -<tt><font color="#3333ff">libs += BMDevice_exec</font></tt> -<br> -<tt><font color="#3333ff">after += BMDevice_exec</font></tt> -<br> -<tt><font color="#3333ff">libs += BMDevice_svnt</font></tt> -<br> -<tt><font color="#3333ff">after += BMDevice_svnt</font></tt> -<br> -<tt><font color="#3333ff">libs += BMClosedED_exec</font></tt> -<br> -<tt><font color="#3333ff">after += BMClosedED_exec</font></tt> -<br> -<tt><font color="#3333ff">libs += BMClosedED_svnt</font></tt> -<br> -<tt><font color="#3333ff">after += BMClosedED_svnt</font></tt> -<br> -<tt><font color="#3333ff">libs += BMDisplay_exec</font></tt> -<br> -<tt><font color="#3333ff">after += BMDisplay_exec</font></tt> -<br> -<tt><font color="#3333ff">libs += BMDisplay_svnt</font></tt> -<br> -<tt><font color="#3333ff">after += BMDisplay_svnt</font></tt> -<br> -<tt><font color="#3333ff"> Source_Files {</font></tt> -<br> -<tt><font color="#3333ff"> -Static_CCM_App.cpp</font></tt> -<br> -<tt><font color="#3333ff"> }</font></tt> -</p> -<p><tt><font color="#3333ff"> IDL_Files {</font></tt> -<br> -<tt><font color="#3333ff"> }</font></tt> -<br> -<tt><font color="#3333ff">}</font></tt> -</p> -<p><a name="Modified Static_CCM_App.cpp"></a><b><u>Modified -Static_CCM_App.cpp</u></b> <br> -</p> -<p><small><span style="font-weight: bold;">(Highlighted text is -manually added to the -generated .cpp file)<br> -<br> -</span></small><tt>#include "ComponentServer_Impl.h"</tt> -<br> -<tt>#include "CIAO_ServersC.h"</tt> -<br> -<tt>#include "Server_init.h"</tt> -<br> -<tt>#include "Static_Configurator.h"</tt> -<br> -<tt>#include "ace/SString.h"</tt> -<br> -<tt>#include "ace/Get_Opt.h"</tt> -</p> -<p><tt>#include "Static_Assembly_Config.h"</tt> -</p> -<p><tt>char *ior_file_name_ = "comp_serv.ior";</tt> -<br> -<b><tt><font color="#990000">int rate = 2;</font></tt></b> -</p> -<p><tt>int</tt> -<br> -<tt>parse_args (int argc, char *argv[])</tt> -<br> -<tt>{</tt> -<br> -<tt> ACE_Get_Opt get_opts (argc, argv, "k:o:");</tt> -<br> -<tt> int c;</tt> -</p> -<p><tt> while ((c = get_opts ()) != -1)</tt> -<br> -<tt> switch (c)</tt> -<br> -<tt> {</tt> -<br> -<tt> case 'o': // get the file -name to write to</tt> -<br> -<tt> ior_file_name_ = -get_opts.opt_arg -();</tt> -<br> -<tt> break;</tt> -</p> -<p><tt> case '?': // display help -for -use of the server.</tt> -<br> -<tt> default:</tt> -<br> -<tt> ACE_ERROR_RETURN -((LM_ERROR,</tt> -<br> -<tt> -"usage: %s\n"</tt> -<br> -<tt> -"-o <ior_output_file>\n"</tt> -<br> -<tt> -"\n",</tt> -<br> -<tt> -argv [0]),</tt> -<br> -<tt> --1);</tt> -<br> -<tt> }</tt> -</p> -<p><tt> return 0;</tt> -<br> -<tt>}</tt> -<br> - -</p> -<p><tt>int</tt> -<br> -<tt>main (int argc, char *argv[])</tt> -<br> -<tt>{</tt> -<br> -<tt> ACE_TRY_NEW_ENV</tt> -<br> -<tt> {</tt> -<br> -<tt> // Initialize orb</tt> -<br> -<tt> CORBA::ORB_var orb = CORBA::ORB_init -(argc,</tt> -<br> -<tt> -argv,</tt> -<br> -<tt> -0</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> CIAO::Server_init (orb.in ());</tt> -</p> -<p><tt> if (parse_args (argc, argv) != 0)</tt> -<br> -<tt> return -1;</tt> -</p> -<p><tt> // Get reference to Root POA.</tt> -<br> -<tt> CORBA::Object_var obj</tt> -<br> -<tt> = -orb->resolve_initial_references -("RootPOA"</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> PortableServer::POA_var poa</tt> -<br> -<tt> = -PortableServer::POA::_narrow -(obj.in ()</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> // Activate POA manager</tt> -<br> -<tt> PortableServer::POAManager_var mgr</tt> -<br> -<tt> = poa->the_POAManager -(ACE_ENV_SINGLE_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> mgr->activate -(ACE_ENV_SINGLE_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> CIAO::ComponentServer_Impl -*comserv_servant;</tt> -</p> -<p><tt> CIAO::Static_Configurator -configurator;</tt> -<br> -<tt> int containers_table_size =</tt> -<br> -<tt> sizeof -(containers_table_)/sizeof(CIAO::Static_Config::ContainerAttributes);</tt> -<br> -<tt> int homes_table_size =</tt> -<br> -<tt> sizeof -(homes_table_)/sizeof(CIAO::Static_Config::HomeAttributes);</tt> -<br> -<tt> int components_table_size =</tt> -<br> -<tt> sizeof -(components_table_)/sizeof(CIAO::Static_Config::ComponentAttributes);</tt> -<br> -<tt> int -component_registrations_table_size -=</tt> -<br> -<tt> sizeof -(component_registrations_table_)/sizeof(CIAO::Assembly_Placement::componentinstantiation::Register_Info);</tt> -<br> -<tt> int connections_table_size =</tt> -<br> -<tt> sizeof -(connections_table_)/sizeof(CIAO::Static_Config::ConnectionAttributes);</tt> -<br> -<tt> int resolvers_table_size =</tt> -<br> -<tt> sizeof -(resolvers_table_)/sizeof(CIAO::Static_Config::ResolveInfoAttributes);</tt> -</p> -<p><tt> CIAO::HOMECREATOR_FUNCPTR_MAP -home_creator_fptr_map;</tt> -<br> -<tt> CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP -homesvnt_creator_fptr_map;</tt> -<br> -<tt> CIAO::Static_Config_EntryPoints_Maps -maps;</tt> -<br> -<tt> maps.home_creator_funcptr_map_ = -&home_creator_fptr_map;</tt> -<br> -<tt> -maps.home_servant_creator_funcptr_map_ -= &homesvnt_creator_fptr_map;</tt> -</p> -<p><tt> int i=0;</tt> -<br> -<tt> for (i=0; i<homes_table_size; -++i)</tt> -<br> -<tt> {</tt> -<br> -<tt> -home_creator_fptr_map.bind -(homes_table_[i].executor_entrypt_,</tt> -<br> -<tt> -homes_table_[i].executor_fptr_);</tt> -</p> -<p><tt> -homesvnt_creator_fptr_map.bind -(homes_table_[i].servant_entrypt_,</tt> -<br> -<tt> -homes_table_[i].servant_fptr_);</tt> -<br> -<tt> }</tt> -</p> -<p><tt> ACE_NEW_RETURN (comserv_servant,</tt> -<br> -<tt> -CIAO::ComponentServer_Impl (orb.in (),</tt> -<br> -<tt> -poa.in (),</tt> -<br> -<tt> -1,</tt> -<br> -<tt> -&maps),</tt> -<br> -<tt> --1);</tt> -</p> -<p><tt> PortableServer::ServantBase_var -safe_servant -(comserv_servant);</tt> -</p> -<p><tt> Components::ConfigValues configs;</tt> -</p> -<p><tt> comserv_servant->init (configs</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> // Configuring ComponentServer.</tt> -<br> -<tt> PortableServer::ObjectId_var cs_oid</tt> -<br> -<tt> = -poa->activate_object -(comserv_servant</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> obj = poa->id_to_reference -(cs_oid.in -()</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> -Components::Deployment::ComponentServer_var -comserv_obj =</tt> -<br> -<tt> -Components::Deployment::ComponentServer::_narrow -(obj.in ()</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> if (CORBA::is_nil (comserv_obj.in -()))</tt> -<br> -<tt> ACE_ERROR_RETURN -((LM_ERROR, -"Unable to activate ComponentServer object\n"), -1);</tt> -<br> - -</p> -<p><tt> -Components::Deployment::ServerActivator_var -activator;</tt> -<br> -<tt> Components::ConfigValues_var config -= new Components::ConfigValues;</tt> -</p> -<p><tt> comserv_servant->set_objref -(activator.in -(),</tt> -<br> -<tt> -config,</tt> -<br> -<tt> -comserv_obj.in ()</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK;</tt> -</p> -<p><tt> configurator.configure (orb.in (),</tt> -<br> -<tt> -comserv_obj.in (),</tt> -<br> -<tt> -containers_table_,</tt> -<br> -<tt> -containers_table_size,</tt> -<br> -<tt> -homes_table_,</tt> -<br> -<tt> -homes_table_size,</tt> -<br> -<tt> -components_table_,</tt> -<br> -<tt> -components_table_size,</tt> -<br> -<tt> -component_registrations_table_,</tt> -<br> -<tt> -component_registrations_table_size,</tt> -<br> -<tt> -connections_table_,</tt> -<br> -<tt> -connections_table_size,</tt> -<br> -<tt> -resolvers_table_,</tt> -<br> -<tt> -resolvers_table_size);</tt> -</p> -<p><tt> CORBA::String_var str = -orb->object_to_string -(comserv_obj.in ()</tt> -<br> -<tt> -ACE_ENV_ARG_PARAMETER);</tt> -</p> -<p><tt> CIAO::Utility::write_IOR -(ior_file_name_, -str.in ());</tt> -<br> -<tt> ACE_DEBUG ((LM_INFO, -"ComponentServer -IOR: %s\n", str.in ()));</tt> -</p> -<p><tt> ACE_DEBUG ((LM_DEBUG,</tt> -<br> -<tt> -"Running ComponentServer...\n"));</tt> -</p> -<p><b><tt><font color="#990000"> -CORBA::Object_var -pulser_obj</font></tt></b> -<br> -<b><tt><font color="#990000"> -= orb->string_to_object ("file://ec.ior"</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -BasicSP::EC_var -pulser</font></tt></b> -<br> -<b><tt><font color="#990000"> -= BasicSP::EC::_narrow (pulser_obj.in ()</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> if -(CORBA::is_nil -(pulser.in ()))</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -pulser->hertz -(rate</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -ACE_DEBUG -((LM_DEBUG, "Start up the Event services\n"));</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -pulser->start -(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><tt> // Run the main event loop for -the -ORB.</tt> -<br> -<tt> orb->run -(ACE_ENV_SINGLE_ARG_PARAMETER);</tt> -<br> -<tt> ACE_TRY_CHECK</tt> -<br> -<tt> }</tt> -<br> -<tt> ACE_CATCHANY</tt> -<br> -<tt> {</tt> -<br> -<tt> ACE_PRINT_EXCEPTION -(ACE_ANY_EXCEPTION,</tt> -<br> -<tt> -"server::main \n");</tt> -<br> -<tt> return 1;</tt> -<br> -<tt> }</tt> -<br> -<tt> ACE_ENDTRY;</tt> -</p> -<p><tt> return 0;</tt> -<br> -<tt>}</tt> -</p> -<p><a name="Modified Static_CCM_App.mpc"></a><b><u>Modified -Static_CCM_App.mpc</u></b> <br> -</p> -<p><small><span style="font-weight: bold;">(Highlighted text is -manually added to the -generated .cpp file)<br> -<br> -</span></small><tt>project(Static_CCM_App) : ciao_server, ciao_client, -rtcorba, -rtportableserver, -iortable, acexml {</tt> -<br> -<tt>includes += $(ACE_ROOT)/TAO/CIAO/tools/Assembly_Deployer</tt> -<br> -<tt>includes += $(ACE_ROOT)/TAO/CIAO/tools/static_configurator</tt> -<br> -<tt>libs += CIAO_XML_Helpers Static_Configurator</tt> -<br> -<tt>after += CIAO_XML_Helpers Static_Configurator</tt> -</p> -<p><b><tt><font color="#990000">libs += BasicSP_stub BasicSP_svnt</font></tt></b> -<br> -<b><tt><font color="#990000">after += BasicSP_stub BasicSP_svnt</font></tt></b> -<br> -<tt>libs += EC_exec</tt> -<br> -<tt>after += EC_exec</tt> -<br> -<tt>libs += EC_svnt <b><font color="#990000">EC_stub</font></b></tt> -<br> -<tt>after += EC_svnt <b><font color="#990000">EC_stub</font></b></tt> -<br> -<tt>libs += BMDevice_exec</tt> -<br> -<tt>after += BMDevice_exec</tt> -<br> -<tt>libs += BMDevice_svnt <b><font color="#990000">BMDevice_stub</font></b></tt> -<br> -<tt>after += BMDevice_svnt <b><font color="#990000">BMDevice_stub</font></b></tt> -<br> -<tt>libs += BMClosedED_exec</tt> -<br> -<tt>after += BMClosedED_exec</tt> -<br> -<tt>libs += BMClosedED_svnt <b><font color="#990000">BMClosedED_stub</font></b></tt> -<br> -<tt>after += BMClosedED_svnt <b><font color="#990000">BMClosedED_stub</font></b></tt> -<br> -<tt>libs += BMDisplay_exec</tt> -<br> -<tt>after += BMDisplay_exec</tt> -<br> -<tt>libs += BMDisplay_svnt <b><font color="#990000">BMDisplay_stub</font></b></tt> -<br> -<tt>after += BMDisplay_svnt <b><font color="#990000">BMDisplay_stub</font></b></tt> -</p> -<p><tt> Source_Files {</tt> -<br> -<tt> Static_CCM_App.cpp</tt> -<br> -<tt> }</tt> -</p> -<p><tt> IDL_Files {</tt> -<br> -<tt> }</tt> -<br> -<tt>}</tt> -<br> - -</p> -</body> -</html> diff --git a/CIAO/docs/static_config_rtexample.html b/CIAO/docs/static_config_rtexample.html deleted file mode 100644 index 2e87e5aabe1..00000000000 --- a/CIAO/docs/static_config_rtexample.html +++ /dev/null @@ -1,1079 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" - content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Venkita Subramonian"> - <meta name="GENERATOR" - content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> - <title>BasicSP example using CIAO Static Configurator</title> -<!-- $Id$ --> -</head> -<body> -This example illustrates -how to use the CIAO static configurator to build applications using -RTCORBA policies statically. -From the <a href="../examples/OEP/BasicSP">BasicSP</a> directory do -the -following. -<p><b><tt>> cd descriptors</tt></b> -<br> -<b><tt>> $CIAO_ROOT/tools/static_configurator/Static_Assembly_Parser --a BasicSP-rt.cad</tt></b> -</p> -<p>The following files are generated - -</p> -<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a> -<br> -<a href="#Modified%20Static_CCM_App.cpp">Static_CCM_App.cpp</a> -<br> -<a href="#Modified%20Static_CCM_App.mpc">Static_CCM_App.mpc</a> -</p> -<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a> -contains -the intermediate representation of all the parsed component and -assembly -information obtained from the XML files. <a href="#Static_CCM_App.cpp">Static_CCM_App.cpp</a> -contains the main driver application. Here a runtime <a - href="#static_config_engine">static -configuration engine</a> is used to create containers, homes, -components, -etc and then establish necessary connections between the components. -The configuration engine is also used to <a href="#rtconfig">configure</a> -the containers and RTORB with the appropriate RTCORBA policies -specified declaratively in the .rtcad file. In -the BasicSP example, an external controller (see <tt><a - href="../examples/OEP/BasicSP/README">$CIAO_ROOT/examples/OEP/BasicSP/README</a></tt>) -is used to start or stop a pulser. The generated main driver -application -(Static_CCM_App.cpp) is <a href="#Modified%20Static_CCM_App.cpp">modified</a> -to add code to trigger the pulser object on. The generated .mpc file is -<a href="#Modified%20Static_CCM_App.mpc">modified</a> -to add all other necessary files so that the application can be built -statically. -Note that the static configurator only generates only certain file -names -in the .mpc file. These filenames are obtained from the XML descriptor -files. All other necessary files have to be added manually as -indicated. -</p> -<p>Now the static build files can be generated by running the mpc -utility. -</p> -<p><b><tt>> cd ..</tt></b> -<br> -<b><tt>> $ACE_ROOT/bin/mpc -static Static_CCM_App.mpc</tt></b> -</p> -<p><a name="Static_Assembly_Config.h"></a><b><u>Static_Assembly_Config.h</u></b> -<br> -<span style="font-family: monospace;">#include "Static_Assembly.h"</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">#include "CCM_ContainerC.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "Container_Base.h"</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Containers</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ContainerAttributes -containers_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {"POLICY_1", -0},</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> {"", 0}</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::Components::HomeExecutorBase_ptr createECHome_Impl (void);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::PortableServer::Servant createECHome_Servant </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - (::Components::HomeExecutorBase_ptr p,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ::CIAO::Session_Container *c</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ACE_ENV_ARG_DECL_WITH_DEFAULTS);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::Components::HomeExecutorBase_ptr createBMDeviceHome_Impl (void);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::PortableServer::Servant createBMDeviceHome_Servant </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - (::Components::HomeExecutorBase_ptr p,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ::CIAO::Session_Container *c</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ACE_ENV_ARG_DECL_WITH_DEFAULTS);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::Components::HomeExecutorBase_ptr createBMClosedEDHome_Impl (void);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::PortableServer::Servant createBMClosedEDHome_Servant </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - (::Components::HomeExecutorBase_ptr p,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ::CIAO::Session_Container *c</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ACE_ENV_ARG_DECL_WITH_DEFAULTS);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::Components::HomeExecutorBase_ptr createBMDisplayHome_Impl (void);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">extern "C" -::PortableServer::Servant createBMDisplayHome_Servant </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - (::Components::HomeExecutorBase_ptr p,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ::CIAO::Session_Container *c</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - ACE_ENV_ARG_DECL_WITH_DEFAULTS);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">//Homes</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::HomeAttributes -homes_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {"a_ECHome", -"DCE:3148F760-F2ED-4204-A775-6B972C10E8CB", "createECHome_Impl", -createECHome_Impl, "DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40", -"createECHome_Servant", createECHome_Servant, 0, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"a_BMDeviceHome", "DCE:82C2B032-37F0-4315-A59F-7020D3264E4D", -"createBMDeviceHome_Impl", createBMDeviceHome_Impl, -"DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3", -"createBMDeviceHome_Servant", createBMDeviceHome_Servant, 0, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"a_BMClosedEDHome", "DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538", -"createBMClosedEDHome_Impl", createBMClosedEDHome_Impl, -"DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78", -"createBMClosedEDHome_Servant", createBMClosedEDHome_Servant, 0, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"a_BMDisplayHome", "DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29", -"createBMDisplayHome_Impl", createBMDisplayHome_Impl, -"DCE:D7984625-8561-431d-9927-4E498B317C02", -"createBMDisplayHome_Servant", createBMDisplayHome_Servant, 1, 0 }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Components</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ComponentAttributes -components_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {"a_EC", 0, 0, -0 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> {"a_BMDevice", --1, -1, 1 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"a_BMClosedED", -1, -1, 2 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"a_BMDisplay", -1, -1, 3 }</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Component Registrations</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Assembly_Placement::componentinstantiation::Register_Info -component_registrations_table_[]= </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Placement::componentinstantiation::COMPONENT, -CIAO::Assembly_Placement::componentinstantiation::IORFILE, "", "ec.ior" -}</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Connections</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ConnectionAttributes -connections_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::PUBLISHER_CONSUMER, "", "timeout", 0, 1, 0, -0 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::PUBLISHER_CONSUMER, "", "data_available", -3, 4, 0, 0 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::PUBLISHER_CONSUMER, "", "out_avail", 6, 7, -0, 0 },</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::INTERFACE, "", "datain", 9, 10, 0, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::INTERFACE, "", "comp_data", 12, 13, 0, 0 }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Resolver Infos</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ResolveInfoAttributes -resolvers_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_EC", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::CONSUMER, "timeout", 2, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMDevice", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMDevice", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::CONSUMER, "in_avail", 5, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMClosedED", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMClosedED", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::CONSUMER, "data_ready", 8, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMDisplay", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMClosedED", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::PROVIDER, "data_read", 11, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMDevice", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMDisplay", -1, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::PROVIDER, "dataout", 14, 0 },</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{CIAO::Assembly_Connection::COMP_IDREF, "a_BMClosedED", -1, 0 }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Thread Pool</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ThreadPoolAttributes -thread_pool_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"common_pool", 0, 10, 20, 1, 0, 0, 0},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"high_prio_pool", 0, 2, 2, 3, 0, 0, 0}</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Lanes</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::LaneAttributes -lane_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {1, 100, 300},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {2, 2, 2},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {3, 1, 2},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {1, 10, 30},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {2, 3, 3},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {3, 1, 2}</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//ThreadPoolLanes</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::ThreadPoolLanesAttributes -thread_pool_lanes_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"shared_pool", 0, 0, 2, 0, 0, 0, 0},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {"laned_pool", -0, 3, 5, 0, 0, 0, 0}</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Bands</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::BandAttributes -band_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {1, 1},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {2, 2},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {3, 3000}</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//PriorityBands</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::PriorityBandsAttributes -priority_band_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{"common_conn", 0, 2}</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Policy Configs</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::PolicyConfigAttributes -policy_config_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{RTCORBA::PRIORITY_MODEL_POLICY_TYPE, "", RTCORBA::SERVER_DECLARED, 2},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{RTCORBA::THREADPOOL_POLICY_TYPE, "shared_pool", /*dummy variable*/ -RTCORBA::CLIENT_PROPAGATED, 0},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{RTCORBA::PRIORITY_BANDED_CONNECTION_POLICY_TYPE, "common_conn", -/*dummy variable*/ RTCORBA::CLIENT_PROPAGATED, 0},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{RTCORBA::THREADPOOL_POLICY_TYPE, "common_pool", /*dummy variable*/ -RTCORBA::CLIENT_PROPAGATED, 0},</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{RTCORBA::PRIORITY_MODEL_POLICY_TYPE, "", RTCORBA::CLIENT_PROPAGATED, 2}</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">//Policy Set</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">CIAO::Static_Config::PolicySetAttributes -policy_set_table_[]= </span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {"POLICY_1", -0, 2},</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> {"POLICY_2", -3, 4}</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">};</span><br> -<br> -<tt><font color="#3333ff"></font></tt></p> -<tt><font color="#3333ff"></font></tt><a - name="Modified Static_CCM_App.cpp"></a><b><u>Modified -Static_CCM_App.cpp</u></b> <br> -<p><span style="font-family: monospace;"></span><small><span - style="font-weight: bold;">(Highlighted text is manually added to the -generated .cpp file)</span></small></p> -<p><span style="font-family: monospace;">#include "RTServer_Impl.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "CIAO_ServersC.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "Server_init.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "Static_Configurator.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "ace/SString.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include "ace/Get_Opt.h"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">#include -"Static_Assembly_Config.h"</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">#include -"tao/RTPortableServer/RTPortableServer.h"</span><br - style="font-family: monospace;"> -<span - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;">#include -"EC/ECC.h"</span><br - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">char *ior_file_name_ = -"comp_serv.ior"; </span><br style="font-family: monospace;"> -<span - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;">int -rate = 2;</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">int</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">parse_args (int argc, char -*argv[])</span><br style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> ACE_Get_Opt get_opts -(argc, argv, "k:o:");</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> int c;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> while ((c = get_opts ()) -!= -1)</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> switch (c)</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> case -'o': // get the file name to write to</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ior_file_name_ = get_opts.opt_arg ();</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> break;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> case -'?': // display help for use of the server.</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> default:</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ERROR_RETURN ((LM_ERROR,</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -"usage: %s\n"</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -"-o <ior_output_file>\n"</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -"\n",</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -argv [0]),</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> --1);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> }</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> return 0;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">}</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;">int</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">main (int argc, char *argv[])</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> ACE_TRY_NEW_ENV</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Initialize orb</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CORBA::ORB_var orb = CORBA::ORB_init (argc,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -argv</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::Server_init (orb.in ());</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> if -(parse_args (argc, argv) != 0)</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -return -1;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Get reference to Root POA.</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CORBA::Object_var object =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -orb->resolve_initial_references ("RootPOA"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -PortableServer::POA_var root_poa =</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -PortableServer::POA::_narrow (object.in ()</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> - - ACE_ENV_ARG_PARAMETER);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> // Get -reference to RTORB.</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -object =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -orb->resolve_initial_references ("RTORB"</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -RTCORBA::RTORB_var rt_orb =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -RTCORBA::RTORB::_narrow (object.in ()</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Activate POA manager</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -PortableServer::POAManager_var poa_manager =</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><small><span style="font-weight: bold;">(Highlighted -files are manually added to the generated mpc file)</span></small><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::RTServer::RTComponentServer_Impl *comserv_servant;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::Static_Configurator configurator;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -int containers_table_size =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof -(containers_table_)/sizeof(CIAO::Static_Config::ContainerAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int homes_table_size =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof (homes_table_)/sizeof(CIAO::Static_Config::HomeAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int components_table_size =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof -(components_table_)/sizeof(CIAO::Static_Config::ComponentAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int component_registrations_table_size =</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof -(component_registrations_table_)/sizeof(CIAO::Assembly_Placement::componentinstantiation::Register_Info);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int connections_table_size =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof -(connections_table_)/sizeof(CIAO::Static_Config::ConnectionAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int resolvers_table_size =</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof -(resolvers_table_)/sizeof(CIAO::Static_Config::ResolveInfoAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int thread_pool_table_size=</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof(thread_pool_table_)/sizeof(CIAO::Static_Config::ThreadPoolAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int thread_pool_lanes_table_size=</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof(thread_pool_lanes_table_)/sizeof(CIAO::Static_Config::ThreadPoolLanesAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int priority_band_table_size=</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof(priority_band_table_)/sizeof(CIAO::Static_Config::PriorityBandsAttributes);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -int policy_set_table_size=</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -sizeof(policy_set_table_)/sizeof(CIAO::Static_Config::PolicySetAttributes);</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::HOMECREATOR_FUNCPTR_MAP home_creator_fptr_map;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP homesvnt_creator_fptr_map;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::Static_Config_EntryPoints_Maps maps;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -maps.home_creator_funcptr_map_ = &home_creator_fptr_map;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -maps.home_servant_creator_funcptr_map_ = &homesvnt_creator_fptr_map;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -int i=0;</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -for (i=0; i<homes_table_size; ++i)</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -{</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -home_creator_fptr_map.bind (homes_table_[i].executor_entrypt_,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -homes_table_[i].executor_fptr_);</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -homesvnt_creator_fptr_map.bind (homes_table_[i].servant_entrypt_,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -homes_table_[i].servant_fptr_);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -}</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_NEW_RETURN (comserv_servant,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::RTServer::RTComponentServer_Impl (orb.in (),</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -rt_orb.in (),</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -root_poa.in (),</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -1, </span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -&maps), </span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> --1);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -PortableServer::ServantBase_var safe_servant -(comserv_servant); </span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -Components::ConfigValues configs;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -<span style="color: rgb(255, 0, 0);"><a name="rtconfig"></a>configurator.config_rt_info(configs, -</span></span><br style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -thread_pool_table_, </span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -thread_pool_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -lane_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -thread_pool_lanes_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -thread_pool_lanes_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -band_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -priority_band_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -priority_band_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -policy_config_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -policy_set_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -policy_set_table_size);</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -comserv_servant->init (configs</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Configuring ComponentServer.</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -PortableServer::ObjectId_var cs_oid</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -= root_poa->activate_object (comserv_servant</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK; </span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> object = -root_poa->id_to_reference (cs_oid.in ()</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -Components::Deployment::ComponentServer_var comserv_obj =</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -Components::Deployment::ComponentServer::_narrow (object.in ()</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> if -(CORBA::is_nil (comserv_obj.in ()))</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ERROR_RETURN ((LM_ERROR,</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -"Unable to activate RTComponentServer object\n"),</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> --1);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -Components::Deployment::ServerActivator_var activator;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> // -We are just storing the original configuration here.</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Currently, we don't really use this ConfigValues direclty.</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -Components::ConfigValues_var more_config = new Components::ConfigValues;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -comserv_servant->set_objref (activator.in (),</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -more_config.in (),</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -comserv_obj.in ()</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK;</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -<a name="static_config_engine"></a><span style="color: rgb(255, 0, 0);">configurator.configure -(orb.in (),</span></span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -comserv_obj.in (),</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -containers_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -containers_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -homes_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -homes_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -components_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -components_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -component_registrations_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -component_registrations_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -connections_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -connections_table_size,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -resolvers_table_,</span><br - style="font-family: monospace; color: rgb(255, 0, 0);"> -<span style="font-family: monospace; color: rgb(255, 0, 0);"> -resolvers_table_size);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CORBA::String_var str = orb->object_to_string (comserv_obj.in ()</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_ENV_ARG_PARAMETER);</span><br style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -CIAO::Utility::write_IOR (ior_file_name_, str.in ());</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_DEBUG ((LM_INFO, "RTComponentServer IOR: %s\n", str.in ()));</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_DEBUG ((LM_DEBUG,</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> -"Running RTComponentServer...\n"));</span><br - style="font-family: monospace;"> -</p> -<p><b><tt><font color="#990000"> -CORBA::Object_var -pulser_obj</font></tt></b> -<br> -<b><tt><font color="#990000"> -= orb->string_to_object ("file://ec.ior"</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -BasicSP::EC_var -pulser</font></tt></b> -<br> -<b><tt><font color="#990000"> -= BasicSP::EC::_narrow (pulser_obj.in ()</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> if -(CORBA::is_nil -(pulser.in ()))</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -pulser->hertz -(rate</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_ENV_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -ACE_DEBUG -((LM_DEBUG, "Start up the Event services\n"));</font></tt></b> -</p> -<p><b><tt><font color="#990000"> -pulser->start -(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt></b> -<br> -<b><tt><font color="#990000"> -ACE_TRY_CHECK;</font></tt></b> -</p> -<p><br style="font-family: monospace;"> -<span style="font-family: monospace;"> // -Run the main event loop for the ORB.</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_TRY_CHECK</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> ACE_CATCHANY</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> {</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -"server::main \n");</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -return 1;</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> ACE_ENDTRY;</span><br - style="font-family: monospace;"> -<br style="font-family: monospace;"> -<span style="font-family: monospace;"> return 0;</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">}</span><br> -<tt></tt></p> -<a name="Modified Static_CCM_App.mpc"></a><b><u>Modified -Static_CCM_App.mpc</u></b> -<br> -<small><span style="font-weight: bold;"><br> -(Highlighted files are manually added to the generated mpc file)</span></small><br> -<tt></tt><span style="font-family: monospace;"><br> -project(Static_CCM_App) : ciao_server, ciao_client, rtcorba, -rtportableserver, iortable, acexml{</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">includes += -$(ACE_ROOT)/TAO/CIAO/tools/Assembly_Deployer</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">includes += -$(ACE_ROOT)/TAO/CIAO/tools/static_configurator</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">includes += -$(ACE_ROOT)/TAO/CIAO/tools/RTComponentServer</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += RTComponent_Server -CIAO_XML_Helpers Static_Configurator</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += RTComponent_Server -CIAO_XML_Helpers Static_Configurator</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> </span><br - style="font-family: monospace;"> -<span - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;">libs -+= BasicSP_stub BasicSP_svnt</span><br - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;"> -<span - style="font-family: monospace; color: rgb(153, 0, 0); font-weight: bold;">after -+= BasicSP_stub BasicSP_svnt</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += EC_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += EC_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += EC_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">EC_stub</span></span><br - style="font-family: monospace; font-weight: bold; color: rgb(153, 0, 0);"> -<span style="font-family: monospace;">after += EC_svnt<span - style="font-weight: bold; color: rgb(153, 0, 0);"> EC_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMDevice_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMDevice_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMDevice_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMDevice_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMDevice_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMDevice_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMClosedED_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMClosedED_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMClosedED_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMClosedED_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMClosedED_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMClosedED_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMDisplay_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMDisplay_exec</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">libs += BMDisplay_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMDisplay_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">after += BMDisplay_svnt <span - style="font-weight: bold; color: rgb(153, 0, 0);">BMDisplay_stub</span></span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> Source_Files {</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> -Static_CCM_App.cpp</span><br style="font-family: monospace;"> -<span style="font-family: monospace;"> }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> </span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> IDL_Files {</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;"> }</span><br - style="font-family: monospace;"> -<span style="font-family: monospace;">}</span><br> -<br> -</body> -</html> diff --git a/CIAO/docs/static_dance.html b/CIAO/docs/static_dance.html deleted file mode 100644 index 3bd6433e133..00000000000 --- a/CIAO/docs/static_dance.html +++ /dev/null @@ -1,214 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<html> -<head> - <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"> - <title></title> -<!-- $Id$ --> - <meta name="GENERATOR" content="OpenOffice.org 1.1.2 (Linux)"> - <meta name="CREATED" content="20041128;11452700"> - <meta name="CHANGED" content="20041210;11524200"> - <style> - <!-- - @page { size: 8.5in 11in; margin-left: 1.25in; margin-right: 1.25in; margin-top: 1in; margin-bottom: 1in } - P { margin-bottom: 0.08in } - H2.western { font-family: "Times New Roman", serif } - H2.cjk { font-family: "Arial Unicode MS" } - H2.ctl { font-family: "Tahoma" } - H3.western { font-family: "Times New Roman", serif } - H3.cjk { font-family: "Arial Unicode MS" } - H3.ctl { font-family: "Tahoma" } - --> - </style> -</head> -<body dir="ltr" lang="en-US"> -<h2 class="western" align="center">CIAO Static Configuration Support -with DanCE for Real-Time Platforms </h2> -<h3 class="western">1. Introduction</h3> -<p>The dynamic packaging, assembly, and deployment mechanisms -currently available in CIAO are useful for application domains where -component metadata is less likely to be known a priori, where -implementation upgrades may need to be performed on-line, and where -platform features like loading and unloading dynamic libraries are -both available and useful. We have already incorporated <a - href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/docs/static_ciao_index.html">static -configuration support</a> for component configuration in CIAO on -platforms like VxWorks, as a set of optional strategies and -optimizations to the existing CIAO configuration capabilities (). In -this white paper, we discuss implementation details for extending the -static configuration capabilities as part of the new DanCE (D&C -support available with CIAO) framework.</p> -<p>The fundamental intuition in understanding our approach is that in -DRE systems the stages of the overall system lifecycle are similar to -those in more dynamic conventional component-oriented client-server -applications.However, in DRE systems several phases of the system -lifecycle are compressed into the compile-time and -system-initialization phases, so that (1) for testing and -verification purposes the set of components in an application can be -identified and analyzed before run-time, and (2) overheads for -run-time operation following initialization are reduced and made more -predictable. Furthermore, due to the nuances of the platforms -traditionally used for deploying DRE systems, not all features of -conventional platforms are available. Our approach therefore avoids -certain mechanisms that are either unavailable or too costly in terms -of performance. We follow these intuitions in our approach, taking -the existing configuration phases in CIAO and pushing several of them -earlier in the configuration lifecycle.</p> -<h3 class="western">2. Current D&C in CIAO with DanCE</h3> -<p><img src="imgs/dance_arch.jpg" name="Graphic2" - style="border: 0px solid ; width: 600px; height: 400px;" alt="" - align="left"><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br><b>Figure 1.</b> <b>Current D&C process using DAnCE</b></p> -One of the key concerns while supporting the static configuration -within the DAnCE framework is to reuse the existing components in the -DAnCE framework as much as possible. Figure 1 shows the current D&C -process using the DAnCE framework. This is the standard D&C -process as specified in the CCM D&C specification.As seen from -the figure, there are multiple processes (Executor, ExecutionManager, -NodeManagers and NodeApplications) that are involved. -<h3 class="western">3. Static Configuration with DanCE</h3> -<p><img src="imgs/static_dance_arch.jpg" name="Graphic3" - style="border: 0px solid ; width: 800px; height: 800px;" alt="" - align="left"><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br> -</p> -<p><br><b>Figure 2.</b> <b>Static D&C in DAnCE</b></p> -<p>Figure 2 shows the static configuration approach in DAnCE. Here, -the flattened deployment plan (.cdp) is parsed offline by an offline -parser ($CIAO_ROOT/StaticConfigurator/StaticDAnCEParser) using the -same XML parser classes that the dynamic configuration uses. The -output of the parser is a C++ plan.h file, which contains the function -entry points for home and home servant creation. The assumption here -is that all the necessary (component implementations and other) -libraries are statically linked to the driver application (see a -template in -$CIAO_ROOT/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl). </p> -<p>The driver application is essentially a NodeManager which can be -used to do deployment just the same as in DAnCE. To achieve maximum -reusability of the existing classes in the DAnCE framework, we use -the class hierarchy shown in Figure 3. </p> -<br> -<b></b> -<p style="page-break-before: always;" align="left"><img - src="imgs/static_dance_impl.jpg" name="Graphic1" - style="border: 0px solid ; width: 700px; height: 700px;" alt="" - align="left"><br clear="left"> -<b>Figure 3. New class hierarchy to accommodate static configuration -within DAnCE<br> -</b></p> -<h3 class="western">3.Example</h3> -<p>To run the static version of Hello example, do the following,<br> -</p> -<ol> - <li>Build ACE+TAO+CIAO statically</li> - <li>Build $CIAO_ROOT/examples/Hello </li> - <li>Generate the static function entrypoints (plan.h)<br> - <span style="font-family: monospace;">> cd -$CIAO_ROOT/examples/Hello/descriptors</span><span - style="font-family: monospace;"><br> -> <span style="font-family: "times new roman",serif;"><span - style="font-weight: bold;"></span></span>$CIAO_ROOT/DAnCE/StaticConfigurator/StaticDAnCEParser --p flattened_deploymentplan_without_ns.cdp</span><br> - <span style="font-family: monospace;">> cp plan.h <span - style="font-weight: bold;"></span>$CIAO_ROOT/DAnCE/StaticConfigurator/</span><br> - </li> - <li>Build the static NodeManager for Hello example<span - style="font-family: monospace;"><br> -> cd $CIAO_ROOT/DAnCE/StaticConfigurator</span><br - style="font-family: monospace;"> - <span style="font-family: monospace;"></span><span - style="font-family: monospace;">> cp StaticDAnCEApp.cpp.tmpl -StaticDAnCEApp.cpp</span><br style="font-family: monospace;"> - <span style="font-family: monospace;">> cp -StaticDAnCEApp.mpc.tmpl StaticDAnCEApp.mpc<br> -> $ACE_ROOT/bin/mwc.pl<br> -> make<br> - </span></li> - <li>Run the static node managers. Note that the <span - style="font-family: monospace;">ORBEndpoint</span> values should -correspond to the ones in <span style="font-family: monospace;"> -$CIAO_ROOT/examples/Hello/descriptors/TestNodeManagerMap.dat </span><br> -> <span style="font-family: monospace;">cd -$CIAO_ROOT/DAnCE/StaticConfigurator<br> -> ./StaticDAnCEApp -ORBEndpoint iiop://localhost:60001 &<br> - </span><span style="font-family: monospace;">> ./StaticDAnCEApp --ORBEndpoint iiop://localhost:60002 &</span><br> - </li> - <li>Do the deployment. This is just the same as the non-static -version of DAnCE except that we have the NodeManagers already running -and need not spawn node managers. To accomplish this, change <span - style="font-family: monospace;">$CIAO_ROOT/examples/Hello/descriptors/run_test_without_ns.pl -to <span style="font-weight: bold;">*not*</span> run the node manager -daemons.<br> - </span><span style="font-family: monospace;">> cd -$CIAO_ROOT/examples/Hello/descriptors<br> -> ./</span><span style="font-family: monospace;">run_test_without_ns.pl</span></li> -</ol> -<br> -<p></p> -</body> -</html> diff --git a/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp b/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp deleted file mode 100644 index b692eb6a859..00000000000 --- a/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp +++ /dev/null @@ -1,1234 +0,0 @@ -// $Id$ - -// The generated filename for files using this template shoule be -// [idl-basename]GS.cpp GS --> GlueSession - -// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or -// CIAO_GLUE_[module name] as defined in the header file. - -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -/// @@@ Notice that all component and interface names need to be -/// fully qualified as we are creating a new namespace for the CIAO's -/// container glue code. -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -#include "[idl-basename]_svnt.h" -#include "Cookies.h" - -#if !defined (__ACE_INLINE__) -# include "[idl-basename]_svnt.inl" -#endif /* __ACE_INLINE__ */ - -////////////////////////////////////////////////////////////////// -// Facet Glue Code implementation -// @@ We are assuming that these facets are declared under the same -// module as the component (thus, we are placing this glue code -// here under the same namespace. If they are not, we will -// either be generating them in separate namespaces, or include -// some other CIDL generated files to get the glue code -// implementation. -////////////////////////////////////////////////////////////////// - -##foreach [facet type] in (all facet interface types in the original IDL) - -// get_component implementation. -CORBA::Object_ptr -[ciao module name]::[facet type]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::SessionContext_var sc = - ::Components::SessionContext::_narrow (this->ctx_.in ()); - - if (! CORBA::is_nil(sc.in ())) - return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); - - ::Components::EntityContext_var ec = - ::Components::EntityContext::_narrow (this->ctx_.in ()); - - if (! CORBA::is_nil(ec.in ())) - return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); -} - -##end foreach [facet type] - - - -////////////////////////////////////////////////////////////////// -// Component specific context implementation -////////////////////////////////////////////////////////////////// - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if ([receptacle name] is a multiplex ('uses multiple') receptacle) - // [receptacle name]Connections typedef'ed as a sequence of - // struct [receptacle name]Connection. -[receptacle name]Connections * -[ciao module name]::[component name]_Context::get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ Strategized locking here. - - [receptacle name]Connections_var retv = - new [receptacle name]Connections (this->ciao_muses_[receptacle name]_.current_size ()); - - CORBA::ULong i = 0; - ACE_Active_Map_Manager<[uses type]_var>::iterator - end = this->ciso_muses_[receptacle name]_.end (); - for (ACE_Active_Map_Manager<[uses type]_var>::iterator - iter = this->ciso_muses_[receptacle name]_.begin (); - iter != end; - ++iter) - { - ACE_Active_Map_Manager<[uses type]_var>::ENTRY &entry = *iter; - retv[i]->objref = [uses type]::_narrow (entry.int_id_.in ()); - retv[i]->ck = new CIAO::Map_Key_Cookie (entry.ext_id_); - ++i; - } - - return retv._retn (); -} -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - -##foreach [event name] with [eventtype] in (list of all event sources) generate: -void -[ciao module name]::[component name]_Context::push_[event name] ([eventtype] *ev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -## if [event name] belongs to an 'emits' port - this->ciao_emits_[event name]_consumer_->push_[event name] (ev - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - -## else [event name] belongs to a 'publishes' port - ACE_Active_Map_Manager<[eventtype]Consumer_var>::iterator - end = this->ciao_publishes_[event name]_map_.end (); - for (ACE_Active_Map_Manager<[eventtype]Consumer_var>::iterator - iter = this->ciao_publishes_[event name]_map_.begin (); - iter != end; - ++iter) - { - ACE_Active_Map_Manager<[eventtype]Consumer_var>::ENTRY &entry = *iter; - [eventtype]Consumer_var c - = [eventtype]Consumer::_narrow (entry.int_id_.in ()); - c->push_[eventtype] (ev - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } -## endif [event name] -} - -##end foreach [event name] with [eventtype] - - -// Operations for publishes interfaces. -##foreach [publish name] with [eventtype] in (list of all publishers) generate: -::Components::Cookie * -[ciao module name]::[component name]_Context::subscribe_[publish name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceededConnectionLimit)) -{ - if (CORBA::is_nil (c)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - [eventtype]Consumer_var sub - = [eventtype]Consumer::_duplicate (c); - - ACE_Active_Map_Manager_Key key; - this->ciao_publishes_[publish name]_map_.bind (sub.in (), - key); - - sub._retn (); // Release ownership to map. - - ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key); - return retv._retn (); -} - -[eventtype]Consumer_ptr -[ciao module name]::[component name]_Context::unsubscribe_[publish name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)) -{ - [eventtype]Consumer_var retv; - - ACE_Active_Map_Manager_Key key; - if (ck == 0 || - CIAO::Map_Key_Cookie::extract (ck, key) == -1) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - - if (this->ciao_publishes_[publish name]_map_.unbind (key, - retv) != 0) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - - return retv._retn (); -} - -##end foreach [publish name] with [eventtype] - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - -## if [receptacle name] is a simplex receptacle ('uses') - -[uses type]_ptr -[ciao module name]::[component name]_Context::get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return [uses type]::_duplicate (this->ciao_uses_[receptacle name]_.in ()); -} - -// Simplex [receptacle name] connection management operations -void -[ciao module name]::[component name]_Context::connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected, - ::Components::InvalidConnection)) -{ - if (! CORBA::is_nil (this->ciao_uses_[receptacle name]_.in ())) - ACE_THROW (::Components::AlreadyConnected ()); - - if (CORBA::is_nil (c)) - ACE_THROW (::Components::InvalidConnection ()); - - // When do we throw InvalidConnection exception? - this->ciao_uses_[receptacle name]_ = [uses type]::_duplicate (c); -} - -[uses type]_ptr -[ciao module name]::[component name]_Context::disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)) -{ - if (CORBA::is_nil (this->ciao_uses_[receptacle name]_.in ())) - ACE_THROW (::Components::NoConnection ()); - - return this->ciao_uses_[receptacle name]_._retn (); -} - -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) -// Multiplex [receptacle name] connection management operations -::Components::Cookie * -[ciao module name]::[component name]_Context::connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceedConnectionLimit, - ::Components::InvalidConnection)) -{ - if (CORBA::is_nil (c)) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - - [uses type]_var conn - = [uses type]::_duplicate (c); - - ACE_Active_Map_Manager_Key key; - this->ciao_muses_[receptacle name]_.bind (conn.in (), - key); - - conn._retn (); // Releases ownership to the map. - - ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key); - return retv._retn (); -} - -[uses type]_ptr -[ciao module name]::[component name]_Context::disconnect_[receptacle name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)) -{ - [uses type]_var retv; - - ACE_Active_Map_Manager_Key key; - if (ck == 0 || - CIAO::Map_Key_Cookie::extract (ck, key) == -1) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - - if (this->ciao_muses_[receptacle name]_.unbind (key, - retv) != 0) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - - return retv._retn (); -} - -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - -// Operations for ::Components::SessionContext interface -CORBA::Object_ptr -[ciao module name]::[component name]_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)) -{ - // @@ How do I check for IllegalState here? When it's not in a - // callback operation... - // ACE_THROW_RETURN (::Components::IllegalState (), 0); - - if (CORBA::is_nil (this->component_.in ())) - { - CORBA::Object_var obj = this->container_->get_objref (this->servant_ - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->component_ = [component name]::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (CORBA::is_nil (this->component_.in ())) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen... - } - return [component name]::_duplicate (this->component_.in ()); -} - -////////////////////////////////////////////////////////////////// -// Component Servant Glue code implementation -////////////////////////////////////////////////////////////////// - -[ciao module name]::[component name]_Servant::[component name]_Servant (CCM_[component name]_ptr exe, - ::Components::CCMHome_ptr h, - ::CIAO::Session_Container *c) - : executor_ (CCM_[component name]::_duplicate (exe)), - container_ (c) -{ - this->context_ = new [ciao module name]::[component name]_Context (h, c, this); - - ACE_TRY_NEW_ENV - { - Components::SessionComponent_var scom = - Components::SessionComponent::_narrow (exe - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (! CORBA::is_nil (scom.in ())) - scom->set_session_context (this->context_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Ignore any exceptions? What happens if - // set_session_context throws an CCMException? - } - ACE_ENDTRY; -} - -[ciao module name]::[component name]_Servant::~[component name]_Servant (void) -{ - ACE_TRY_NEW_ENV - { - Components::SessionComponent_var scom = - Components::SessionComponent::_narrow (this->executor_.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (! CORBA::is_nil (scom.in ())) - scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - // @@ Ignore any exceptions? What happens if - // set_session_context throws an CCMException? - } - ACE_ENDTRY; - this->context_->_remove_ref (); -} - -// Operations for provides interfaces. -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - -[facet type]_ptr -[ciao module name]::[component name]_Servant::provide_[facet name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (this->provide_[facet name]_.in ())) - { - CCM_[facet type]_var fexe = this->executor_->get_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (CORBA::is_nil (fexe.in ())) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - - [ciao module name]::[facet type]_Servant *svt = - new [ciao module name]::[facet type]_Servant (fexe.in (), - this->context_); - PortableServer::ServantBase_var safe_servant (svt); - - CORBA::Object_var obj = this->container_->install_servant (svt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - [facet type]_var fo = [facet type]::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->provide_[facet name]_ = fo; - } - - return [facet type]::_duplicate (this->provide_[facet name]_.in ()); -} -##end foreach [facet name] with [facet type] - -// Operations for consumers interfaces. -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - -// EventConsumer Glue Code implementation - -// Inherit from ::Compopnents::EventBConsumerBase -void -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_event (EventBase *ev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::BadEventType)) -{ - [eventtype]_var ev_type = [eventtype]::_downcast (ev); - if (ev_type != 0) - { - this->push_[eventtype] (ev_type.in () - ACE_ENV_ARG_PARAMETER); - return; - } - - // @@ This include the case when we receive a parent eventtype of [eventtype] - - ACE_THROW (::Components::BadEventType ()); -} - -// get_component implementation. -[eventtype]Consumer_ptr -[ciao module name]::[component name]_Servant::get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (this->consumes_[consumer name]_.in ())) - { - [ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant *svt = - new [ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant (this->executor_.in (), - this->context_); - PortableServer::ServantBase_var safe_servant (svt); - - CORBA::Object_var obj = this->container_->install_servant (svt - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - [eventtype]Consumer_var eco = [eventtype]Consumer::_narrow (obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - this->consumes_[consumer name]_ = eco; - } - - return [eventtype]Consumer::_duplicate (this->consumes_[consumer name]_.in ()); -} - -##end foreach [consumer name] with [eventtype] - -// Operations for Navigation interface -CORBA::Object_ptr -[ciao module name]::[component name]_Servant::provide_facet (const char * name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException , - Components::InvalidName)) -{ - if (name == 0) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - // We simply iterate thru all the facets this component provides - // now. We can also use a hash map along with perfect hashing - // (i.e., gperf) if we need faster performance since all the provided - // interfaces are static to a component definition. - -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - if (ACE_OS_String::strcmp (name, "[facet name]") == 0) - return this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER); -##end foreach [facet name] with [facet type] - - ACE_THROW_RETURN (::Components::InvalidName (), 0); -} - -::Components::FacetDescriptions * -[ciao module name]::[component name]_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::FacetDescriptions_var collection - = new ::Components::FacetDescriptions (#99); // #99 = number of all provided - // facets including those inherited - // from parent component(s). - collection->length (#99); - - ::Components::FacetDescription_var x; - CORBA::ULong i = 0; - -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - - x = new ::OBV_Components::FacetDescription; - - x->Name ((const char *)"[facet name]"); - x->type_id ((const char *) "[facet type's repo id]"); // - x->facet_ref (this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK_RETURN (0); - - collection[i] = x._retn (); - ++i; -##end foreach [facet name] with [facet type] - - return collection._retn (); - -} - -::Components::FacetDescriptions * -[ciao module name]::[component name]_Servant::get_named_facets (const Components::NameList & names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - ::Components::FacetDescriptions_var collection - = new ::Components::FacetDescriptions (names.length ()); - collection->length (names.length ()); - - ::Components::FacetDescription_var x; - CORBA::ULong i = 0; - for (; i < names.length (); ++i) - { - x = new ::OBV_Components::FacetDescription; - - // We probably need a more efficient way, e.g., a hash map, to handle all these. -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - (else) if (ACE_OS_String::strcmp (names[i].in (), "[facet name]") == 0) - { - x->Name ((const char *)"[facet name]"); - x->type_id ((const char *) "[facet type's repo id]"); // - x->facet_ref (this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER)); - ACE_CHECK_RETURN (0); - } -##end foreach [facet name] with [facet type] - else - ACE_THROW_RETURN (::Components::InvalidName (), 0); - - collection[i] = x._retn (); - } - return collection._retn (); -} - -CORBA::Boolean -[ciao module name]::[component name]_Servant::same_component (CORBA::Object_ptr object_ref - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - if (CORBA::is_nil (object_ref)) - ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); - - CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return me->_is_equivalent (object_ref - ACE_ENV_ARG_PARAMETER); -} - -// Operations for Receptacles interface -::Components::Cookie * -[ciao module name]::[component name]_Servant::connect (const char * name, - CORBA::Object_ptr connection - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::AlreadyConnected, - Components::ExceededConnectionLimit)) -{ - // @@ We can omit this if clause if there's no receptacle in this component. - if (name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0) - { - [uses type]_var _ciao_conn = - [uses type]::_narrow (connection - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (CORBA::is_nil (_ciao_conn.in ())) - ACE_THROW_RETURN (::Components::InvalidConnection (), 0); - -## if [receptacle name] is a simplex receptacle ('uses') - this->connect_[receptacle name] (_caio_conn.in () - ACE_ENV_ARG_PARAMETER); - return 0; -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - return this->connect_[receptacle name] (_ciao_conn.in () - ACE_ENV_ARG_PARAMETER); -## endif [receptacle name] - } -##end foreach [receptacle name] with [uses type] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -/* -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] -*/ - -CORBA::Object_ptr -[ciao module name]::[component name]_Servant::disconnect (const char * name, - Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::CookieRequired, - Components::NoConnection)) -{ - // @@ We can omit this if clause if there's no receptacle in this component. - if (name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0) -## if [receptacle name] is a simplex receptacle ('uses') - return this->disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - return this->connect_[receptacle name] (ck - ACE_ENV_ARG_PARAMETER); -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -::Components::ConnectionDescriptions * -[ciao module name]::[component name]_Servant::get_connections (const char * name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - // @@ We can omit this if clause if there's no receptacle in this component. - if (name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0) - { -## if [receptacle name] is a simplex receptacle ('uses') - ::Components::ConnectionDescriptions_var retv = - new ::Components::ConnectionDescriptions (1); - retv->length (1); - - retv[0] = new OBV_Components::ConnectionDescription; - retv[0]->ck = 0; - retv[0]->objref = this->get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return retv._retn (); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - // @@ Return type does not match here. We can not return directly. - return this->get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); -## endif [receptacle name] - } -##end foreach [receptacle name] with [uses type] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -::Components::ReceptacleDescriptions * -[ciao module name]::[component name]_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::ReceptacleDescriptions_var retv = - new ::Components::ReceptacleDescriptions (#99); // #99 is number of receptacles - // this component has. - retv->length (#99); - CORBA::ULong i = 0; - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - retv[i] = new OBV_Components::ReceptacleDescription; - - retv[i]->Name ((const char *) "[receptacle name]"); - retv[i]->type_id ((const char *) "[uses type repo id]"); -## if [receptacle name] is a simplex receptacle ('uses') - retv[i]->is_multiple (0); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - retv[i]->is_multiple (1); -## endif [receptacle name] - retv[i]->connections (*this->get_connections ("[receptacle name]" - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK_RETURN (0); - ++i; -##end foreach [receptacle name] with [uses type] - - return retv._retn (); -} - -::Components::ReceptacleDescriptions * -[ciao module name]::[component name]_Servant::get_named_receptacles (const Components::NameList & names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - ::Components::ReceptacleDescriptions_var retv = - new ::Components::ReceptacleDescriptions (names.length ()); - retv->length (names.length ()); - - CORBA::ULong i = 0; - for (; i < names.length (); ++i) - { - retv[i] = new ::OBV_Components::ReceptacleDescription; -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: - (else) if (ACE_OS_String::strcmp (names[i].in (), "[receptacle name]") == 0) - { - retv[i]->Name ((const char *) "[receptacle name]"); - retv[i]->type_id ((const char *) "[uses type repo id]"); -## if [receptacle name] is a simplex receptacle ('uses') - retv[i]->is_multiple (0); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - retv[i]->is_multiple (1); -## endif [receptacle name] - retv[i]->connections (*this->get_connections ("[receptacle name]" - ACE_ENV_ARG_PARAMETER)); - ACE_CHECK_RETURN (0); - } -##end foreach [receptacle name] with [uses type] - else - ACE_THROW_RETURN (::Components::InvalidName (), 0); - } - return retv._retn (); -} - -// Operations for Events interface -::Components::EventConsumerBase_ptr -[ciao module name]::[component name]_Servant::get_consumer (const char * sink_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - // @@ We can omit this if clause if there's no event sinks in this component. - if (sink_name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - if (ACE_OS_String::strcmp (sink_name, "[consumer name]") == 0) - return this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER); -##end foreach [consumer name] with [eventtype] - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -::Components::Cookie * -[ciao module name]::[component name]_Servant::subscribe (const char * publisher_name, - Components::EventConsumerBase_ptr subscriber - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::ExceededConnectionLimit)) -{ - // @@ We can omit this if clause if there's no publisher in this component. - if (publisher_name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [publish name] with [eventtype] in (list of all publishers) generate: - if (ACE_OS_String::strcmp (publisher_name, "[publish name]") == 0) - { - [eventtype]Consumer_var _ciao_consumer = - [eventtype]Consumer::_narrow (subscriber - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (CORBA::is_nil (_ciao_consumer.in ())) - ACE_THROW_RETURN (Components::InvalidConnection (), 0); - - return this->subscribe_[publish name] (_ciao_consumer.in () - ACE_ENV_ARG_PARAMETER); - } -##end foreach [publish name] with [eventtype] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -::Components::EventConsumerBase_ptr -[ciao module name]::[component name]_Servant::unsubscribe (const char * publisher_name, - Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection)) -{ - // @@ We can omit this if clause if there's no publisher in this component. - if (publisher_name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [publish name] with [eventtype] in (list of all publishers) generate: - if (ACE_OS_String::strcmp (publisher_name, "[publish name]") == 0) - { - return this->unsubscribe_[publish name] (ck - ACE_ENV_ARG_PARAMETER); - } -##end foreach [publish name] with [eventtype] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -void -[ciao module name]::[component name]_Servant::connect_consumer (const char * emitter_name, - Components::EventConsumerBase_ptr consumer - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::AlreadyConnected, - Components::InvalidConnection)) -{ - // @@ We can omit this if clause if there's no emitter in this component. - if (emitter_name == 0) - ACE_THROW (Components::InvalidName ()); - -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - if (ACE_OS_String::strcmp (emitter_name, "[emit name]") == 0) - { - [eventtype]Consumer_var _ciao_consumer = - [eventtype]Consumer::_narrow (consumer - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (_ciao_consumer.in ())) - ACE_THROW (Components::InvalidConnection); - - this->connect_[emit name] (_ciao_consumer.in () - ACE_ENV_ARG_PARAMETER); - return; - } -##end foreach [emit name] with [eventtype] - - ACE_THROW (Components::InvalidName ()); -} - -::Components::EventConsumerBase_ptr -[ciao module name]::[component name]_Servant::disconnect_consumer (const char * source_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::NoConnection)) -{ - // @@ We can omit this if clause if there's no emitter in this component. - if (source_name == 0) - ACE_THROW_RETURN (Components::InvalidName (), 0); - -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - if (ACE_OS_String::strcmp (source_name, "[emit name]") == 0) - { - return this->disconnect_[emit name] (ACE_ENV_SINGLE_ARG_PARAMETER); - } -##end foreach [emit name] with [eventtype] - - ACE_THROW_RETURN (Components::InvalidName (), 0); -} - -::Components::ConsumerDescriptions * -[ciao module name]::[component name]_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::ConsumerDescriptions_var retv = - new ::Components::ConsumerDescriptions (#99); // #99 is the number of consumers - // this component has. - retv->length (#99); - - CORBA::ULong i = 0; -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - retv[i] = new OBV_Components::ConsumerDescription; - retv[i]->Name ("[consumer name]"); - retv[i]->type_id ("[eventtype]Consumer repo id"); - [eventtype]Consumer_var c - = this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retv[i]->consumer (c.in ()); - - i++; -##end foreach [consumer name] with [eventtype] - - return retv._retn (); -} - -::Components::ConsumerDescriptions * -[ciao module name]::[component name]_Servant::get_named_consumers (const Components::NameList & names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - ::Components::ConsumerDescriptions_var retv = - new ::Components::ConsumerDescriptions (names.length ()); - retv->length (names.length ()); - - CORBA::ULong i = 0; - for (; i < names.length (); ++i) - { - retv[i] = new OBV_Components::ConsumerDescription; - -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - (else) if (ACE_OS_String::strcmp (names[i].in (), "[consumer name]") == 0) - { - retv[i]->Name ("[consumer name]"); - retv[i]->type_id ("[eventtype]Consumer repo id"); - [eventtype]Consumer_var c = - this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retv[i]->consumer (c.in ()); - } -##end foreach [consumer name] with [eventtype] - else - ACE_THROW_RETURN (::Components::InvalidName (), 0); - } - return retv._retn (); -} - -::Components::EmitterDescriptions * -[ciao module name]::[component name]_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::EmitterDescriptions_var retv = - new ::Components::EmitterDescriptions (#99); // #99 is the number of emitters - // this component has. - retv->length (#99); - - CORBA::ULong i = 0; -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - retv[i] = new OBV_Components::EmitterDescription; - retv[i]->Name ("[emit name]"); - retv[i]->type_id ("[eventtype]Consumer repo id"); - retv[i]->consumer ([eventtype]Consumer::_duplicate (this->context_->ciao_emits_[emit name]_consumer_)); - - i++; -##end foreach [emitter name] with [eventtype] - - return retv._retn (); -} - -::Components::EmitterDescriptions * -[ciao module name]::[component name]_Servant::get_named_emitters (const Components::NameList & names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - ::Components::EmitterDescriptions_var retv = - new ::Components::EmitterDescriptions (names.length ()); - retv->length (names.length ()); - - CORBA::ULong i = 0; - for (; i < names.length (); ++i) - { - retv[i] = new OBV_Components::EmitterDescription; - -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - (else) if (ACE_OS_String::strcmp (names[i].in (), "[emit name]") == 0) - { - retv[i]->Name ("[emit name]"); - retv[i]->type_id ("[eventtype]Consumer repo id"); - retv[i]->consumer ([eventtype]Consumer::_duplicate (this->context_->ciao_emits_[emit name]_consumer_.in ())); - } -##end foreach [consumer name] with [eventtype] - else - ACE_THROW_RETURN (::Components::InvalidName (), 0); - } - return retv._retn (); -} - -::Components::PublisherDescriptions * -[ciao module name]::[component name]_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ to-do - - // Need to add interfaces in the Context class to gather the information. - // Or we can just relay it to the Context object. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -::Components::PublisherDescriptions * -[ciao module name]::[component name]_Servant::get_named_publishers (const Components::NameList & names - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)) -{ - // @@ to-do - - // Need to add interfaces in the Context class to gather the information. - // Or we can just relay it to the Context object. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -// Operations for CCMObject interface -::CORBA::IRObject_ptr -[ciao module name]::[component name]_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ to-do: Connect to an IfR? - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -::Components::CCMHome_ptr -[ciao module name]::[component name]_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -::Components::PrimaryKeyBase * -[ciao module name]::[component name]_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::NoKeyAvailable)) -{ - // This is a keyless component. - ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0); -} - -void -[ciao module name]::[component name]_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidConfiguration)) -{ - // @@ to-do - // No-op. Don't know how to pass this info to monolithic executor. -} - -void -[ciao module name]::[component name]_Servant::remove (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::RemoveFailure)) -{ - // @@ to-do - // Need to figure out what to do here. E.g., tear down the all the connections - // this component has? -} - -::Components::ComponentPortDescription * -[ciao module name]::[component name]_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::ComponentPortDescription_var retv = - new OBV_Components::ComponentPortDescription; - - ::Components::FacetDescriptions_var facets_desc - = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ::Components::ReceptacleDescriptions_var receptacle_desc - = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ::Components::ConsumerDescriptions_var consumer_desc - = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ::Components::EmitterDescriptions_var emitter_desc - = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ::Components::PublisherDescriptions_var publisher_desc - = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - retv->facets (facets_desc.in()); - retv->receptacles (receptacle_desc.in()); - retv->consumers (consumer_desc.in()); - retv->emitters (emitter_desc.in()); - retv->publishers (publisher_desc.in()); - - return retv._retn(); -} - -// get_component implementation. -CORBA::Object_ptr -[ciao module name]::[component name]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::SessionContext_var sc = - ::Components::SessionContext::_narrow (this->context_); - - if (! CORBA::is_nil(sc.in ())) - return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); - - // @@ Do we need to try the following case here? We are afterall implementing - // a session component here. - ::Components::EntityContext_var ec = - ::Components::EntityContext::_narrow (this->context_); - - if (! CORBA::is_nil(ec.in ())) - return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); -} - -void -[ciao module name]::[component name]_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::SessionComponent_var temp = - ::Components::SessionComponent::_narrow (this->executor_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (! CORBA::is_nil (temp.in ())) - temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -void -[ciao module name]::[component name]_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ::Components::SessionComponent_var temp = - ::Components::SessionComponent::_narrow (this->executor_.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (! CORBA::is_nil (temp.in ())) - temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -////////////////////////////////////////////////////////////////// -// Component Home Glue code implementation -////////////////////////////////////////////////////////////////// - -[component name]_ptr -[ciao module name]::[home name]_Servant::_ciao_activate_component (CCM_[component name]_ptr exe - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - CORBA::Object_var hobj - = this->container_->get_objref (this - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - ::Components::CCMHome_var home - = ::Components::CCMHome::_narrow (hobj.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - [ciao module name]::[component name]_Servant *svt = - new [ciao module name]::[component name]_Servant (exe, - home.in (), - this->container_); - PortableServer::ServantBase_var safe (svt); - PortableServer::ObjectId_var oid; - - CORBA::Object_var objref - = this->container_->install_component (svt, - oid.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - [component name]_var ho - = [component name]::_narrow (objref.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (this->component_map_.bind (oid.in (), svt) == 0) - { - // @@ what should happen if bind fail? - safe._retn (); - } - return ho._retn (); -} - -void -[ciao module name]::[home name]_Servant::_ciao_passivate_component ([component name]_ptr comp - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - PortableServer::ObjectId_var oid; - - this->container_->uninstall_component (comp, - oid.out () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - [ciao module name]::[component name]_Servant *servant = 0; - if (this->component_map_.unbind (oid.in (), servant) == 0) - { - PortableServer::ServantBase_var safe (servant); - servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - } - // What happen if unbind failed? - -} - -// Operations for Implicit Home interface -[component name]_ptr -[ciao module name]::[home name]_Servant::create (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::CreateFailure)) -{ - if (this->executor_.in () == 0) - ACE_THROW_RETURN (CORBA::INTERNAL (), 0); - - Components::EnterpriseComponent_var _ciao_ec = - this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CCM_[component name]_var _ciao_comp - = CCM_[component name]::_narrow (_ciao_ec.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->_ciao_activate_component (_ciao_comp.in () - ACE_ENV_ARG_PARAMETER); -} - -// Operations for CCMHome interface -void -[ciao module name]::[home name]_Servant::remove_component (Components::CCMObject_ptr comp - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::RemoveFailure)) -{ - [component name]_var _ciao_comp - = [component name]::_narrow (comp - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (_ciao_comp.in ())) - ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here? - - // @@ It seems to me that we need to make sure this is a component - // generated by this home before calling remove on this component. - _ciao_comp->remove (ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - - // Removing the object reference? get the servant from the POA with - // the objref, and call remove() on the component, deactivate the - // component, and then remove-ref the servant? - this->_ciao_passivate_component (_ciao_comp.in () - ACE_ENV_ARG_PARAMETER); -} - -extern "C" [SERVANT]_Export ::PortableServer::Servant -create[home name]_Servant (::Components::HomeExecutorBase_ptr p, - CIAO::Session_Container *c - ACE_ENV_ARG_DECL); -{ - if (p == 0) - return 0; - - CCM_[home name]_var x - = CCM_[home name]::_narrow (p - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (CORBA::is_nil (x.in ())) - return 0; - - return new [ciao module name]::[home name]_Servant (x.in (), - c); -} diff --git a/CIAO/docs/templates/CIAO_Glue_Session_Template.h b/CIAO/docs/templates/CIAO_Glue_Session_Template.h deleted file mode 100644 index 053933f776e..00000000000 --- a/CIAO/docs/templates/CIAO_Glue_Session_Template.h +++ /dev/null @@ -1,733 +0,0 @@ -// $Id$ - -// =========================================================== -// -// @file CIAO_Glue_Session_Template.h -// -// This is a pseudo-meta generic servant implementations template -// for CIAO's CIDL compiler. It demonstrates how a servant -// implementation for a session component should look like. -// -// The generated filename for files using this template shoule be -// [idl-basename]_svnt.h -// -// @author Nanbor Wang <nanbor@cs.wustl.edu> -// -// =========================================================== - -#ifndef CIAO_GLUE_SESSION_[idl-basename]_SVNT_H -#define CIAO_GLUE_SESSION_[idl-basename]_SVNT_H -#include /**/ "ace/pre.h" - -#include "[idl-name]S.h" // Source in the skeletons for component - // client-view equivalent interfaces -#include "[idl-name]EC.h" // Source in the executor mapping - // that component implementations use -#include "ciao/Container_Base.h" //Source in the container interface definitions -#include "tao/LocalObject.h" -#include "tao/PortableServer/Key_Adapters.h" -#include "ace/Active_Map_Manager_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -/// @@@ Notice that all component and interface names need to be -/// fully qualified as we are creating a new namespace for the CIAO's -/// container glue code. -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -##if component is defined withing a [module name] -namespace CIAO_GLUE_[module_name] -##else -namespace CIAO_GLUE -##endif -{ - - ////////////////////////////////////////////////////////////////// - // Facet Glue Code implementation - // @@ We are assuming that these facets are declared under the same - // module as the component (thus, we are placing this glue code - // here under the same namespace. If they are not, we will - // either be generating them in separate namespaces, or include - // some other CIDL generated files to get the glue code - // implementation. - -##foreach [facet type] in (all facet interface types in the original IDL) - class [SERVANT]_Export [facet type]_Servant : - : public virtual POA_[facet type] // full skeleton name here - { - public: - // Constructor and destructor. - [facet type]_Servant (CCM_[facet type]_ptr executor, - ::Components::CCMContext_ptr ctx); - ~[facet tyep]_Servant (); - -## foreach [operation] in (all facet operations) - // Generate operation decls. -## end foreach [operation] - - // get_component implementation. - virtual CORBA::Object_ptr - _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - protected: - // Facet executor. - CCM_[facet type]_var executor_; - - // Context object. - ::Components::CCMContext_var ctx_; - }; -##end foreach [facet type] - - - ////////////////////////////////////////////////////////////////// - // Component specific context implementation - class [SERVANT]_Export [component name]_Context : - public virtual CCM_[component name]_Context, - public virtual TAO_Local_RefCounted_Object - { - public: - // We will allow the the servant glue code we generate to access - // our states. - friend class [component name]_Servant; - - // Ctor. - [component name]_Context (::Components::CCMHome_ptr home, - ::CIAO::Session_Container *c, - [component name]_Servant *sv); - - // Dtor. - virtual ~[component name]_Context (); - - // Operations for [component name] event source, and - // receptacles defined in CCM_[component name]_Context. - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') - [uses type]_ptr - get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - // [receptacle name]Connections typedef'ed as a sequence of - // struct [receptacle name]Connection. - [receptacle name]Connections * - get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); - ACE_THROW_SPEC ((CORBA::SystemException)); -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - -##foreach [event name] with [eventtype] in (list of all event sources) generate: - void push_[event name] ([eventtype] *ev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -##end foreach [event name] with [eventtype] - - // Operations for ::Components::CCMContext - virtual ::Components::Principal_ptr - get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::CCMHome_ptr - get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean - get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)); - - virtual ::Components::Transaction::UserTransaction_ptr - get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)); - - virtual CORBA::Boolean - is_caller_in_role (const char * role - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void - set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)); - - // Operations for ::Components::SessionContext interface - virtual CORBA::Object_ptr - get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)); - protected: - // We need to generate, in protected section, stuff that manage - // connections and consumers of this component. - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') - // Simplex [receptacle name] connection management operations - void - connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected, - ::Components::InvalidConnection)); - - [uses type]_ptr - disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)); - - // Simplex [receptacle name] connection - [uses type]_var ciao_uses_[receptacle name]_; - -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - // Multiplex [receptacle name] connection management operations - ::Components::Cookie * - connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceedConnectionLimit, - ::Components::InvalidConnection)); - - [uses type]_ptr - disconnect_[receptacle name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)); - - // Multiplex [receptacle name] connections - - ACE_Active_Map_Manager<[uses type]_var> ciao_muses_[receptacle name]_; -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - - // Operations for emits interfaces. -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - void - connect_[emit name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected)); - - [eventtype]Consumer_ptr - disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)); - - [eventtype]Consumer_var ciao_emits_[emit name]_consumer_; -##end foreach [emit name] with [eventtype] - - // Operations for publishes interfaces. -##foreach [publish name] with [eventtype] in (list of all publishers) generate: - ::Components::Cookie * - subscribe_[publish name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceededConnectionLimit)); - - [eventtype]Consumer_ptr - unsubscribe_[publish name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)); - - ACE_Active_Map_Manager<[eventtype]Consumer_var> ciao_publishes_[publish name]_map_; -##end foreach [publish name] with [eventtype] - - protected: - /// Cached component home reference. - ::Components::CCMHome_var home_; - - /// session container - ::CIAO::Session_Container *container_; - - /// Reference back to owner. - [component name]_Servant *servant_; - - /// @@ Cached component reference. - [component name]_var component_; - - }; - - ////////////////////////////////////////////////////////////////// - // Component Servant Glue code implementation - class [SERVANT]_Export [component name]_Servant - : public virtual POA_[component name] // full skeleton name here - { - public: - // Ctor. - [component name]_Servant (CCM_[component name]_ptr executor, - ::Components::CCMHome_ptr home, - ::CIAO::Session_Container *c); - - // Dtor. - ~[component name]_Servant (void); - -##foreach [operation] in all supported interfaces of own component and all inherited components and attribute accessors/mutators - - // Generate the [operation] here. - -##end - - // Operations for provides interfaces. -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - virtual [facet type]_ptr - provide_[facet name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -##end foreach [facet name] with [facet type] - - // Operations for receptacles interfaces. - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') - // Simplex [receptacle name] connection management operations - virtual void - connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected, - ::Components::InvalidConnection)); - - virtual [uses type]_ptr - disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)); - - virtual [uses type]_ptr - get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - // Multiplex [receptacle name] connection management operations - virtual ::Components::Cookie * - connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceedConnectionLimit, - ::Components::InvalidConnection)); - - virtual [uses type]_ptr - disconnect_[receptacle name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)); - - virtual [receptacle name]Connections * - get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - - // Operations for consumers interfaces. -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - - // First we need to generate the event sink specific servant - class [SERVANT]_Export [eventtype]Consumer_[consumer name]_Servant - : public virtual POA_[eventtype]Consumer // full skeleton name here - { - public: - // Constructor and destructor. - [event type]Consumer_[consumer name]_Servant (CCM_[component name]_ptr executor, - CCM_[component name]_Context_ptr c); - - ~[event type]Consumer_[consumer name]_Servant (); - -## foreach [type] in ([eventtype] and all its parent eventtype, if any) - virtual void push_[type] ([type] *evt - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -## end [type] - - // Inherit from ::Compopnents::EventConsumerBase - virtual void push_event (::Components::EventBase *ev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::BadEventType)); - - // get_component implementation. - virtual CORBA::Object_ptr - _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - protected: - // Executor - CCM_[component name]_var executor_; - - // Context object. - CCM_[component name]_Context_var ctx_; - }; - - virtual [eventtype]Consumer_ptr - get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); -##end foreach [consumer name] with [eventtype] - - // Operations for emits interfaces. -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - virtual void - connect_[emit name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException - ::Components::AlreadyConnected)); - - virtual [eventtype]Consumer_ptr - disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)); -##end foreach [emit name] with [eventtype] - - // Operations for publishes interfaces. -##foreach [publish name] with [eventtype] in (list of all publishers) generate: - virtual ::Components::Cookie * - subscribe_[publish name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceededConnectionLimit)); - - virtual [eventtype]Consumer_ptr - unsubscribe_[publish name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)); -##end foreach [publish name] with [eventtype] - - // Operations for Navigation interface - virtual CORBA::Object_ptr - provide_facet (const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException , - Components::InvalidName)) ; - - virtual ::Components::FacetDescriptions * - get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::FacetDescriptions * - get_named_facets (const Components::NameList & names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException , - Components::InvalidName)); - - virtual CORBA::Boolean - same_component (CORBA::Object_ptr object_ref - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Operations for Receptacles interface - virtual ::Components::Cookie * - connect (const char * name, - CORBA::Object_ptr connection - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::AlreadyConnected, - Components::ExceededConnectionLimit)); - - virtual CORBA::Object_ptr - disconnect (const char * name, - Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::CookieRequired, - Components::NoConnection)); - - virtual ::Components::ConnectionDescriptions * - get_connections (const char * name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - virtual ::Components::ReceptacleDescriptions * - get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::ReceptacleDescriptions * - get_named_receptacles (const Components::NameList & names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - // Operations for Events interface - virtual ::Components::EventConsumerBase_ptr - get_consumer (const char * sink_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - virtual ::Components::Cookie * - subscribe (const char * publisher_name, - Components::EventConsumerBase_ptr subscriber - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection, - Components::ExceededConnectionLimit)); - - virtual ::Components::EventConsumerBase_ptr - unsubscribe (const char * publisher_name, - Components::Cookie *ck - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::InvalidConnection)); - - virtual void - connect_consumer (const char * emitter_name, - Components::EventConsumerBase_ptr consumer - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::AlreadyConnected, - Components::InvalidConnection)); - - virtual ::Components::EventConsumerBase_ptr - disconnect_consumer (const char * source_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName, - Components::NoConnection)); - - virtual ::Components::ConsumerDescriptions * - get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::ConsumerDescriptions * - get_named_consumers (const Components::NameList & names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - virtual ::Components::EmitterDescriptions * - get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::EmitterDescriptions * - get_named_emitters (const Components::NameList & names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - virtual ::Components::PublisherDescriptions * - get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::PublisherDescriptions * - get_named_publishers (const Components::NameList & names - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidName)); - - // Operations for CCMObject interface - virtual ::CORBA::IRObject_ptr - get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::CCMHome_ptr - get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::Components::PrimaryKeyBase * - get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::NoKeyAvailable)); - - virtual void - configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::InvalidConfiguration)); - - virtual void - remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::RemoveFailure)); - - virtual ::Components::ComponentPortDescription * - get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // get_component implementation. - virtual CORBA::Object_ptr - _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // CIAO specific operations. - - // Activate the object in the container_ - void - _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void - _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - protected: - // My Executor. - CCM_[component name]_var executor_; - - // My Run-time Context. - [component name]_Context *context_; - - // Managing container. - ::CIAO::Session_Container *container_; - - // Cached provided interfaces. -##foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - [facet type]_var provide_[facet name]_; -##end foreach [facet name] with [facet type] - -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - [eventtype]Consumer_var consumes_[consumer name]_; -##end foreach [consumer name] with [eventtype] - - }; - - - ////////////////////////////////////////////////////////////////// - // Component Home Glue code implementation - - // Foreach component home - class [SERVANT]_Export [home name]_Servant : - public virtual POA_[home name] // full skeleton name here - { - public: - // Ctor. - [home name]_Servant (CCM_[home name]_ptr exe, - CIAO::Session_Container *c); - - // Dtor. - ~[home name]_Servant (void); - - // User defined and inherited operations -##foreach [operation] in (all explicit operations in [home basename] including its parents) - - // The operation decl here. - -## end foreach opeartion - - // Factory operations -##foreach [factory name] in (all factory operations in [home basename] including its parents) - // for factory operations inherit from parent home(s), they should return - // the corresponding component types their homes manage - virtual [component name]_ptr - [factory name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::CreateFailure, - ....)); -##end foreach [factory name] - - // Finder operations -##foreach [finder name] in (all finder operations in [home basename] including its parents) - // for finder operations inherit from parent home(s), they should return - // the corresponding component types their homes manage - virtual [component name]_ptr - [finder name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::FinderFailure, - ....)); -##end foreach [finder name] - -## if [home name] is a keyless home - - // Operations for KeylessHome interface - virtual ::Components::CCMObject_ptr - create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::CreateFailure)); - -## else [home basename] is keyed home with [key type] - - // We do not support key'ed home at the moment but we might - // as well generate the mapping. - virtual [component name]_ptr create ([key type] *key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::CreationFailure, - ::Components::DuplicateKeyValue, - ::Components::InvalidKey)); - - virtual [component name]_ptr - find_by_primary_key ([key type] *key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::FinderFailure, - ::Components::UnknownKeyValue, - ::Components::InvalidKey)); - - virtual void remove ([key type] *key - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::RemoveFailure, - ::Components::UnknownKeyValue, - ::Components::InvalidKey)); - - virtual [key type] * - get_primary_key ([component name]_ptr comp - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - -## endif (keyed or keyless home) - - // Operations for Implicit Home interface - virtual [component name]_ptr - create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::CreateFailure)); - - // Operations for CCMHome interface - virtual ::CORBA::IRObject_ptr - get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual ::CORBA::IRObject_ptr - get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void remove_component (Components::CCMObject_ptr comp - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::RemoveFailure)); - - protected: - // Helper method for factory operations. - [component name]_ptr - _ciao_activate_component (CCM_[component name]_ptr exe - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - void - _ciao_passivate_component ([component name]_ptr comp - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // My Executor. - CCM_[home name]_var executor_; - - // My Container - CIAO::Session_Container *container_; - - // Components this home manages. - ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId, - [component name]_Servant*, - TAO_ObjectId_Hash, - ACE_Equal_To<PortableServer::ObjectId>, - ACE_SYNCH_MUTEX> component_map_; - }; - -} - -extern "C" [SERVANT]_Export ::PortableServer::Servant -create[home name]_Servant (::Components::HomeExecutorBase_ptr p, - CIAO::Session_Container *c - ACE_ENV_ARG_DECL_WITH_DEFAULTS); - -#if defined (__ACE_INLINE__) -# include "[idl-name]_svnt.inl" -#endif /* __ACE_INLINE__ */ - - -#include /**/ "ace/post.h" -#endif /* CIAO_GLUE_SESSION_[idl-basename]_SVNT_H */ diff --git a/CIAO/docs/templates/CIAO_Glue_Session_Template.inl b/CIAO/docs/templates/CIAO_Glue_Session_Template.inl deleted file mode 100644 index 8b02307bc85..00000000000 --- a/CIAO/docs/templates/CIAO_Glue_Session_Template.inl +++ /dev/null @@ -1,494 +0,0 @@ -// $Id$ -*- C++ -*- - -// The generated filename for files using this template shoule be -// [idl-basename]GS.i GS --> GlueSession - -// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or -// CIAO_GLUE_[module name] as defined in the header file. - -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -/// @@@ Notice that all component and interface names need to be -/// fully qualified as we are creating a new namespace for the CIAO's -/// container glue code. -/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -////////////////////////////////////////////////////////////////// -// Facet Glue Code implementation -// @@ We are assuming that these facets are declared under the same -// module as the component (thus, we are placing this glue code -// here under the same namespace. If they are not, we will -// either be generating them in separate namespaces, or include -// some other CIDL generated files to get the glue code -// implementation. -////////////////////////////////////////////////////////////////// - -##foreach [facet type] in (all facet interface types in the original IDL) -// Constructor and destructor. -ACE_INLINE -[ciao module name]::[facet type]_Servant::[facet type]_Servant (CCM_[facet type]_ptr executor, - ::Components::CCMContext_ptr c) - : executor_ (CCM_[facet type]::_duplicate (executor)), - ctx_ (Components::CCMContext::_duplicate (c)) -{ -} - -ACE_INLINE -[ciao module name]::[facet type]_Servant::~[facet tyep]_Servant () -{ -} - - -## foreach [operation] in (all facet operations) - -// This is only a guideline... we always relay the operation to underlying -// executor. - -ACE_INLINE [operation return_type] -[ciao module name]::[facet type]_Servant::[operation] ([operation args]) -{ - // Simply relay to executor. May not need to return the result... - return this->executor_->operation ([operation args]); -} -## end foreach [operation] - -##end foreach [facet type] - - -////////////////////////////////////////////////////////////////// -// Component specific context implementation -////////////////////////////////////////////////////////////////// - -ACE_INLINE -[ciao module name]::[component name]_Context::[component name]_Context (::Components::CCMHome_ptr home, - ::CIAO::Session_Container *c, - [ciao module name]::[component name]_Servant *sv) - : home_ (::Components::CCMHome::_duplicate (home)), - container_ (c), - servant_ (sv) -{ - -} - -ACE_INLINE -[ciao module name]::[component name]_Context::~[component name]_Context () -{ -} - -// Operations for emits interfaces. -##foreach [emit name] with [eventtype] in (list of all emitters) generate: - -ACE_INLINE void -[ciao module name]::[component name]_Context::connect_[emit name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected)) -{ - if (CORBA::is_nil (c)) - ACE_THROW (CORBA::BAD_PARAM ()); - - if (! CORBA::is_nil (this->ciao_emits_[emit name]_consumer_.in ())) - ACE_THROW (::Components::AlreadyConnected ()); - - this->ciao_emits_[emit name]_consumer_ = c; -} - -ACE_INLINE [eventtype]Consumer_ptr -[ciao module name]::[component name]_Context::disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)) -{ - if (CORBA::is_nil (this->ciao_emits_[emit name]_consumer_.in ())) - ACE_THROW (::Components::NoConnection ()); - - return this->ciao_emits_[emit name]_consumer_._retn (); -} - -##end foreach [emit name] with [eventtype] - -// Operations for ::Components::CCMContext -ACE_INLINE ::Components::Principal_ptr -[ciao module name]::[component name]_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ We don't support Security in CIAO yet. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE ::Components::CCMHome_ptr -[ciao module name]::[component name]_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return ::Components::CCMHome::_duplicate (this->home_.in ()); -} - -ACE_INLINE CORBA::Boolean -[ciao module name]::[component name]_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)) -{ - // @@ We don't support Transaction in CIAO yet. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE ::Components::Transaction::UserTransaction_ptr -[ciao module name]::[component name]_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)) -{ - // @@ We don't support Transaction in CIAO yet. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE CORBA::Boolean -[ciao module name]::[component name]_Context::is_caller_in_role (const char * role - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - ACE_UNUSED_ARG (role); - - // @@ We don't support Transaction in CIAO yet. - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE void -[ciao module name]::[component name]_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::IllegalState)) -{ - // @@ We don't support Transaction in CIAO yet. - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -////////////////////////////////////////////////////////////////// -// Component Servant Glue code implementation -////////////////////////////////////////////////////////////////// - -##foreach [operation] in all supported interfaces of own component and all inherited components and attribute accessors/mutators - -// This is only a guideline... we always relay the operation to underlying -// executor. - -ACE_INLINE [operation return_type] -[ciao module name]::[component name]_Servant::[operation] ([operation args]) -{ - // Simply relay to executor. May not need to return the result... - return this->executor_->operation ([operation args]); -} - -##end - -##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') -// Simplex [receptacle name] connection management operations -ACE_INLINE void -[ciao module name]::[component name]_Servant::connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::AlreadyConnected, - ::Components::InvalidConnection)) -{ - this->context_->connect_[receptacle name] (c - ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE [uses type]_ptr -[ciao module name]::[component name]_Servant::disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)) -{ - return this->context_->disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -ACE_INLINE [uses type]_ptr -[ciao module name]::[component name]_Servant::get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->context_->get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); -} -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - -// Multiplex [receptacle name] connection management operations -ACE_INLINE ::Components::Cookie * -[ciao module name]::[component name]_Servant::connect_[receptacle name] ([uses type]_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceedConnectionLimit, - ::Components::InvalidConnection)) -{ - return this->context_->connect_[receptacle name] (c - ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE [uses type]_ptr -[ciao module name]::[component name]_Servant::disconnect_[receptacle name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)) -{ - return this->context_->disconnect_[receptacle name] (ck - ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE [receptacle name]Connections * -[ciao module name]::[component name]_Servant::get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->context_->get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -## endif [receptacle name] -##end foreach [receptacle name] with [uses type] - -////////////////////////////////////////////////////////////////// -// EventConsumer Glue Code implementation -// @@ We are assuming that these consumers are declared under the same -// module as the component (thus, we are placing this glue code -// here under the same namespace. If they are not, we will -// either be generating them in separate namespaces, or include -// some other CIDL generated files to get the glue code -// implementation. -////////////////////////////////////////////////////////////////// - -##foreach [consumer name] with [eventtype] in (list of all consumers) generate: - -// Constructor and destructor. -ACE_INLINE -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::[eventtype]Consumer_[consumer name]_Servant - (CCM_[component name]_ptr executor, - CCM_[component name]_Context_ptr c) - : executor_ (CCM_[component name]::_duplicate (executor)), - ctx_ (CCM_[component name]_Context::_duplicate (c)) -{ -} - -ACE_INLINE -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::~[eventtype]Consumer_[consumer name]_Servant () -{ -} - -ACE_INLINE CORBA::Object_ptr -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -ACE_INLINE void -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_[eventtype] - ([eventtype] *evt - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - this->executor_->push_[consumer name] (evt - ACE_ENV_ARG_PARAMETER); -} - -## foreach [type] in (all parents of eventtype, if any, not including EventConsumerBase) -ACE_INLINE void -[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_[type] - ([type] *evt - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ Problem, there's no way to handle this case. - - // this->executor_->push_[consumer name] (evt ACE_ENV_ARG); - ACE_THROW (::CORBA::BAD_PARAM ()); -} -## end [type] - -##end foreach [consumer name] - -// Operations for emits interfaces. -##foreach [emit name] with [eventtype] in (list of all emitters) generate: -ACE_INLINE void -[ciao module name]::[component name]_Servant::connect_[emit name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException - ::Components::AlreadyConnected)) -{ - this->context_->connect_[emit name] (c - ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE [eventtype]Consumer_ptr -[ciao module name]::[component name]_Servant::disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::NoConnection)) -{ - return this->context_->disconnect_[emit name] (ACE_ENV_SINGLE_ARG_PARAMETER); -} -##end foreach [emit name] with [eventtype] - -// Operations for publishes interfaces. -##foreach [publish name] with [eventtype] in (list of all publishers) generate: -ACE_INLINE ::Components::Cookie * -[ciao module name]::[component name]_Servant::subscribe_[publish name] ([eventtype]Consumer_ptr c - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::ExceededConnectionLimit)) -{ - return this->context_->subscribe_[publish name] (c - ACE_ENV_ARG_PARAMETER); -} - -ACE_INLINE [eventtype]Consumer_ptr -[ciao module name]::[component name]_Servant::unsubscribe_[publish name] (::Components::Cookie *ck - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::InvalidConnection)) -{ - return this->context_->unsubscribe_[publish name] (ck - ACE_ENV_ARG_PARAMETER); -} -##end foreach [publish name] with [eventtype] - -////////////////////////////////////////////////////////////////// -// Component Home Glue code implementation -////////////////////////////////////////////////////////////////// - -ACE_INLINE -[ciao module name]::[home name]_Servant::[home name]_Servant (CCM_[home name]_ptr exe, - CIAO::Session_Container *c) - : executor_ (CCM_[home name]::_duplicate (exe)), - container_ (c) -{ -} - -ACE_INLINE -[ciao module name]::[home name]_Servant::~[home name]_Servant (void) -{ -} - -##foreach [operation] in (all explicit operations in [home basename] including its parents) - -// The operation impl here. This can simply be relayed to the underlying executor... - -## end foreach opeartion - -##foreach [factory name] in (all factory operations in [home basename] including its parents) -// for factory operations inherit from parent home(s), they should return -// the corresponding component types their homes manage -ACE_INLINE [component name]_ptr -[ciao module name]::[home name]_Servant::[factory name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::CreateFailure, - ....)) -{ - Components::EnterpriseComponent_var _ciao_ec = - this->executor_->[factory name] (.... ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - CCM_[component name]_var _ciao_comp - = CCM_[component name]::_narrow (_ciao_ec.in () - ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - return this->_ciao_activate_component (_ciao_comp.in () - ACE_ENV_ARG_PARAMETER); -} -##end foreach [factory name] - -##foreach [finder name] in (all finder operations in [home basename] including its parents) -// for finder operations inherit from parent home(s), they should return -// the corresponding component types their homes manage -ACE_INLINE [component name]_ptr -[ciao module name]::[home name]_Servant::[finder name] (.... ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::FinderFailure, - ....)) -{ - Components::EnterpriseComponent_var com = - this->executor_->[finder name] (.... ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - // Do we create a new object reference referring to the same object, - // or do we try to create a different objref referring to the same object? - return this->_ciao_create_helper (com - ACE_ENV_ARG_PARAMETER); -} -##end foreach [finder name] - -## if [home name] is a keyless home - -// Operations for KeylessHome interface -ACE_INLINE ::Components::CCMObject_ptr -[ciao module name]::[home name]_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Components::CreateFailure)) -{ - // Simply forward to the create method. - return this->create (ACE_ENV_SINGLE_ARG_PARAMETER); -} - -## else [home basename] is keyed home with [key type] - -// We do not support key'ed home at the moment but we might -// as well generate the mapping. -ACE_INLINE [component name]_ptr -[ciao module name]::[home name]_Servant::create ([key type] *key) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::CreationFailure, - ::Components::DuplicateKeyValue, - ::Components::InvalidKey)) -{ - // @@ TO-DO when we suppor keyed home. - - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE [component name]_ptr -[ciao module name]::[home name]_Servant::find_by_primary_key ([key type] *key) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::FinderFailure, - ::Components::UnknownKeyValue, - ::Components::InvalidKey)) -{ - // @@ TO-DO when we suppor keyed home. - - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - - -ACE_INLINE void -[ciao module name]::[home name]_Servant::remove ([key type] *key) - ACE_THROW_SPEC ((CORBA::SystemException, - ::Components::RemoveFailure, - ::Components::UnknownKeyValue, - ::Components::InvalidKey)) -{ - // @@ TO-DO when we suppor keyed home. - - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -ACE_INLINE [key type] * -[ciao module name]::[home name]_Servant::get_primary_key ([component name]_ptr comp) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ TO-DO when we suppor keyed home. - - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -## endif (keyed or keyless home) - - -// Operations for CCMHome interface -ACE_INLINE ::CORBA::IRObject_ptr -[ciao module name]::[home name]_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ TO-DO. Contact IfR? - - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} - -ACE_INLINE CORBA::IRObject_ptr -[ciao module name]::[home name]_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ - // @@ TO-DO. Contact IfR? - - ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0); -} diff --git a/CIAO/docs/templates/Executor.idl b/CIAO/docs/templates/Executor.idl deleted file mode 100644 index 259bffac0df..00000000000 --- a/CIAO/docs/templates/Executor.idl +++ /dev/null @@ -1,246 +0,0 @@ -// $Id$ - -// =========================================================== -// -// @file Executor.idl -// -// The purpose of this IDL file is to serve as a template for the CIDL -// generated equivalent executor file. The CIDL will generate this -// file directly which, in turn, gets compiled by the TAO IDL compiler -// to generate the C++ mappings for the stuff defined in this file -// into a set of [idl-name]EC.{h,inl,cpp} files. -// -// This intermediate step is necessary because component implemenetors -// will need to extend these executor definitions (thru inheritance) -// to implemenet more complex executor implementations, such as those -// that support session component interface. (This is necessary to -// properly support C++ mapping for features such as interface -// narrowing.) -// -// What are missing in the template for executor mappings are the -// exception specifications for most operations. -// -// @author Nanbor Wang <nanbor@cs.wustl.edu> -// -// =========================================================== - -#ifndef [component_idl]E_IDL -#define [component_idl]E_IDL - -#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao - // For various definitions of container - // internal/callback interfaces -#include "[component_idl].idl" // Original component IDL definition -// @@ We may need to include other *E.idl here.... Can't figure out -// if we can do this automagically or not. - -##if there are module definitions, preserve them all -module [module_name] { -##endif - -//////////////////////////////////////////////////////////////////// -//// * Iterate thru all supported interface types -//// It's possible that we need to put some of the common supported -//// interface definitions into a separate compilation unit. How do we -//// specify that in CCIDL? I haven't figured that out. Perhaps -//// allowing CCIDL to compile files that contain no component -//// definition? -##foreach [interface_type] in (types of all supported interface) generate: - - local interface CCM_[interface_type] : [interface_type] - { - }; - -##end foreach [interface_type] - -//////////////////////////////////////////////////////////////////// -//// * Iterate thru all facet ('provides' interface) interface types -//// It's possible that we need to put some of the common facet -//// definitions into a separate compilation unit. How do we -//// specify that in CCIDL? I haven't figured that out. Perhaps -//// allowing CCIDL to compile files that contain no component -//// definition? -##foreach [facet_interface_type] in (types of all facets) generate: - - local interface CCM_[facet_interface_type] : [facet_interface_type] - { - }; - -##end foreach [facet_interface_type] - -//////////////////////////////////////////////////////////////////// -//// * Iterate thru all event ('emits', "publishes', or 'consumes') types -//// It's possible that we need to put some of the EventConsumer -//// definitions into a separate compilation unit. Like in the case -//// of facets interface mappings, how do we -//// specify that in CCIDL? I haven't figured that out. Perhaps -//// allowing CCIDL to compile files that contain no component -//// definition? - -##foreach [eventtype] in (all eventtypes) generate: - - local interface CCM_[eventtype]Consumer - { - void push (in [eventtype] ev); - }; - -##end foreach [eventtype] - - -//////////////////////////////////////////////////////////////////// -//// * Iterate thru all component definitions in the IDL files. -//// Notice that there's no distinction between entity and session -//// components in executor mappings. - -##foreach [component basename] in (all component definitions) generate: - - // Component Main Executor Interface. We currently do not - // support Executor-based implementation. - - local interface CCM_[component basename]_Executor - : -## if [component basename] inherits from [parent component name] - CCM_[parent component name]_Executor -## else - ::Components::EnterpriseComponent -## endif -## foreach [interface name] in (all component supported interfaces) generate: - , [interface name] -## end foreach [interface name] - - { -## foreach [attribute definition] in (attributes defined in [component basename]) generate: - [attribute definition]; -## end foreach [attribute definition] - - }; - - // Monolithic component executor. - // For implementing monolithic component call back interface. - - local interface CCM_[component basename] - : -## if [component basename] inherits from [parent component name] - CCM_[parent component name] -## else - ::Components::EnterpriseComponent -## endif -## foreach [interface name] in (all component supported interfaces) generate: - , [interface name] -## end foreach [interface name] - - { -## foreach [attribute definition] in (attributes defined in [component basename]) generate: - [attribute definition]; -## end foreach [attribute definition] - -## foreach [facet name] with [facet type] in (list of all provided interfaces) generate: - CCM_[facet type] get_[facet name] (); -## end foreach [facet name] with [facet type] - -## foreach [event name] with [eventtype] in (list of all event sinks) generate: - void push_[event name] (in [eventtype] ev); -## end foreach [event name] with [eventtype] - - }; - - /** - * Component Context Interface - * - * Notice that we are taking a shortcut here to inherit the - * component-specific context from SessionContext directly instead - * of CCMContext. - */ - local interface CCM_[component basename]_Context - : -## if [component basename] inherits from [parent component name] - CCM_[parent component name]_Context -## else - ::Components::SessionContext -## endif - { - -## foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate: -## if [receptacle name] is a simplex receptacle ('uses') - [uses type] get_connection_[receptacle name] (); -## else ([receptacle name] is a multiplex ('uses multiple') receptacle) - // [receptacle name]Connections typedef'ed as a sequence of - // struct [receptacle name]Connection. - [receptacle name]Connections get_connections_[receptacle name] (); -## endif [receptacle name] -## end foreach [receptacle name] with [uses type] - -## foreach [event name] with [eventtype] in (list of all event sources) generate: - void push_[event name] (in [eventtype] ev); -## end foreach [event name] with [eventtype] - - }; - -##end foreach [component basename] - - -//////////////////////////////////////////////////////////////////// -//// * Iterate thru all home definitions in the IDL files. - -##foreach [home basename] in (all home definitions) generate: - - local interface CCM_[home basename]Explicit - : -## if [home basename] inherits from [parent home name] - CCM_[parent home name]Explicit -## else - ::Components::HomeExecutorBase -## endif -## foreach [interface name] in (all home supported interfaces) generate: - , [interface name] -## end foreach [interface name] - { -##foreach [operation] in (all explicit operations defined in [home basename]) - - // The operation decl here. - -## end foreach opeartion - -##foreach [factory name] in (all factory operations defined in [home basename]) - ::Components::EnterpriseComponent [factory name] (....) - raise (Components::CreateFailure, ....); -##end foreach [factory name] - -##foreach [finder name] in (all finder operations defined in [home basename]) - ::Components::EnterpriseComponent [finder name] (....) - raise (Components::FinderFailure, ....); -##end foreach [finder name] - }; - - local interface CCM_[home basename]Implicit - { -## if [home basename] is a keyless home - ::Components::EnterpriseComponent create () - raises (::Components::CCMException); -## else [home basename] is key'ed home with [key type] - // We do not support key'ed home at the moment but we might - // as well generate the mapping. - ::Components::EnterpriseComponent create (in [key type] key) - raises (::Components::CCMException); - - ::Components::EnterpriseComponent find_by_primary_key (in [key type] key) - raises (::Components::CCMException); - - void remove (in [key type] key) - raises (::Components::CCMException); -## endif (key'ed or keyless home) - }; - - local interface CCM_[home basename] - : CCM_[home basename]Explicit, - CCM_[home basename]Implicit - { - }; - -##end foreach [home basename] - -##if there are module definitions, preserve them all -}; -##endif - -#endif /* [component_idl]E_IDL */ diff --git a/CIAO/docs/templates/cidl_template.cidl b/CIAO/docs/templates/cidl_template.cidl deleted file mode 100644 index 3d359708f32..00000000000 --- a/CIAO/docs/templates/cidl_template.cidl +++ /dev/null @@ -1,31 +0,0 @@ -// $Id$ -*- C++ -*- - -/** - * @file cidl_template.cidl - * - * This file show an example cidl file. - */ - -// @@ We do not support import (yet). -//import [component module]; - -// [idl-basename] contains the IDL3 definitions for component(s) and -// home(s) and the interfaces that they need. - -#include "[idl-basename].idl" - -// We only support a simple session implementation definition, for -// now. @@ What is the relation of various names here and the -// generated names we used in the glue code? -composition session [composition name] -{ - home executor [home executor name] - { - implement [home name]; - manages [component executor name]; - }; -}; - - -// @@ We should also generate somet sort of implementaion template for -// users. E.g., a set of [idl-basename]_impl.* and the MPC files(?). diff --git a/CIAO/docs/tutorials/CoSMIC/01.html b/CIAO/docs/tutorials/CoSMIC/01.html deleted file mode 100644 index 73db63f7236..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/01.html +++ /dev/null @@ -1,185 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - - - <meta name="generator" content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" /> -<!-- $Id$ --> - - - - <title>Getting Started</title> -</head> - - - -<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link="#000fff" vlink="#ff0f0f"> - - -<h3>Getting Started<br /> -</h3> -<b>Writing IDL files</b><br /> - - <br /> - - We will start from writing the idl file for each component.<br /> - - - -<ol> - - <li>Create a directory named <code><span style="font-style: italic;">MyQuoter</span></code><span style="font-style: italic;">.</span></li> - - - <li>In <code style="font-style: italic;">MyQuoter</code> - directory, create one directory <span style="font-style: italic;">Stock_Base</span> for the base idl and - two more directories <span style="font-style: italic;">Broker</span>, <span style="font-style: italic;">Distributor</span> for each component. In - <code style="font-style: italic;">MyQuoter/Stock_Base</code>, - place an idl file <code style="font-style: italic;">Stock_Base.idl</code> that you could copy - from <a href="../Quoter/Simple/Stock_Base/Stock_Base.idl">here</a>. This - file defines the interfaces and events that will be used by - both Stock Distributor and Stock Broker.</li> - - - <li style="list-style-type: none; list-style-image: none; list-style-position: outside;">We put together the common - interface definitions so the base library can be shared by both - components, reducing the size of "real" components.<br /> - </li> - - - <li>In <code style="font-style: italic;">MyQuoter/Distributor</code>, place an idl - file <code style="font-style: italic;">Distributor.idl</code> - that looks like <a href="../Quoter/Simple/Distributor/Distributor.idl">this</a>. This - file defines the StockDistributor component - interfaces.<br /> - </li> - - - <li>In <code style="font-style: italic;">MyQuoter/Broker</code> - place an idl file <code><span style="font-style: italic;">Broker.id</span>l</code> that looks like - <a href="../Quoter/Simple/Broker/Broker.idl">this</a>. This - file defines the StockBroker component interface.<br /> - </li> - - -</ol> -<br /> - - <b>Importing IDL to PICML</b><br /> - - <br /> - - To quick start our Stock Quoter modeling process in - GME, CoSMIC introduces <em>idl_to_picml</em> , which is an - executable program that imports the IDL files you just created - into PICML.<br /> - - - -<ol> - - <li>Make sure <code>%COSMIC_ROOT%\bin</code> is included in the - PATH variable, e.g., c:\Program - Files\ISIS\CoSMIC\bin.<br /> - </li> - - - <li>Open a command prompt, run VCVARS32.BAT from the MSVC .NET - folder if you haven't done so. It will set the environment for - using Microsoft Visual Studio .NET tools so that <span style="font-style: italic;">idl_to_picml</span> works properly.<br /> - - in my machine, VCVARS32.bat is in C:\Program Files\Microsoft - Visual Studio .NET 2003\Vc7\bin<br /> - </li> - - - <li>In the same command prompt, change directory to - <code>MyQuoter\</code>, and type the following command:<br /> - - > <kbd>idl_to_picml -x MyQuoter -r . -I - .\Stock_Base</kbd><br /> - - (if the above command does not work, you may also - try this<br /> - - ><kbd>idl_to_picml -x MyQuoter -r . -I .\Stock_Base -I - %TAO_ROOT% -I %TAO_ROOT%\orbsvcs -I - %CIAO_ROOT%\ciao)</kbd><br /> - - <em>idl_to_picml</em> will parse your IDL files and - generated a <code>MyQuoter.xme</code> file in the - <code>MyQuoter</code> directory. Note that if -x option is not - used, the default xme file name will be - <code>PICML_default_xme_file.xme.</code><br /> - - 4. Start GME, select <strong>File->Import xml..</strong>, - and choose the xme file just generated. You should be able to - see an imported PICML model similar to the one shown in Figure - 2.<br /> - </li> - - -</ol> -<br /> - - - -<div style="text-align: center;"> - <img alt="" src="Images/fig2.jpg" style="width: 781px; height: 635px;" /><br /> - - <br /> - - Figure 2<br /> - - </div> - - - -<p> In the Browser of the generated model, the - <em>PredefinedTypes</em> folder contains a bunch of atomic - datatype elements that will be referenced by other modeling parts - later. You don't have to worry about them for now. The models in - <em>InterfaceDefinitions</em> folder are the PICML - representations ofthe IDL files you just imported. Double-click - to open <em>Broker</em>, it will show you a white, document-like - entity which represents a <<FileRef>> instance and a - yellow box-shaped entity representing a <<Package>> - instance. Their equivalent representations in IDL files are - "#include" and "module" respectively. Figure 3 gives you a clear - view of GME representation of all the 3 idl files created. We - will cover the other folders in the next section.</p> - - - -<div style="text-align: center;"> - <img alt="" src="Images/fig3.jpg" style="width: 223px; height: 336px;" /><br /> - - <br /> - - Figure 3<br /> - - <br /> - - </div> -Now we are ready to model the rest of the Stock Quoter - systems.<br /> - - <br /> - - <br /> - - <br /> - - -<hr /> - - -<address> - <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /> -</a> - </address> -<!-- Created: Sat Nov 27 15:25:06 CST 1999 --> - <!-- hhmts start --> - Last modified:<!-- hhmts end --> -</body> -</html> diff --git a/CIAO/docs/tutorials/CoSMIC/02.html b/CIAO/docs/tutorials/CoSMIC/02.html deleted file mode 100644 index 8f4e7decc11..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/02.html +++ /dev/null @@ -1,554 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - - <meta name="generator" content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" /> - <title>Building a Stock Quoter with TAO - A Tutorial</title> - - -<!-- $Id$ --> - <link rel="stylesheet" type="text/css" href="style.css" /> - -</head> - - - -<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link="#000fff" vlink="#ff0f0f"> - -<h3>Building Stock Quoter system in PICML</h3> - -<br /> - -<p>This section describes modeling the Quoter application using -PICML. If you have trouble producing a functioning model from this -tutorial, please see the, <a href="Model/Quoter.xme">pre-built -Quoter model</a> which is provided for your reference. This model -contains all elements created as part of this tutorial.</p> - -<div class="important"> <strong>Note:</strong> -To import an XML file in GME, select <em>File->Import -XML..</em> from GME and choose your XML model<br /> - -</div> - -<p>The PICML paradigm is designed for the <a href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-08">OMG -Deployment & Configuration (D&C) specification -(ptc/2003-07-08)</a>, so the modeling process is straightforward -if you are familiar with the specification. Please see the <a href="../../releasenotes/dance.html">DAnCE -project</a> for more information. For those who hate specification (including me, :-)), an <a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/DAnCE.pdf">overview of D&C</a> and as well as a <a href="http://www.cs.wustl.edu/%7Eschmidt/OMG-CCM-Tutorial.ppt">tutorial of D&C and CCM</a> can help to reduce the learning curve. -(Thanks to Sowayan, Abdulah for pointing this out). -In addition, it is also helpful to read through Chapter 32 of TAO's -Developer's Guide 1.4a (CIAO and CCM) which thoroughly describes the -various descriptors required for a component (*.iad, *.ccd, *.cid, -etc). </p> -<h3>Table of Contents</h3> - -<ul> - - <li><a href="#1">ImplementationArtifacts</a></li> - - <li><a href="#2">ComponentImplementations</a></li> - - <li><a href="#3">ComponentPackages</a></li> - - <li><a href="#4">PackageConfiguration</a></li> - - <li><a href="#5">TopLevelPackage</a></li> - - <li><a href="#6">Targets</a></li> - - <li><a href="#7">DeploymentPlan</a></li> - -</ul> - -<hr /> -<p>The complete PICML Quoter model consists of modeling elements -distributed across various folders. If you used <em>idl_to_picml</em> -to generate the initial model, you will see that it has created all -these folders and some of the tedious boilerplate modeling for us. The -rest of the section will explain the purpose of each folder as well as -the modeling entities contained in these folders. We will also show how -to model some of the folders that have to be done by hand.</p> - -<div class="important"> <strong>Important:</strong> -The interpreters that generate deployment artifacts expect very strict -constraints in the model. When you finish your model, and any time you -wish to generate anything, it is a good idea to check constraints by -clicking on <em>File->Check->Check All</em> -in GME. This will help you find many logic errors in your model. </div> - -<h3><a name="1">ImplementationArtifacts</a></h3> - -<p>This folder contains implementation artifacts associated with -components. <em>idl_to_picml</em> has created these -artifacts for us, with their dependency relationships correctly -captured. Figure 4 shows the Implementation Artifacts for <em>Broker</em>.</p> - -<div style="text-align: center;"> <img alt="" src="Images/fig4.jpg" style="border: 1px solid ; width: 891px; height: 552px;" /><a name="1"><br /> - -Figure 4.<br /> - -</a><br /> - -</div> - -<a name="1"></a> -<hr /> -<h3><a name="2">ComponentImplementation</a></h3> - -<p>This folder contains models that describe the implementations -of component interfaces. In the Quoter example, we will have two -monolithic component implementations - named <em>StockDistributorImplementation</em> -and <em>StockBrokerImplementation</em> - and an assembly -component implementation named <em>StockQuoter</em>, which -is an assembly of <em>StockDistributorImplementation</em> -and <em>StockBrokerImplementaion</em>. <em>idl_to_picml</em> -has created the monolithic component implementations for us, as shown -in figure 5 for example, but we have to specify the connections between -them in order to construct a Quoter system.</p> - -<div style="text-align: center;"> <img alt="" src="Images/fig5.jpg" style="border: 1px solid ; width: 922px; height: 639px;" /><br /> - -Figure 5<br /> - -</div> - -<p>Assembly components provide a boundary for the composition of -monolithic components and even other assemblies. Assembly components do -not provide actual implementations for their interface, it is a virtual -component that delegates its ports and attributes to one or more of the -entities it contains. There are slight differences between modeling an -assembly and modeling a monolithic component. Since the assembly is a -virtual component, it is not necessary to model a <code>MonolithicImplementation</code>. -Instead, <em>instances</em> of other components are placed -within the assembly and connected. Let's try to assemble the <em>StockQuoter</em>.</p> - -<ol> - - <li>Right click the <em>ComponentImplementations</em> -folder, choose <strong>Insert -Model->ComponentImplementationContainer</strong>, rename -it as "StockQuoterImplementation" in the Attribute Panel. Double click -to open it.</li> - - <li>From the Part Browser, drag a -<<ComponentAssembly>> to the modeling -window, name it "StockQuoter". Double click to open it.</li> - - <li>Now we will create two instances for interfaces <em>StockBroker</em> -and <em>StockDistributor</em>. To do that, expand the -folder <code><em>InterfaceDefinitions</em></code>, -then expand the <code><em>InterfaceDefinitions/</em></code> - <em>Broker</em>, then <code><em>InterfaceDefinitions/</em></code> - <em>Broker/ Stock</em> until the interface definition -of <em>StockBroker</em> shows. While expanding the tree, -always keep the "StockQuoter" -<<ComponentAssembly>> window open. Then -drag <code>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</code> -in the browser to the "StockQuoter" -<<ComponentAssembly>> window while pressing -ALT key. Repeat the same steps for <code>MyQuoter/InterfaceDefinitions/Distributor/Stock/StockDistributor</code>, -and you will see two instances of component interfaces have been -created as shown in Figure 6 (the black line in the figure only -indicates .mapping)<br /> - - </li> - -</ol> - -<br /> - -<div style="text-align: center;"> <img alt="" src="Images/fig6.jpg" style="width: 972px; height: 714px;" /><br /> - -<br /> - -Figure 6<br /> - -</div> - -<ol> - - <li value="4">Create an -<<PublishConnector>>.<br /> - - </li> - - <li>Now assemble the components together according to <a href="Images/fig1.jpg">Figure 1</a>(make sure you -change to connect mode <img alt="" src="Icons/AddConnMode.gif" style="width: 20px; height: 17px;" /> -) and the resulting assembly model should look like Figure 7. Note that -to create connections between StockDistributor.notify_out and -StockBroker.notify_in, you will need the intermediate connector -<<PublishConnector>>.<br /> - - </li> - -</ol> - -<img alt="" src="Images/fig7.jpg" style="width: 724px; height: 402px;" /><br /> - -<br /> - -Figure 7<br /> - -<hr /> <a name="3"></a> -<h3>ComponentPackage<br /> - -</h3> - -This folder contains deployable component packages. Every instance in -an assembly should have a corresponding monolithic implementation and -packaged in a ComponentPackagebe To create a package for <em>StockBroker</em>.instance<br /> - -<ol> - - <li>Right click folder <em>ComponentPackage</em>s -, insert a <<PackageContainer>>, name it -"Broker"; Double click to open it.<br /> - - </li> - - <li>From the PartBrowser, add the following:<br /> - - <ul> - - <li>a <<ComponentPackage>> -named "Broker";</li> - - <li>a -<<ComponentImplementationReference>> named -"Broker";</li> - - <li>a <<ComponentRef>> named -"Broker";</li> - - </ul> - - </li> - - <li>Refer the -<<ComponentImplementationReference>> <em>Broker</em> -to <code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl. -Refer the <<ComponentRef>> <em>Broker</em> -to <code>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</code>. -To create a reference in GME, simply drag the tree node in the Browser -"into" the reference model. For example, you should drag the tree node <code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl -into <<ComponentImplementationReference>> <em>Broker.</em> -Check GME manual(tutorials) for more information.</li> - - <li>Switch to Connect Mode and create two connections according -to the following relationship.<br /> - - <ul> - - <li><<ComponentImplementationReference>> - <em>Broker</em> implements -<<ComponentPackage>> <em>Broker</em>;</li> - - <li><<ComponentPackage>> <em>Broker</em> -realizes <<ComponentRef>> <em>Broker</em>.</li> - - </ul> - - <br /> - - <br /> - - The model you built should -resemble Figure 8.<br /> - - <br /> - - <div style="text-align: center;"> <img alt="" src="Images/fig8.jpg" style="width: 675px; height: 497px;" /><br /> - - <br /> - -Figure 8<br /> - - <br /> - - </div> - -Now create a ComponentPackage/StockDistributor following the same -steps. </li> - - <li style="list-style-type: none; list-style-image: none; list-style-position: outside;"> - <br /> - -We will also need to create a package for the assembly component -StockQuoter. Remember assembly component is a virtual component, it -does not "realize" a certain interface, so different from the Broker -and Distributor packages, the StockQuoter does not need a -<<ComponentRef>>. To create this model: - <ol> - - <li>Insert a -<<ComponentPackage>> named "StockQuoter"<br /> - - </li> - - <li>Add a -<<ComponentImplementationReference>> named -"StockQuoter", refer it to MyQuoter<code>/ComponentImplementations/StockQuoter/StockQuoter</code></li> - - <li>Switch to connect mode and connect -<<ComponentImplementationReference>> -StockQuoter with <<ComponentPackage>> -StockQuoter, as in Figure 9.<br /> - - </li> - - </ol> - - </li> - -</ol> - -<div style="text-align: center;"> <img alt="" src="Images/fig9.jpg" style="width: 549px; height: 354px;" /><br /> - -<br /> - -Figure 9<br /> - -<br /> - -</div> - -<hr /> <a name="4"></a> -<h3>PackageConfiguration<br /> - -</h3> - -This folder contains just one model capturing specific configuration of -Component packages.<br /> - -<ol> - - <li>In the folder <em>PackageConfiguratio</em>n, -and create a -<<PackageConfigurationContainer>>, name it -"Default", click to open it.<br /> - - </li> - - <li>Add a <<PackageConfiguration>> -named "default" and a -<<ComponentPackageReference>>, name it -"StockQuoter", connect "Default" to "StockQuoter"<br /> - - </li> - - <li>Refer -<<ComponentPackageReference>> StockQuoter -to <<ComponentPackage>> <code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter<br /> - -(Not <<ComponentImplementationReference>></code> - <code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter!) </code></li> - -</ol> - -<br /> - -<hr /> <a name="5"></a> -<h3>ToplevelPackage<br /> - -</h3> - -This folder contains one model capturing information about the -top-level element that will be fed to the application.<br /> - -<ol> - - <li>In the folder <em>ToplevelPackage</em>, and -create a <<ToplevelPackageContainer>>, name -it "Default", double click to open it.<br /> - - </li> - - <li>Add a <<ToplevelPackage>> named -"ToplevelPackage" and a -<<PackageConfigurationReference>>, name it -"Default", connect "ToplevelPackage" to "Default"<br /> - - </li> - - <li>Refer "Default" to My<code>Quoter/PackageConfiguration/Default/Default</code><br /> - - </li> - -</ol> - -<br /> - -<hr /> <a name="6"></a> -<h3>Targets<br /> - -</h3> - -This folder contains domain-specific models capturing information about -the target environment in which component-based application will be -deployed. In this Quoter example, we can either deploy the two -components into ONE host, or into TWO different host. We will deploy -the Quoter into two different host.<br /> - -<ol> - - <li>In the folder <span style="font-style: italic;">Targets</span>, -insert a new <<Domain>> named "Domain"; -double click to open it.<br /> - - </li> - - <li>From the Part Browser, add two -<<Node>> named "Broker" and "Distributor" -respectively.<br /> - - </li> - -</ol> - -<br /> - -Now we are ready to deploy our Components to the actual physical -environment.<br /> - -<hr /> <a name="7"></a> -<h3>DeploymentPlan<br /> - -</h3> - -This folder contains a plan model that captures information about the -assignment of component to nodes.<br /> - -<ol> - - <li>In the folder <em>DeploymentPlan</em>, insert -a model <<DeploymentPlan>>; name it "Plan", -click to open it<br /> - - </li> - - <li>From the PartBrowser, add the following:<br /> - - <ul> - - <li>Two <<CollocationGroup>></li> - - <li>Two <<NodeReference>> named -"Node_Broker" and "Node_Distributor" respectively, refering to <code>MyQuoter/Targets/Domain/Broker</code> -and <code>MyQuoter/Targets/Domain/Distributor</code> -respectively</li> - - <li>Two <<ComponentRef>> named -"StockBroker" and "StockDistributor" respectively, refering to <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</code> -and <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</code> -respectively. Note that the -<<ComponentRef>> in DeploymentPlan is not -referring to the interface, but rather the actual instance of the -implementation.</li> - - </ul> - - </li> - - <li>Switch to Connect Mode, connect one -<<CollocationGroup>> to -<<NodeReference>> <em>Node_Broker</em>, -connect another <<CollocationGroup>> to -<<NodeReference>> <em>Node_</em><em>Distributor</em>. -Now the model looks like the following.<br /> - - <br /> - - <div style="text-align: center;"> <img alt="" src="Images/fig10.jpg" style="width: 752px; height: 530px;" /><br /> - - <br /> - -Figure 10.<br /> - - <br /> - - </div> - - </li> - - <li>Now we need to associate -<<ComponentRef>> StockBroker to the -<<CollocationGroup>> running on the -<<NodeReference>> Broker, and -<<ComponentRef>> StockDistributor to the -<<CollocationGroup>> running on the -<<NodeReference>> Distributor. To do that, -switch the Edit Mode Bar to Set Mode (<img alt="" src="Icons/SetMode.gif" style="width: 20px; height: 17px;" />), -and move the cursor to the -<<CollocationGroup>> running on -<<NodeReference>> Distributor, right-click -on it. You will find the cursor is changed to set mode cursor, and only -the <<CollocationGroup>> you clicked in is -highlighted, as shown in Figure 11.<br /> - - <br /> - - </li> - -</ol> - -<div style="text-align: center;"> <img alt="" src="Images/fig11.jpg" style="width: 672px; height: 505px;" /><br /> - -<br /> - -Figure 11<br /> - -<br /> - -</div> - -<p>Now move your cursor to -<<ComponentRef>> -StockDistributor, and left-click it, so that it looks like Figure 12.<br /> - -</p> - -<div style="text-align: center;"> <img alt="" src="Images/fig12.jpg" style="width: 672px; height: 505px;" /><br /> - -<br /> - -Figure 12<br /> - -<br /> - -</div> - -<p>This operation associates <em>StockDistributor</em> -component to the <<CollocationGroup>> -running on <em>Distributor</em> node. To do the same with -Broker, just right-click on another -<<CollocationGroup>>, and left-click on -StockBroker <<CollocationGroup>> which is -highlighted.<br /> - -<br /> - -</p> - -<hr /> <a name="8"></a> -<p>Up to this point, we are basically done with the modeling -part. Before we generate anything from this model though, please <span style="font-weight: bold;">DO</span> remember to check -the constraints of the model as we mentioned earlier.</p> - -<p>After we are done with the modeling, the -flattened_deploymentplan interpreter that comes along with PICML will -help us to generate a flattened_deploymentplan.cdp file. Please make -sure you generate this file to MyQuoter/descriptors. Note that to get the example working<span style="font-family: monospace;">,</span>a Node Map file should be created to map logical<span style="font-family: monospace;"> </span>nodes to NodeManager object references,e.g:<br /> -</p> -<pre wrap="">DistributorNode corbaloc:iiop:localhost:30000/NodeManager<br />BrokerNode corbaloc:iiop:localhost:40000/NodeManager</pre> - -<address> <br /> - -<a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /> - -</a> </address> - -<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start --> -Last modified:<!-- hhmts end --> -</body> -</html> diff --git a/CIAO/docs/tutorials/CoSMIC/03.html b/CIAO/docs/tutorials/CoSMIC/03.html deleted file mode 100644 index c2da3726762..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/03.html +++ /dev/null @@ -1,79 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - - <title>Building a Stock Quoter with TAO - A Tutorial</title> - <!-- $Id$ --> -</head> - -<body style= -"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link= -"#000FFF" vlink="#FF0F0F"> - <h3>Implementing Quoter Components with DAnCE<br /></h3>We - discuss this section after the PICML modeling only because we - would like to focus our attention more on the modeling stage. It - does not indicate that the implementation of components has to be - subsequent to the work we've done under GME. They are totally - orthogonal to each other. In fact, they are so orthogonal - that we won't go into details as to how DAnCE programming should - be done. We'll briefly go through the functionality of each - component and provides the links to their implementations - respectively. For a hands on experience on DAnCE programming, - please refer to $CIAO_ROOT/examples/Hello.<br /> - <br /> - <big><big><small>Broker Component<br /> - </small></big></big> The Broker component - waits to be notified by the Distributor component about stock - changes. When a stock change event arrives, it will go back - to Distributor component and retrieve the information it interest - in and output them to the console. The users are allowed to - subscribe to the interested stock value through the interface - supported by Broker component. Here's the complete version of - <a href="../Quoter/Simple/Broker/Broker_exec.h">Broker_exec.h</a> - and <a href= - "../Quoter/Simple/Broker/Broker_exec.cpp">Broker_exec.cpp</a>.<br /> - - <br /> - <big><big><small>Distributor Component<br /> - </small></big></big> The Distributor component - monitors the real time stock database and publishes events - whenever it detects stock change. In our program, we use a - ACE_Task to simulate this real-life activity. The task - will run in a separate thread and periodically increment the - stock value by 1. In the same time the stock value is - incremented, an <span style= - "font-style: italic;">StockName</span> event along with the name - of the changed stock will be sent. Here's the complete version of - <a href= - "../Quoter/Simple/Distributor/Distributor_exec.h">Distributor_exec.h</a> - and <a href= - "../Quoter/Simple/Distributor/Distributor_exec.cpp">Distributor_exec.cpp</a><br /> - - <big><big><small><br /> - Broker client<br /> - </small></big></big> The Broker client program - is the driver program for client to control Broker component, - subscribe and unsubscribe to a specific stock. Here's the - complete version of <a href= - "../Quoter/Simple/Broker/Broker.cpp">Broker.cpp</a><br /> - <br /><big><big><small> - Distributor client</small></big></big><br /> - The Distributor - client program is the driver program for client to control - Distributor component, turn on and off the distribution service, - set up the frequency, etc. Here's the complete version of - <a href="../Quoter/Simple/Distributor/Distributor.cpp">Distributor.cpp</a> - <a name="2" /><br /> - <br /><br /> - - - <address> - <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /></a> - </address><!-- Created: Sat Nov 27 15:25:06 CST 1999 --> - <!-- hhmts start --> - <a href="mailto:ming.xiong@vanderbilt.edu">Last modified: - <!-- hhmts end --></a> -</body> -</html> diff --git a/CIAO/docs/tutorials/CoSMIC/04.html b/CIAO/docs/tutorials/CoSMIC/04.html deleted file mode 100644 index dce2fb1364c..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/04.html +++ /dev/null @@ -1,77 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta name="generator" content= - "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" /> - - <title>Building a Stock Quoter with TAO - A Tutorial</title> - <!-- $Id$ --> -</head> - -<body style= -"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link= -"#000FFF" vlink="#FF0F0F"> - <h3>Running the application<br /></h3>Now that we have all the - components and driver programs successfully built, along with the - flattened_deploymentplan generated by PICML, we will be able to - run our application<br /> - <br /> - From different command prompts in - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors/</code> - directory: - - <ul> - <li>Start NodeManagers (NodeDameon) by running - <code>runNodeDaemon.pl</code></li> - - <li>Start the execution manager - <code>%CIAO_ROOT%/DAnCE/ExecutionManager/Execution_Manager -o - ior -i Stock.dat</code> </li> - </ul> - - <p>The <code>Stock.dat</code> file describes the deployment - daemons CIAO's Execution_Manager will contact to instantiate - ComponentServer's, home's, and component instances. Each line - specify the name of a installation "destination" and the - corresponding IOR for the CIAO_Daemon.</p> - - <ul type="square"> - <li><em>NOTE</em>: As one can see, we use the "Stock.dat" file - to instruct the Execution_Manager how to find the endpoint of - each individual NodeManager (i.e., Node Daemon) where - component(s) will be deployed, so this is non-standard. We plan - to use Naming Service to do this in the future.</li> - </ul> - - <ul> - <li>Start the plan_launcher by running - <code>%CIAO_ROOT%/DAnCE/Plan_Launcher/Plan_Launcher -p - flattened_deploymentplan.cdp -k file://ior</code></li> - - <li>By now the components should be successfully deployed. You - may run the driver program to start the application. e.g. you - can try the following<br /></li> - </ul> - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe - -o</code><br /> - <br /> - - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe - -s MSFT</code><br /> - <br /> - - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe - -s IBM</code><br /> - <br /> - - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe - -u MSFT</code><br /> - <br /> - - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe - -f</code><br /> - <br /> -</body> -</html> diff --git a/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif b/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif Binary files differdeleted file mode 100644 index 3604d32946d..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif b/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif Binary files differdeleted file mode 100644 index 6dcad861f07..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg Binary files differdeleted file mode 100644 index a8550fe1176..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg Binary files differdeleted file mode 100644 index 3db5ac174e0..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg Binary files differdeleted file mode 100644 index c5eaf705384..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg Binary files differdeleted file mode 100644 index ea2a885af6b..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg Binary files differdeleted file mode 100644 index 49d6f90c3b0..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg Binary files differdeleted file mode 100644 index 0559dc7382b..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg Binary files differdeleted file mode 100644 index 8fb89eccb57..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg Binary files differdeleted file mode 100644 index e847b9290d6..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg Binary files differdeleted file mode 100644 index 0a214c84ea8..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg Binary files differdeleted file mode 100644 index 67d90b775b0..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg Binary files differdeleted file mode 100644 index a565c2ab989..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg b/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg Binary files differdeleted file mode 100644 index 996d90d800b..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg +++ /dev/null diff --git a/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme b/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme deleted file mode 100644 index 10f968f69ca..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme +++ /dev/null @@ -1,2003 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE project SYSTEM "mga.dtd"> - -<project guid="{693BB5A4-CC13-45F0-8470-8F189DE22CF8}" cdate="Thu Feb 02 21:46:10 2006" mdate="Thu Feb 02 21:46:10 2006" version="" metaguid="{3F14D74F-DE80-4071-8F14-550B6023233F}" metaversion="" metaname="PICML"> - <name>MyQuoter</name> - <comment></comment> - <author></author> - <folder id="id-006a-00000001" relid="0x1" childrelidcntr="0x2" kind="RootFolder"> - <name>MyQuoter</name> - <folder id="id-006a-00000002" relid="0x2" childrelidcntr="0x3" kind="InterfaceDefinitions"> - <name>InterfaceDefinitions</name> - <model id="id-0065-00000001" kind="File" relid="0x1" childrelidcntr="0x1"> - <name>Stock_Base</name> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000002" kind="Package" role="Package" relid="0x1" childrelidcntr="0x5"> - <name>Stock</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>293,153</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000003" kind="Exception" role="Exception" relid="0x1" childrelidcntr="0x0"> - <name>Invalid_Stock</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>151,84</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </model> - <model id="id-0065-00000004" kind="Aggregate" role="Aggregate" relid="0x3" childrelidcntr="0x4"> - <name>StockInfo</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>517,316</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000018" kind="Member" role="Member" relid="0x1" referred="id-0066-00000003"> - <name>name</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>188,108</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000019" kind="Member" role="Member" relid="0x2" referred="id-0066-00000007"> - <name>high</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>408,248</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000001a" kind="Member" role="Member" relid="0x3" referred="id-0066-00000007"> - <name>low</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>628,388</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000001b" kind="Member" role="Member" relid="0x4" referred="id-0066-00000007"> - <name>last</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>848,528</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-00000005" kind="Object" role="Object" relid="0x4" childrelidcntr="0x1"> - <name>StockQuoter</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,432</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="abstract" status="meta"> - <value>false</value> - </attribute> - <attribute kind="local" status="meta"> - <value>false</value> - </attribute> - <model id="id-0065-00000006" kind="TwowayOperation" role="TwowayOperation" relid="0x1" childrelidcntr="0x3"> - <name>get_stock_info</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000001" kind="ReturnType" role="ReturnType" relid="0x1" referred="id-0065-00000004"> - <name>ReturnType</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>243,143</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000002" kind="ExceptionRef" role="ExceptionRef" relid="0x4" referred="id-0065-00000003"> - <name>ExceptionRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>1068,668</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000001c" kind="InParameter" role="InParameter" relid="0x3" referred="id-0066-00000003"> - <name>stock_name</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>793,493</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - </model> - <model id="id-0065-00000007" kind="Event" role="Event" relid="0x5" childrelidcntr="0x1"> - <name>StockName</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>883,548</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="abstract" status="meta"> - <value>false</value> - </attribute> - <reference id="id-0067-0000001d" kind="Member" role="Member" relid="0x1" referred="id-0066-00000003"> - <name>name</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <reference id="id-0067-00000017" kind="Collection" role="Collection" relid="0x2" referred="id-0066-0000000b"> - <name>ImageBlob</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,200</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </reference> - </model> - </model> - <model id="id-0065-00000008" kind="File" relid="0x2" childrelidcntr="0x2"> - <name>Broker</name> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000009" kind="Package" role="Package" relid="0x2" childrelidcntr="0x4"> - <name>Stock</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>314,216</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-0000000a" kind="Object" role="Object" relid="0x1" childrelidcntr="0x2"> - <name>StockSubscriber</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>243,143</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="abstract" status="meta"> - <value>false</value> - </attribute> - <attribute kind="local" status="meta"> - <value>false</value> - </attribute> - <model id="id-0065-0000000b" kind="TwowayOperation" role="TwowayOperation" relid="0x1" childrelidcntr="0x2"> - <name>stock_subscribe</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,201</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000004" kind="ExceptionRef" role="ExceptionRef" relid="0x2" referred="id-0065-00000003"> - <name>ExceptionRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,434</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000001e" kind="InParameter" role="InParameter" relid="0x1" referred="id-0066-00000003"> - <name>stock_name</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,201</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-0000000c" kind="TwowayOperation" role="TwowayOperation" relid="0x2" childrelidcntr="0x2"> - <name>stock_unsubscribe</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,434</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000005" kind="ExceptionRef" role="ExceptionRef" relid="0x2" referred="id-0065-00000003"> - <name>ExceptionRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,434</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000001f" kind="InParameter" role="InParameter" relid="0x1" referred="id-0066-00000003"> - <name>stock_name</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,201</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - </model> - <model id="id-0065-0000000d" kind="Component" role="Component" relid="0x2" childrelidcntr="0x3"> - <name>StockBroker</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>426,242</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="UUID"> - <value>58E736A4-F9F5-44CF-AA0F-83A280F907A6</value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000006" kind="Supports" role="Supports" relid="0x1" referred="id-0065-0000000a"> - <name>Supports</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>55,160</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000007" kind="RequiredRequestPort" role="RequiredRequestPort" relid="0x2" referred="id-0065-00000005"> - <name>read_quoter</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>69,307</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="multiple_connections"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-00000008" kind="InEventPort" role="InEventPort" relid="0x3" referred="id-0065-00000007"> - <name>notify_in</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>83,433</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - </model> - <model id="id-0065-0000000e" kind="ComponentFactory" role="ComponentFactory" relid="0x3" childrelidcntr="0x0"> - <name>StockBrokerHome</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>793,493</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </model> - <connection id="id-0068-00000001" kind="ManagesComponent" role="ManagesComponent" relid="0x4"> - <name>ManagesComponent</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ws</value> - </regnode> - <connpoint role="dst" target="id-0065-0000000d"/> - <connpoint role="src" target="id-0065-0000000e"/> - </connection> - </model> - <reference id="id-0067-00000003" kind="FileRef" role="FileRef" relid="0x1" referred="id-0065-00000001"> - <name>FileRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>174,181</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-0000000f" kind="File" relid="0x3" childrelidcntr="0x2"> - <name>Distributor</name> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000010" kind="Package" role="Package" relid="0x2" childrelidcntr="0x4"> - <name>Stock</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,434</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000011" kind="Object" role="Object" relid="0x1" childrelidcntr="0x2"> - <name>Trigger</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>243,143</value> - </regnode> - </regnode> - </regnode> - <attribute kind="PrefixTag" status="meta"> - <value></value> - </attribute> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="abstract" status="meta"> - <value>false</value> - </attribute> - <attribute kind="local" status="meta"> - <value>false</value> - </attribute> - <model id="id-0065-00000012" kind="TwowayOperation" role="TwowayOperation" relid="0x1" childrelidcntr="0x0"> - <name>start</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,201</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </model> - <model id="id-0065-00000013" kind="TwowayOperation" role="TwowayOperation" relid="0x2" childrelidcntr="0x0"> - <name>stop</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,434</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </model> - </model> - <model id="id-0065-00000014" kind="Component" role="Component" relid="0x2" childrelidcntr="0x4"> - <name>StockDistributor</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="UUID"> - <value>B124B4A8-F51C-4F63-9A08-35256C9A9259</value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000015" kind="Attribute" role="Attribute" relid="0x4" childrelidcntr="0x1"> - <name>rate</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>848,528</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000020" kind="AttributeMember" role="AttributeMember" relid="0x1" referred="id-0066-00000007"> - <name>AttributeMember</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <reference id="id-0067-0000000a" kind="Supports" role="Supports" relid="0x1" referred="id-0065-00000011"> - <name>Supports</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>188,108</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000000b" kind="ProvidedRequestPort" role="ProvidedRequestPort" relid="0x2" referred="id-0065-00000005"> - <name>push_quoter</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>608,216</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-0000000c" kind="OutEventPort" role="OutEventPort" relid="0x3" referred="id-0065-00000007"> - <name>notify_out</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>628,388</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - <attribute kind="out_event_port_type" status="meta"> - <value>DirectConnect</value> - </attribute> - <attribute kind="single_destination"> - <value>false</value> - </attribute> - </reference> - </model> - <model id="id-0065-00000016" kind="ComponentFactory" role="ComponentFactory" relid="0x3" childrelidcntr="0x0"> - <name>StockDistributorHome</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>793,493</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - </model> - <connection id="id-0068-00000002" kind="ManagesComponent" role="ManagesComponent" relid="0x4"> - <name>ManagesComponent</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ws</value> - </regnode> - <connpoint role="dst" target="id-0065-00000014"/> - <connpoint role="src" target="id-0065-00000016"/> - </connection> - </model> - <reference id="id-0067-00000009" kind="FileRef" role="FileRef" relid="0x1" referred="id-0065-00000001"> - <name>FileRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="InterfaceDefinition" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,201</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - </folder> - <folder id="id-006a-00000003" relid="0x1" childrelidcntr="0xb" kind="PredefinedTypes"> - <name>PredefinedTypes</name> - <atom id="id-0066-00000001" kind="TypeKind" relid="0xb"> - <name>TypeKind</name> - </atom> - <atom id="id-0066-00000002" kind="TypeEncoding" relid="0xa"> - <name>TypeEncoding</name> - </atom> - <atom id="id-0066-00000003" kind="String" relid="0x9"> - <name>String</name> - </atom> - <atom id="id-0066-00000004" kind="Boolean" relid="0x8"> - <name>Boolean</name> - </atom> - <atom id="id-0066-00000005" kind="ShortInteger" relid="0x7"> - <name>ShortInteger</name> - </atom> - <atom id="id-0066-00000006" kind="RealNumber" relid="0x6"> - <name>RealNumber</name> - </atom> - <atom id="id-0066-00000007" kind="LongInteger" relid="0x5"> - <name>LongInteger</name> - </atom> - <atom id="id-0066-00000008" kind="GenericValueObject" relid="0x4"> - <name>GenericValueObject</name> - </atom> - <atom id="id-0066-00000009" kind="GenericValue" relid="0x3"> - <name>GenericValue</name> - </atom> - <atom id="id-0066-0000000a" kind="GenericObject" relid="0x2"> - <name>GenericObject</name> - </atom> - <atom id="id-0066-0000000b" kind="Byte" relid="0x1"> - <name>Byte</name> - </atom> - </folder> - <folder id="id-006a-00000004" relid="0x3" childrelidcntr="0x1" kind="ComponentImplementations"> - <name>ComponentImplementations</name> - <model id="id-0065-00000017" kind="ComponentImplementationContainer" relid="0x1" childrelidcntr="0xb"> - <name>StockBrokerImplementation</name> - <model id="id-0065-00000018" kind="Property" role="Property" relid="0x2" childrelidcntr="0x2"> - <name>ComponentIOR</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>282,168</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>StockBroker.ior</value> - </attribute> - <reference id="id-0067-0000000d" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <atom id="id-0066-0000000c" kind="MonolithicImplementation" role="MonolithicImplementation" relid="0x1"> - <name>StockBrokerMonolithicImpl</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>125,68</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-0000000e" kind="ComponentRef" role="ComponentRef" relid="0x9" referred="id-0065-0000000d"> - <name>StockBrokerRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>783,557</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000021" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x3" referred="id-0066-0000000e"> - <name>StockBroker_stubRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>461,265</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000022" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x4" referred="id-0066-0000000f"> - <name>StockBroker_svntRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>566,363</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000023" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x5" referred="id-0066-00000010"> - <name>StockBroker_execRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>741,468</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-00000003" kind="ConfigProperty" role="ConfigProperty" relid="0xa"> - <name>ConfigProperty</name> - <connpoint role="dst" target="id-0065-00000018"/> - <connpoint role="src" target="id-0066-0000000c"/> - </connection> - <connection id="id-0068-00000004" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x6"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000c"/> - <connpoint role="dst" target="id-0067-00000021"/> - </connection> - <connection id="id-0068-00000005" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x7"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000c"/> - <connpoint role="dst" target="id-0067-00000022"/> - </connection> - <connection id="id-0068-00000006" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x8"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000c"/> - <connpoint role="dst" target="id-0067-00000023"/> - </connection> - <connection id="id-0068-00000007" kind="Implements" role="Implements" relid="0xb"> - <name>Implements</name> - <connpoint role="src" target="id-0066-0000000c"/> - <connpoint role="dst" target="id-0067-0000000e"/> - </connection> - </model> - <model id="id-0065-00000019" kind="ComponentImplementationContainer" relid="0x2" childrelidcntr="0xb"> - <name>StockDistributorImplementation</name> - <model id="id-0065-0000001a" kind="Property" role="Property" relid="0x2" childrelidcntr="0x2"> - <name>ComponentIOR</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>282,168</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>StockDistributor.ior</value> - </attribute> - <reference id="id-0067-0000000f" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <atom id="id-0066-0000000d" kind="MonolithicImplementation" role="MonolithicImplementation" relid="0x1"> - <name>StockDistributorMonolithicImpl</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>125,68</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-00000010" kind="ComponentRef" role="ComponentRef" relid="0x9" referred="id-0065-00000014"> - <name>StockDistributorRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>910,568</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000024" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x3" referred="id-0066-00000011"> - <name>StockDistributor_stubRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>439,268</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000025" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x4" referred="id-0066-00000012"> - <name>StockDistributor_svntRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>596,368</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000026" kind="ImplementationArtifactReference" role="ImplementationArtifactReference" relid="0x5" referred="id-0066-00000013"> - <name>StockDistributor_execRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>753,468</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-00000008" kind="ConfigProperty" role="ConfigProperty" relid="0xa"> - <name>ConfigProperty</name> - <connpoint role="dst" target="id-0065-0000001a"/> - <connpoint role="src" target="id-0066-0000000d"/> - </connection> - <connection id="id-0068-00000009" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x6"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000d"/> - <connpoint role="dst" target="id-0067-00000024"/> - </connection> - <connection id="id-0068-0000000a" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x7"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000d"/> - <connpoint role="dst" target="id-0067-00000025"/> - </connection> - <connection id="id-0068-0000000b" kind="MonolithprimaryArtifact" role="MonolithprimaryArtifact" relid="0x8"> - <name>MonolithprimaryArtifact</name> - <connpoint role="src" target="id-0066-0000000d"/> - <connpoint role="dst" target="id-0067-00000026"/> - </connection> - <connection id="id-0068-0000000c" kind="Implements" role="Implements" relid="0xb"> - <name>Implements</name> - <connpoint role="src" target="id-0066-0000000d"/> - <connpoint role="dst" target="id-0067-00000010"/> - </connection> - </model> - <model id="id-0065-00000023" kind="ComponentImplementationContainer" relid="0x1" childrelidcntr="0x1"> - <name>StockQuoterImplementation</name> - <model id="id-0065-00000024" kind="ComponentAssembly" role="ComponentAssembly" relid="0x1" childrelidcntr="0x6"> - <name>StockQuoter</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>307,221</value> - </regnode> - </regnode> - <regnode name="QoSModelAspect" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>331,198</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID"> - <value>EBE916A6-E4E5-469C-A8EE-EDDFCA4B9CE3</value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000025" kind="Component" role="Component" derivedfrom="id-0065-0000000d" isinstance="yes" isprimary="yes" relid="0x1" childrelidcntr="0x0"> - <name>StockBroker</name> - <regnode name="PartRegs"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>447,116</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="UUID"> - <value>94A1586C-2E9A-4FFD-8D75-7FC5A54F6B71</value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000027" kind="InEventPort" role="InEventPort" derivedfrom="id-0067-00000008" isinstance="yes" isprimary="no" referred="id-0065-00000007" isbound="yes"> - <name>notify_in</name> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-00000028" kind="RequiredRequestPort" role="RequiredRequestPort" derivedfrom="id-0067-00000007" isinstance="yes" isprimary="no" referred="id-0065-00000005" isbound="yes"> - <name>read_quoter</name> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="multiple_connections" status="inherited"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-00000029" kind="Supports" role="Supports" derivedfrom="id-0067-00000006" isinstance="yes" isprimary="no" referred="id-0065-0000000a" isbound="yes"> - <name>Supports</name> - </reference> - </model> - <model id="id-0065-00000026" kind="Component" role="Component" derivedfrom="id-0065-00000014" isinstance="yes" isprimary="yes" relid="0x2" childrelidcntr="0x0"> - <name>StockDistributor</name> - <regnode name="PartRegs"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>83,123</value> - </regnode> - </regnode> - </regnode> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="UUID"> - <value>2DBE2452-FDE3-4399-9210-509CAC49139A</value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <model id="id-0065-00000027" kind="Attribute" role="Attribute" derivedfrom="id-0065-00000015" isinstance="yes" isprimary="no" childrelidcntr="0x0"> - <name>rate</name> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-0000002a" kind="AttributeMember" role="AttributeMember" derivedfrom="id-0067-00000020" isinstance="yes" isprimary="no" referred="id-0066-00000007" isbound="yes"> - <name>AttributeMember</name> - </reference> - </model> - <reference id="id-0067-0000002b" kind="OutEventPort" role="OutEventPort" derivedfrom="id-0067-0000000c" isinstance="yes" isprimary="no" referred="id-0065-00000007" isbound="yes"> - <name>notify_out</name> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - <attribute kind="out_event_port_type" status="meta"> - <value>DirectConnect</value> - </attribute> - <attribute kind="single_destination" status="inherited"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-0000002c" kind="ProvidedRequestPort" role="ProvidedRequestPort" derivedfrom="id-0067-0000000b" isinstance="yes" isprimary="no" referred="id-0065-00000005" isbound="yes"> - <name>push_quoter</name> - <attribute kind="SpecifyIdTag" status="meta"> - <value></value> - </attribute> - <attribute kind="VersionTag" status="meta"> - <value></value> - </attribute> - <attribute kind="exclusiveProvider" status="meta"> - <value>false</value> - </attribute> - <attribute kind="exclusiveUser" status="meta"> - <value>false</value> - </attribute> - <attribute kind="optional" status="meta"> - <value>false</value> - </attribute> - </reference> - <reference id="id-0067-0000002d" kind="Supports" role="Supports" derivedfrom="id-0067-0000000a" isinstance="yes" isprimary="no" referred="id-0065-00000011" isbound="yes"> - <name>Supports</name> - </reference> - </model> - <atom id="id-0066-00000014" kind="PublishConnector" role="PublishConnector" relid="0x3"> - <name>PublishConnector</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>329,154</value> - </regnode> - </regnode> - </regnode> - </atom> - <connection id="id-0068-00000017" kind="invoke" role="invoke" relid="0x4"> - <name>invoke</name> - <connpoint role="src" target="id-0067-00000028"/> - <connpoint role="dst" target="id-0067-0000002c"/> - </connection> - <connection id="id-0068-00000018" kind="publish" role="publish" relid="0x5"> - <name>publish</name> - <connpoint role="dst" target="id-0066-00000014"/> - <connpoint role="src" target="id-0067-0000002b"/> - </connection> - <connection id="id-0068-00000019" kind="deliverTo" role="deliverTo" relid="0x6"> - <name>deliverTo</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>E</value> - </regnode> - <connpoint role="src" target="id-0066-00000014"/> - <connpoint role="dst" target="id-0067-00000027"/> - </connection> - </model> - </model> - </folder> - <folder id="id-006a-00000005" relid="0x4" childrelidcntr="0x0" kind="ImplementationArtifacts"> - <name>ImplementationArtifacts</name> - <model id="id-0065-0000001b" kind="ArtifactContainer" relid="0x1" childrelidcntr="0xa"> - <name>StockBrokerArtifacts</name> - <model id="id-0065-0000001c" kind="Property" role="Property" relid="0x2" childrelidcntr="0x2"> - <name>entryPoint</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,200</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>createStockBrokerHome_Servant</value> - </attribute> - <reference id="id-0067-00000011" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>298,193</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-0000001d" kind="Property" role="Property" relid="0x4" childrelidcntr="0x2"> - <name>entryPoint</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,432</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>createStockBrokerHome_Impl</value> - </attribute> - <reference id="id-0067-00000012" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>340,172</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <atom id="id-0066-0000000e" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x1"> - <name>StockBroker_stub</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>151,84</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockBroker_stub</value> - </attribute> - </atom> - <atom id="id-0066-0000000f" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x3"> - <name>StockBroker_svnt</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>517,316</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockBroker_svnt</value> - </attribute> - </atom> - <atom id="id-0066-00000010" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x5"> - <name>StockBroker_exec</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>883,548</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockBroker_exec</value> - </attribute> - </atom> - <connection id="id-0068-0000000d" kind="ArtifactExecParameter" role="ArtifactExecParameter" relid="0x7"> - <name>ArtifactExecParameter</name> - <connpoint role="dst" target="id-0065-0000001c"/> - <connpoint role="src" target="id-0066-0000000f"/> - </connection> - <connection id="id-0068-0000000e" kind="ArtifactDependency" role="ArtifactDependency" relid="0x8"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-0000000e"/> - <connpoint role="src" target="id-0066-0000000f"/> - </connection> - <connection id="id-0068-0000000f" kind="ArtifactExecParameter" role="ArtifactExecParameter" relid="0x8"> - <name>ArtifactExecParameter</name> - <connpoint role="dst" target="id-0065-0000001d"/> - <connpoint role="src" target="id-0066-00000010"/> - </connection> - <connection id="id-0068-00000010" kind="ArtifactDependency" role="ArtifactDependency" relid="0x9"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-0000000f"/> - <connpoint role="src" target="id-0066-00000010"/> - </connection> - <connection id="id-0068-00000011" kind="ArtifactDependency" role="ArtifactDependency" relid="0xa"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-0000000e"/> - <connpoint role="src" target="id-0066-00000010"/> - </connection> - </model> - <model id="id-0065-0000001e" kind="ArtifactContainer" relid="0x2" childrelidcntr="0xa"> - <name>StockDistributorArtifacts</name> - <model id="id-0065-0000001f" kind="Property" role="Property" relid="0x2" childrelidcntr="0x2"> - <name>entryPoint</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>334,200</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>createStockDistributorHome_Servant</value> - </attribute> - <reference id="id-0067-00000013" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-00000020" kind="Property" role="Property" relid="0x4" childrelidcntr="0x2"> - <name>entryPoint</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>700,432</value> - </regnode> - </regnode> - </regnode> - <attribute kind="DataValue"> - <value>createStockDistributorHome_Impl</value> - </attribute> - <reference id="id-0067-00000014" kind="DataType" role="DataType" relid="0x2" referred="id-0066-00000003"> - <name>String</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>518,318</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <atom id="id-0066-00000011" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x1"> - <name>StockDistributor_stub</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>151,84</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockDistributor_stub</value> - </attribute> - </atom> - <atom id="id-0066-00000012" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x3"> - <name>StockDistributor_svnt</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>517,316</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockDistributor_svnt</value> - </attribute> - </atom> - <atom id="id-0066-00000013" kind="ImplementationArtifact" role="ImplementationArtifact" relid="0x5"> - <name>StockDistributor_exec</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>883,548</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="configuration" status="meta"> - <value></value> - </attribute> - <attribute kind="label"> - <value></value> - </attribute> - <attribute kind="location"> - <value>StockDistributor_exec</value> - </attribute> - </atom> - <connection id="id-0068-00000012" kind="ArtifactExecParameter" role="ArtifactExecParameter" relid="0x7"> - <name>ArtifactExecParameter</name> - <connpoint role="dst" target="id-0065-0000001f"/> - <connpoint role="src" target="id-0066-00000012"/> - </connection> - <connection id="id-0068-00000013" kind="ArtifactDependency" role="ArtifactDependency" relid="0x8"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-00000011"/> - <connpoint role="src" target="id-0066-00000012"/> - </connection> - <connection id="id-0068-00000014" kind="ArtifactExecParameter" role="ArtifactExecParameter" relid="0x8"> - <name>ArtifactExecParameter</name> - <connpoint role="dst" target="id-0065-00000020"/> - <connpoint role="src" target="id-0066-00000013"/> - </connection> - <connection id="id-0068-00000015" kind="ArtifactDependency" role="ArtifactDependency" relid="0x9"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-00000012"/> - <connpoint role="src" target="id-0066-00000013"/> - </connection> - <connection id="id-0068-00000016" kind="ArtifactDependency" role="ArtifactDependency" relid="0xa"> - <name>ArtifactDependency</name> - <connpoint role="dst" target="id-0066-00000011"/> - <connpoint role="src" target="id-0066-00000013"/> - </connection> - </model> - </folder> - <folder id="id-006a-00000006" relid="0x5" childrelidcntr="0x0" kind="ComponentTypes"> - <name>ComponentTypes</name> - <model id="id-0065-00000021" kind="ComponentContainer" relid="0x1" childrelidcntr="0x1"> - <name>StockBrokerContainer</name> - <reference id="id-0067-00000015" kind="ComponentRef" role="ComponentRef" relid="0x1" referred="id-0065-0000000d"> - <name>StockBrokerRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>244,214</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - <model id="id-0065-00000022" kind="ComponentContainer" relid="0x2" childrelidcntr="0x1"> - <name>StockDistributorContainer</name> - <reference id="id-0067-00000016" kind="ComponentRef" role="ComponentRef" relid="0x1" referred="id-0065-00000014"> - <name>StockDistributorRef</name> - <regnode name="PartRegs" isopaque="yes"> - <value></value> - <regnode name="Packaging" isopaque="yes"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>202,249</value> - </regnode> - </regnode> - </regnode> - </reference> - </model> - </folder> - <folder id="id-006a-00000007" relid="0x6" childrelidcntr="0x1" kind="PackageConfigurations"> - <name>PackageConfigurations</name> - <model id="id-0065-0000002b" kind="PackageConfigurationContainer" relid="0x1" childrelidcntr="0x2"> - <name>Default</name> - <atom id="id-0066-00000018" kind="PackageConfiguration" role="PackageConfiguration" relid="0x1"> - <name>Default</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>163,226</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-00000033" kind="ComponentPackageReference" role="ComponentPackageReference" relid="0x2" referred="id-0066-00000017"> - <name>StockQuoter</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>391,230</value> - </regnode> - </regnode> - </regnode> - <attribute kind="requiredName" status="meta"> - <value></value> - </attribute> - <attribute kind="requiredType" status="meta"> - <value></value> - </attribute> - <attribute kind="requiredUUID" status="meta"> - <value></value> - </attribute> - </reference> - </model> - </folder> - <folder id="id-006a-00000008" relid="0x7" childrelidcntr="0x3" kind="ComponentPackages"> - <name>ComponentPackages</name> - <model id="id-0065-00000028" kind="PackageContainer" relid="0x1" childrelidcntr="0x5"> - <name>Broker</name> - <atom id="id-0066-00000015" kind="ComponentPackage" role="ComponentPackage" relid="0x1"> - <name>Broker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>272,195</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-0000002e" kind="ComponentImplementationReference" role="ComponentImplementationReference" relid="0x2" referred="id-0066-0000000c"> - <name>Broker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>96,194</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-0000002f" kind="ComponentRef" role="ComponentRef" relid="0x3" referred="id-0065-0000000d"> - <name>Broker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>440,172</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-0000001b" kind="Implementation" role="Implementation" relid="0x4"> - <name>Implementation</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>We</value> - </regnode> - <connpoint role="src" target="id-0066-00000015"/> - <connpoint role="dst" target="id-0067-0000002e"/> - </connection> - <connection id="id-0068-0000001c" kind="PackageInterface" role="PackageInterface" relid="0x5"> - <name>PackageInterface</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ew</value> - </regnode> - <connpoint role="src" target="id-0066-00000015"/> - <connpoint role="dst" target="id-0067-0000002f"/> - </connection> - </model> - <model id="id-0065-00000029" kind="PackageContainer" relid="0x2" childrelidcntr="0x5"> - <name>Distributor</name> - <atom id="id-0066-00000016" kind="ComponentPackage" role="ComponentPackage" relid="0x2"> - <name>Distributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>272,195</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-00000030" kind="ComponentImplementationReference" role="ComponentImplementationReference" relid="0x1" referred="id-0066-0000000d"> - <name>Distributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>96,194</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000031" kind="ComponentRef" role="ComponentRef" relid="0x3" referred="id-0065-00000014"> - <name>Distributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>440,172</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-0000001d" kind="Implementation" role="Implementation" relid="0x4"> - <name>Implementation</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>We</value> - </regnode> - <connpoint role="src" target="id-0066-00000016"/> - <connpoint role="dst" target="id-0067-00000030"/> - </connection> - <connection id="id-0068-0000001e" kind="PackageInterface" role="PackageInterface" relid="0x5"> - <name>PackageInterface</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ew</value> - </regnode> - <connpoint role="src" target="id-0066-00000016"/> - <connpoint role="dst" target="id-0067-00000031"/> - </connection> - </model> - <model id="id-0065-0000002a" kind="PackageContainer" relid="0x3" childrelidcntr="0x3"> - <name>StockQuoter</name> - <atom id="id-0066-00000017" kind="ComponentPackage" role="ComponentPackage" relid="0x2"> - <name>StockQuoter</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>391,125</value> - </regnode> - </regnode> - </regnode> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </atom> - <reference id="id-0067-00000032" kind="ComponentImplementationReference" role="ComponentImplementationReference" relid="0x1" referred="id-0065-00000024"> - <name>StockQuoter</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>96,103</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-0000001f" kind="Implementation" role="Implementation" relid="0x3"> - <name>Implementation</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>We</value> - </regnode> - <connpoint role="src" target="id-0066-00000017"/> - <connpoint role="dst" target="id-0067-00000032"/> - </connection> - </model> - </folder> - <folder id="id-006a-00000009" relid="0x8" childrelidcntr="0x1" kind="DeploymentPlans"> - <name>DeploymentPlans</name> - <model id="id-0065-00000030" kind="DeploymentPlan" relid="0x1" childrelidcntr="0x8"> - <name>Plan</name> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <reference id="id-0067-00000035" kind="NodeReference" role="NodeReference" relid="0x3" referred="id-0065-0000002e"> - <name>Node_Broker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>284,137</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000036" kind="NodeReference" role="NodeReference" relid="0x4" referred="id-0065-0000002f"> - <name>Node_Distributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>284,298</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000037" kind="ComponentRef" role="ComponentRef" relid="0x5" referred="id-0065-00000025"> - <name>StockBroker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>412,95</value> - </regnode> - </regnode> - </regnode> - </reference> - <reference id="id-0067-00000038" kind="ComponentRef" role="ComponentRef" relid="0x6" referred="id-0065-00000026"> - <name>StockDistributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>412,270</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-00000021" kind="InstanceMapping" role="InstanceMapping" relid="0x7"> - <name>InstanceMapping</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ew</value> - </regnode> - <connpoint role="dst" target="id-0067-00000035"/> - <connpoint role="src" target="id-0069-00000001"/> - </connection> - <connection id="id-0068-00000022" kind="InstanceMapping" role="InstanceMapping" relid="0x8"> - <name>InstanceMapping</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ew</value> - </regnode> - <connpoint role="dst" target="id-0067-00000036"/> - <connpoint role="src" target="id-0069-00000002"/> - </connection> - <set id="id-0069-00000001" kind="CollocationGroup" role="CollocationGroup" relid="0x1" members="id-0067-00000037"> - <name>CollocationGroup</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>118,125</value> - </regnode> - </regnode> - </regnode> - </set> - <set id="id-0069-00000002" kind="CollocationGroup" role="CollocationGroup" relid="0x2" members="id-0067-00000038"> - <name>CollocationGroup</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="NodeMapping" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>97,279</value> - </regnode> - </regnode> - </regnode> - </set> - </model> - </folder> - <folder id="id-006a-0000000a" relid="0x9" childrelidcntr="0x1" kind="Targets"> - <name>Targets</name> - <model id="id-0065-0000002d" kind="Domain" relid="0x1" childrelidcntr="0x2"> - <name>Domain</name> - <attribute kind="UUID" status="meta"> - <value></value> - </attribute> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - <model id="id-0065-0000002e" kind="Node" role="Node" relid="0x1" childrelidcntr="0x0"> - <name>Broker</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Target" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>198,261</value> - </regnode> - </regnode> - </regnode> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </model> - <model id="id-0065-0000002f" kind="Node" role="Node" relid="0x2" childrelidcntr="0x0"> - <name>Distributor</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Target" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>394,310</value> - </regnode> - </regnode> - </regnode> - <attribute kind="label" status="meta"> - <value></value> - </attribute> - </model> - </model> - </folder> - <folder id="id-006a-0000000b" relid="0xa" childrelidcntr="0x1" kind="TopLevelPackages"> - <name>TopLevelPackages</name> - <model id="id-0065-0000002c" kind="TopLevelPackageContainer" relid="0x1" childrelidcntr="0x3"> - <name>Default</name> - <atom id="id-0066-00000019" kind="TopLevelPackage" role="TopLevelPackage" relid="0x1"> - <name>TopLevelPackage</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>132,275</value> - </regnode> - </regnode> - </regnode> - </atom> - <reference id="id-0067-00000034" kind="PackageConfigurationReference" role="PackageConfigurationReference" relid="0x2" referred="id-0066-00000018"> - <name>Default</name> - <regnode name="PartRegs" status="undefined"> - <value></value> - <regnode name="Packaging" status="undefined"> - <value></value> - <regnode name="Position" isopaque="yes"> - <value>370,265</value> - </regnode> - </regnode> - </regnode> - </reference> - <connection id="id-0068-00000020" kind="package" role="package" relid="0x3"> - <name>package</name> - <regnode name="autorouterPref" isopaque="yes"> - <value>Ew</value> - </regnode> - <connpoint role="src" target="id-0066-00000019"/> - <connpoint role="dst" target="id-0067-00000034"/> - </connection> - </model> - </folder> - <folder id="id-006a-0000000c" relid="0xb" childrelidcntr="0x0" kind="ComponentBuild"> - <name>ComponentBuild</name> - </folder> - </folder> -</project> diff --git a/CIAO/docs/tutorials/CoSMIC/index.html b/CIAO/docs/tutorials/CoSMIC/index.html deleted file mode 100644 index 0deb8d7aa03..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/index.html +++ /dev/null @@ -1,195 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - - - <meta name="generator" content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" /> - - - - <title>Building a Stock Quoter with TAO - A Tutorial</title> -<!-- $Id$ --> -</head> - - - -<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link="#000fff" vlink="#ff0f0f"> - - -<h3>Building a Stock Quoter with CoSMIC and DAnCE - A - Tutorial<br /> -</h3> - - - -<p>This tutorial provides a step-by-step lesson on developing - component-based distributed applications using <a href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> modeling - toolkit and <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO/DAnCE</a> - framework. The example application used in this tutorial is a - Stock Quoter that consists of two components; the - <em>StockDistributor</em> and the <em>StockBroker</em>. The - <em>StockDistributor</em> notifies one or more stock brokers - whenever a stock price changes. Upon receiving the notification, - the <em>StockBroker</em> fetches information about a particular - stock from the <em>StockDistributor</em>. The figure bellow shows - the application diagram. This Stock Quoter application is based - on a series of <a href="http://www.cs.wustl.edu/%7Eschmidt/report-doc.html">CORBA - component model</a> columns written by <a href="http://www.cs.wustl.edu/%7Eschmidt/">Doug Schmidt</a> and - <a href="http://www.iona.com/hyplan/vinoski/">Steve Vinoski</a> - for <a href="http://www.cuj.com">C/C++ Users Journal</a> and has - consistently been used as an example for <a href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>.<br /> -</p> - - - -<div style="text-align: center;"> - <img alt="" src="Images/fig1.jpg" style="width: 362px; height: 193px;" /><br /> - - <br /> - - Stock Quoter application Diagram<br /> - - </div> - - - -<p>This tutorial will show you how to use generic modeling - techniques <a href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> to assist the - development process of CIAO applications. All the necessary steps - to build a component-based application model via <a href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> toolkit are - documented here.</p> - - - -<blockquote> - - <hr /> - <strong>Note:</strong><br /> - - 1. Although the descriptor files generated by CoSMIC toolkits - are portable, the modeling environment required by CoSMIC (GME) - only supports Microsoft Windows platforms.<br /> - - 2. The CIAO/DAnCE codes used for this tutorial can be found in - <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple</code>.<br /> - - 3. The current tutorial is tested under GME 5.9.21, and - CosMIC 0.5.2. It will be subject to change as version of GME - and CoSMIC evolves.<br /> - - - <hr /> - </blockquote> -<strong><big>Prerequisites</big></strong><br /> - - <br /> - - Before you start, you will need the following: - - -<ol> - - <li><strong>ACE+TAO+CIAO (Component Integraated ACE - ORB).</strong> ACE + TAO + CIAO provide the CCM infrastructure - necessary to enable the CCM-based distributed component - interaction. You can click <a href="http://deuce.doc.wustl.edu/Download.html">here</a> to download - the latest ACE + TAO + CIAO and click <a href="../../../../../ACE-Install.html"> - here</a> for information on how to build ACE+TAO+CIAO.</li> - - - <li><strong>Generic Modeling Environment (GME).</strong> GME is - a configurable toolkit for creating domain-specific modeling - and program synthesis environments. It provides the execution - environment for CoSMIC toolkits. Click <a href="http://www.isis.vanderbilt.edu/Projects/gme/download.html">here</a> - to download GME.</li> - - - <li><strong>CoSMIC toolkit.</strong> Click <a href="http://www.dre.vanderbilt.edu/cosmic/">here</a> to download - the latest CoSMIC release.</li> - - -</ol> - - - -<blockquote> - - <hr /> - <strong>Note:</strong><br /> - - - - <ol> - - <li>Please use only the version of GME that the CoSMIC - package you have downloaded requires. Attempts to use earlier - or later versions may result in undefined behavior.</li> - - - <li>Make sure you install GME before you install CoSMIC.</li> - - - </ol> - - - <hr /> - </blockquote> -<strong><a href="01.html">Getting - Started</a></strong><br /> - - <br /> - - This section describes the IDL files used by the - example and shows you how to import IDL into <a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/RTAS05-PICML.pdf">PICML - (Platform-Independent Component Modeling Language)</a>; a - domain-specific modeling language which is defined using GME. - PICML is designed to help to bridge the gap between design-time - verification and model-checking tools and the deployment of - component implementations.<br /> - - <br /> - - <strong><a href="02.html">Modeling StockQuoter system with - PICML</a></strong><br /> - - <br /> - - This section describes how to model the Stock - Quoter components in PICML.<br /> - - <br /> - - <a href="03.html"><strong>Implementing Quoter components with - DAnCE</strong></a><br /> - - <br /> - - This section provides codes for the Quoter - example.<br /> - - <br /> - - <strong><a href="04.html">Running the - application</a></strong><br /> - - <br /> - - After all the components and descriptors generated - by PICML are in place. You are ready to compile and run the - application.<br /> - - <br /> - - -<hr /> - - -<address> - <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /> -</a> - </address> -<!-- Created: Sat Nov 27 15:25:06 CST 1999 --> - <!-- hhmts start --> - Last modified: Fri May 5 21:29:07 CDT 2006 <!-- hhmts end --> -</body> -</html> diff --git a/CIAO/docs/tutorials/CoSMIC/style.css b/CIAO/docs/tutorials/CoSMIC/style.css deleted file mode 100644 index b86b9ceb671..00000000000 --- a/CIAO/docs/tutorials/CoSMIC/style.css +++ /dev/null @@ -1,15 +0,0 @@ - -/* Important Node */ -div.important { - position: center; - width: 75%; - text-align: left; - border: 1; - background: #FAEBD7; -} - -div.important strong { - font-weight: bold; - color: red; - font-variant: small-caps; -} diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cidl b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cidl deleted file mode 100644 index a6d9bb29214..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cidl +++ /dev/null @@ -1,22 +0,0 @@ -//$Id$ - -//Stock.cidl,v 1.0 -/** - * @file Stock.cidl - * - * @author ming xiong <xiongm@isis.vanderbilt.edu> - */ - -#ifndef STOCK_CIDL -#define STOCK_CIDL - -#include "Broker.idl" - -composition session StockBroker_Impl { - home executor StockBrokerHome_Exec { - implements Stock::StockBrokerHome; - manages StockBroker_Exec; - }; -}; - -#endif /* STOCK_CIDL */ diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cpp b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cpp deleted file mode 100644 index 330b4419477..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.cpp +++ /dev/null @@ -1,123 +0,0 @@ -//$Id$ -/* - * @file Broker.cpp - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - -#include "BrokerC.h" -#include "ace/streams.h" -#include "ace/Get_Opt.h" - -const char *broker_ior = "file://Broker.ior"; -const char *subscribe_name = 0; -const char *unsubscribe_name = 0; - - -int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "k:s:u:"); - int c; - - while ((c = get_opts ()) != -1) - { - switch (c) - { - case 'k': - broker_ior = get_opts.opt_arg (); - break; - - case 's': - subscribe_name = get_opts.opt_arg (); - break; - - case 'u': - unsubscribe_name = get_opts.opt_arg (); - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s\n" - "-k <Broker IOR> (default is file:\\broker.ior) \n" - "-s <stock name you wish to subscribe>\n" - "-u <stock name you wish to unsubscribe>\n" - "\n", - argv [0]), - -1); - } - } - - return 0; -} - -int main (int argc, char* argv[]) -{ - ACE_TRY_NEW_ENV - { - // initialize the ORB - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv,"" - ACE_ENV_ARG_PARAMETER); - - ACE_TRY_CHECK; - - if (parse_args (argc, argv) != 0) - return -1; - - // create the factory object reference of StockBrokerHome - CORBA::Object_var broker_obj = - orb->string_to_object (broker_ior - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // downcast the object reference to the appropriate type - Stock::StockBroker_var broker = - Stock::StockBroker::_narrow (broker_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (broker.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to acquire 'Broker' objref\n"), - -1); - } - - - if (subscribe_name != 0) - { - broker->stock_subscribe (subscribe_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, "Subscribe successful!\n")); - } - - if (unsubscribe_name != 0) - { - broker->stock_unsubscribe (unsubscribe_name - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, "Unsubscribe successful!\n")); - } - - // Finally destroy the ORB - orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Who is the culprit \n"); - ACE_ERROR_RETURN ((LM_ERROR, - "Uncaught CORBA exception\n"), - 1); - } - ACE_ENDTRY; - - return 0; -} diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.idl b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.idl deleted file mode 100644 index dbe9a04364a..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.idl +++ /dev/null @@ -1,35 +0,0 @@ -//$Id$ - -#include "../Stock_Base/Stock_Base.idl" - -module Stock -{ - interface StockSubscriber { - /// subscribe to an interested stock - void stock_subscribe (in string stock_name) - raises (Invalid_Stock); - /// unsubscribe to an stock - void stock_unsubscribe (in string stock_name) - raises (Invalid_Stock); - }; - - /** - * @class StockBroker - * - * @brief component - */ - component StockBroker supports StockSubscriber - { - consumes StockName notify_in; - uses StockQuoter read_quoter; - }; - - /** - * @class StockBrokerHome - * - * @brief home for StockBroker component - */ - home StockBrokerHome manages StockBroker - { - }; -}; diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.mpc b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.mpc deleted file mode 100644 index 627feb516a9..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker.mpc +++ /dev/null @@ -1,84 +0,0 @@ -// $Id$ -// This file is generated with "generate_component_mpc.pl -p Stock_Base Broker" - -project(Stock_Base_Broker_stub): ciao_client_dnc { - avoids += ace_for_tao - after += Stock_Base_stub - sharedname = Broker_stub - idlflags -= -GT - idlflags += -St \ - -Wb,stub_export_macro=BROKER_STUB_Export \ - -Wb,stub_export_include=Broker_stub_export.h \ - -Wb,skel_export_macro=BROKER_SVNT_Export \ - -Wb,skel_export_include=Broker_svnt_export.h - dynamicflags = BROKER_STUB_BUILD_DLL - libs += Stock_Base_stub - - IDL_Files { - Broker.idl - } - - Source_Files { - BrokerC.cpp - } -} - -project(Stock_Base_Broker_svnt) : ciao_servant_dnc { - avoids += ace_for_tao - after += Stock_Base_skel Stock_Base_Broker_stub - sharedname = Broker_svnt - libs += Broker_stub Stock_Base_stub Stock_Base_skel - - idlflags -= -GT - idlflags += -SS -St \ - -Wb,export_macro=BROKER_SVNT_Export \ - -Wb,export_include=Broker_svnt_export.h - dynamicflags = BROKER_SVNT_BUILD_DLL - - CIDL_Files { - Broker.cidl - } - - IDL_Files { - BrokerE.idl - } - - Source_Files { - BrokerEC.cpp - BrokerS.cpp - Broker_svnt.cpp - } -} - - -project(Stock_Base_Broker_exec) : ciao_component_dnc { - avoids += ace_for_tao - after += Stock_Base_Broker_svnt - sharedname = Broker_exec - libs += Broker_stub Broker_svnt Stock_Base_stub Stock_Base_skel - - dynamicflags = BROKER_EXEC_BUILD_DLL - - IDL_Files { - } - - Source_Files { - Broker_exec.cpp - } -} - - -project (Stock_Broker) : ciao_client_dnc, valuetype{ - avoids += ace_for_tao - exename = Broker - after += Stock_Base_Broker_stub - libs += Broker_stub Stock_Base_stub - - IDL_Files { - } - - Source_Files { - Broker.cpp - } -} - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.cpp b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.cpp deleted file mode 100644 index 994ba7795b5..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.cpp +++ /dev/null @@ -1,215 +0,0 @@ -//$Id$ -/* - * @file Broker_exec.cpp - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - -#include "Broker_exec.h" -#include "ciao/CIAO_common.h" - - -namespace CIDL_StockBroker_Impl -{ - //================================================================== - // Component Executor Implementation Class: StockBroker_exec_i - //================================================================== - - StockBroker_exec_i::StockBroker_exec_i (void) - { - } - - StockBroker_exec_i::~StockBroker_exec_i (void) - { - } - - - // Supported or inherited operations. - - void - StockBroker_exec_i::stock_subscribe ( - const char * stock_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Stock::Invalid_Stock)) - { - if ((strcmp (stock_name, "MSFT") == 0) || (strcmp (stock_name, "IBM") == 0)) - { - std::set<std::string>::iterator iter = this->subscribed_stock_list_.find (stock_name); - if (iter == this->subscribed_stock_list_.end ()) - { - this->subscribed_stock_list_.insert (stock_name); - } - } - else - { - ACE_THROW (Stock::Invalid_Stock ()); - } - } - - void - StockBroker_exec_i::stock_unsubscribe ( - const char * stock_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException, - Stock::Invalid_Stock)) - { - if ((strcmp (stock_name, "MSFT") == 0) || (strcmp (stock_name, "IBM") == 0)) - { - std::set<std::string>::iterator iter = this->subscribed_stock_list_.find (stock_name); - if (iter != this->subscribed_stock_list_.end ()) - { - this->subscribed_stock_list_.erase (iter); - } - } - else - { - ACE_THROW (Stock::Invalid_Stock ()); - } - - } - - - void - StockBroker_exec_i::push_notify_in ( - Stock::StockName *ev - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - - ACE_DEBUG ((LM_INFO, - "Broker - Got message from Distributor\n")); - - CORBA::String_var stock_name = CORBA::string_dup (ev->name ()); - - // Retrieve stock information if the stock name is in the subscribed_stock_list - if (this->subscribed_stock_list_.find (stock_name.in ()) != this->subscribed_stock_list_.end ()) - { - Stock::StockQuoter_var quoter_obj = this->context_->get_connection_read_quoter (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - if (CORBA::is_nil (quoter_obj.in ())) - { - ACE_THROW (CORBA::BAD_PARAM ()); - } - - Stock::StockInfo_var info = quoter_obj->get_stock_info (stock_name.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - ACE_DEBUG ((LM_DEBUG, "Quoter - Current value of %s is %d\n", - stock_name.in (), - info->last)); - } - } - - // Operations from Components::SessionComponent - - void - StockBroker_exec_i::set_session_context ( - ::Components::SessionContext_ptr ctx - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - this->context_ = StockBroker_Context::_narrow (ctx - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (0 == this->context_) - { - ACE_THROW (CORBA::INTERNAL ()); - } - } - - void - StockBroker_exec_i::ciao_preactivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockBroker_exec_i::ciao_postactivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockBroker_exec_i::ccm_activate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockBroker_exec_i::ccm_passivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockBroker_exec_i::ccm_remove ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - //================================================================== - // Home Executor Implementation Class: StockBrokerHome_exec_i - //================================================================== - - StockBrokerHome_exec_i::StockBrokerHome_exec_i (void) - { - } - - StockBrokerHome_exec_i::~StockBrokerHome_exec_i (void) - { - } - - ::Components::EnterpriseComponent_ptr - StockBrokerHome_exec_i::create ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - ::Components::EnterpriseComponent_ptr retval = - ::Components::EnterpriseComponent::_nil (); - - ACE_NEW_THROW_EX ( - retval, - StockBroker_exec_i, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (::Components::EnterpriseComponent::_nil ()); - - return retval; - } - - extern "C" BROKER_EXEC_Export ::Components::HomeExecutorBase_ptr - createStockBrokerHome_Impl (void) - { - ::Components::HomeExecutorBase_ptr retval = - ::Components::HomeExecutorBase::_nil (); - - ACE_NEW_RETURN ( - retval, - StockBrokerHome_exec_i, - ::Components::HomeExecutorBase::_nil ()); - - return retval; - } -} - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.h b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.h deleted file mode 100644 index 7cbea3e82cc..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec.h +++ /dev/null @@ -1,151 +0,0 @@ -//$Id$ -/* - * @file Broker_exec.h - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - - -#ifndef CIAO_BROKER_EXEC_H -#define CIAO_BROKER_EXEC_H - -#include /**/ "ace/pre.h" - -#include "Broker_svnt.h" -#include "BrokerEC.h" -#include "Broker_exec_export.h" - -#include <set> -#include <string> - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -namespace CIDL_StockBroker_Impl -{ - - /** - * @class StockBroker_exec_i - * - * @brief Executor implementation - * - * This class implements Stock::StockBroker component - */ - class BROKER_EXEC_Export StockBroker_exec_i - : public virtual StockBroker_Exec, - public virtual TAO_Local_RefCounted_Object - { - public: - StockBroker_exec_i (void); - virtual ~StockBroker_exec_i (void); - - - // Supported or inherited operations. - - virtual void - stock_subscribe ( - const char * stock_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Stock::Invalid_Stock)); - - virtual void - stock_unsubscribe ( - const char * stock_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException, - Stock::Invalid_Stock)); - - virtual void - push_notify_in ( - ::Stock::StockName *ev - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Operations from Components::SessionComponent - - virtual void - set_session_context ( - ::Components::SessionContext_ptr ctx - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ciao_preactivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ciao_postactivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_activate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_passivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_remove ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - protected: - StockBroker_Context *context_; - - private: - std::set<std::string> subscribed_stock_list_; - }; - - - /** - * @class StockBrokerHome_exec_i - * - * @brief Executor implementation - * - * This class implements Stock::StockBrokerHome component - */ - class BROKER_EXEC_Export StockBrokerHome_exec_i - : public virtual StockBrokerHome_Exec, - public virtual TAO_Local_RefCounted_Object - { - public: - StockBrokerHome_exec_i (void); - virtual ~StockBrokerHome_exec_i (void); - - virtual ::Components::EnterpriseComponent_ptr - create ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - }; - - extern "C" BROKER_EXEC_Export ::Components::HomeExecutorBase_ptr - createStockBrokerHome_Impl (void); -} - -#include /**/ "ace/post.h" - -#endif /* CIAO_BROKER_EXEC_H */ - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec_export.h b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec_export.h deleted file mode 100644 index cb7229d833e..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_exec_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl BROKER_EXEC -// ------------------------------ -#ifndef BROKER_EXEC_EXPORT_H -#define BROKER_EXEC_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (BROKER_EXEC_HAS_DLL) -# define BROKER_EXEC_HAS_DLL 1 -#endif /* ! BROKER_EXEC_HAS_DLL */ - -#if defined (BROKER_EXEC_HAS_DLL) && (BROKER_EXEC_HAS_DLL == 1) -# if defined (BROKER_EXEC_BUILD_DLL) -# define BROKER_EXEC_Export ACE_Proper_Export_Flag -# define BROKER_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define BROKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* BROKER_EXEC_BUILD_DLL */ -# define BROKER_EXEC_Export ACE_Proper_Import_Flag -# define BROKER_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define BROKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* BROKER_EXEC_BUILD_DLL */ -#else /* BROKER_EXEC_HAS_DLL == 1 */ -# define BROKER_EXEC_Export -# define BROKER_EXEC_SINGLETON_DECLARATION(T) -# define BROKER_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* BROKER_EXEC_HAS_DLL == 1 */ - -// Set BROKER_EXEC_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (BROKER_EXEC_NTRACE) -# if (ACE_NTRACE == 1) -# define BROKER_EXEC_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define BROKER_EXEC_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !BROKER_EXEC_NTRACE */ - -#if (BROKER_EXEC_NTRACE == 1) -# define BROKER_EXEC_TRACE(X) -#else /* (BROKER_EXEC_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define BROKER_EXEC_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (BROKER_EXEC_NTRACE == 1) */ - -#endif /* BROKER_EXEC_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_stub_export.h b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_stub_export.h deleted file mode 100644 index 1d7c2c5fc2b..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_stub_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl BROKER_STUB -// ------------------------------ -#ifndef BROKER_STUB_EXPORT_H -#define BROKER_STUB_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (BROKER_STUB_HAS_DLL) -# define BROKER_STUB_HAS_DLL 1 -#endif /* ! BROKER_STUB_HAS_DLL */ - -#if defined (BROKER_STUB_HAS_DLL) && (BROKER_STUB_HAS_DLL == 1) -# if defined (BROKER_STUB_BUILD_DLL) -# define BROKER_STUB_Export ACE_Proper_Export_Flag -# define BROKER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define BROKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* BROKER_STUB_BUILD_DLL */ -# define BROKER_STUB_Export ACE_Proper_Import_Flag -# define BROKER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define BROKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* BROKER_STUB_BUILD_DLL */ -#else /* BROKER_STUB_HAS_DLL == 1 */ -# define BROKER_STUB_Export -# define BROKER_STUB_SINGLETON_DECLARATION(T) -# define BROKER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* BROKER_STUB_HAS_DLL == 1 */ - -// Set BROKER_STUB_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (BROKER_STUB_NTRACE) -# if (ACE_NTRACE == 1) -# define BROKER_STUB_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define BROKER_STUB_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !BROKER_STUB_NTRACE */ - -#if (BROKER_STUB_NTRACE == 1) -# define BROKER_STUB_TRACE(X) -#else /* (BROKER_STUB_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define BROKER_STUB_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (BROKER_STUB_NTRACE == 1) */ - -#endif /* BROKER_STUB_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_svnt_export.h b/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_svnt_export.h deleted file mode 100644 index 18f606e5539..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/Broker_svnt_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl BROKER_SVNT -// ------------------------------ -#ifndef BROKER_SVNT_EXPORT_H -#define BROKER_SVNT_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (BROKER_SVNT_HAS_DLL) -# define BROKER_SVNT_HAS_DLL 1 -#endif /* ! BROKER_SVNT_HAS_DLL */ - -#if defined (BROKER_SVNT_HAS_DLL) && (BROKER_SVNT_HAS_DLL == 1) -# if defined (BROKER_SVNT_BUILD_DLL) -# define BROKER_SVNT_Export ACE_Proper_Export_Flag -# define BROKER_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define BROKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* BROKER_SVNT_BUILD_DLL */ -# define BROKER_SVNT_Export ACE_Proper_Import_Flag -# define BROKER_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define BROKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* BROKER_SVNT_BUILD_DLL */ -#else /* BROKER_SVNT_HAS_DLL == 1 */ -# define BROKER_SVNT_Export -# define BROKER_SVNT_SINGLETON_DECLARATION(T) -# define BROKER_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* BROKER_SVNT_HAS_DLL == 1 */ - -// Set BROKER_SVNT_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (BROKER_SVNT_NTRACE) -# if (ACE_NTRACE == 1) -# define BROKER_SVNT_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define BROKER_SVNT_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !BROKER_SVNT_NTRACE */ - -#if (BROKER_SVNT_NTRACE == 1) -# define BROKER_SVNT_TRACE(X) -#else /* (BROKER_SVNT_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define BROKER_SVNT_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (BROKER_SVNT_NTRACE == 1) */ - -#endif /* BROKER_SVNT_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl deleted file mode 100644 index 53268e84569..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl +++ /dev/null @@ -1,21 +0,0 @@ -//$Id$ -//Distributor.cidl,v 1.0 -/** - * @file Distributor.cidl - * - * @author ming xiong <xiongm@isis.vanderbilt.edu> - */ - -#ifndef DISTRIBUTOR_CIDL -#define DISTRIBUTOR_CIDL - -#include "Distributor.idl" - -composition session StockDistributor_Impl { - home executor StockDistributorHome_Exec { - implements Stock::StockDistributorHome; - manages StockDistributor_Exec; - }; -}; - -#endif /* DISTRIBUTOR_CIDL */ diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp deleted file mode 100644 index 431f5c617b4..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp +++ /dev/null @@ -1,128 +0,0 @@ -//$Id$ -/* - * @file Distributor.cpp - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - - -#include "DistributorC.h" -#include "ace/streams.h" -#include "ace/Get_Opt.h" - -const char *distributor_ior = "file://Distributor.ior"; -int rate = 2; -int turn_on = 1; - -int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "k:r:of"); - int c; - - while ((c = get_opts ()) != -1) - { - switch (c) - { - case 'k': - distributor_ior = get_opts.opt_arg (); - break; - - case 'o': - turn_on = 1; - break; - - case 'f': - turn_on = 0; - break; - - case 'r': - rate = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s\n" - "-o (Start the distribution service)\n" - "-f (Stop the distribution service)\n" - "-k <Distributor IOR> (default is file:\\distributor.ior) \n" - "-r <broadcast frequency in Hertz> (default is 2)\n" - "\n", - argv [0]), - -1); - } - } - - return 0; -} - - -int main (int argc, char* argv[]) -{ - ACE_TRY_NEW_ENV - { - // initialize the ORB - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv,"" - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (parse_args (argc, argv) != 0) - { - return -1; - } - - // create the factory object reference, - CORBA::Object_var distributor_obj = - orb->string_to_object (distributor_ior - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - // downcast the object reference to the appropriate type - Stock::StockDistributor_var distributor = - Stock::StockDistributor::_narrow (distributor_obj.in () - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (CORBA::is_nil (distributor.in ())) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to acquire 'Distributor' objref\n"), - -1); - } - - if (turn_on) - { - distributor->rate (rate - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, "Start up the Distribution service\n")); - - distributor->start (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - else - { - ACE_DEBUG ((LM_DEBUG, "Stop the Distribution service\n")); - - distributor->stop (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - - orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Who is the culprit \n"); - ACE_ERROR_RETURN ((LM_ERROR, - "Uncaught CORBA exception\n"), - 1); - } - ACE_ENDTRY; - - return 0; -} diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl deleted file mode 100644 index 393f0fa94c1..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.idl +++ /dev/null @@ -1,42 +0,0 @@ -//$Id$ - -#include "../Stock_Base/Stock_Base.idl" - -module Stock -{ - /** - * @class Trigger - * - * @brief supported interface - */ - interface Trigger { - /// Start the real-time monitoring service - void start (); - /// Stop the real-time monitoring service - void stop (); - }; - - - /** - * @class StockDistributor - * - * @brief component - */ - component StockDistributor supports Trigger - { - publishes StockName notify_out; - provides StockQuoter push_quoter; - attribute long rate; - }; - - - /** - * @class StockDistributorHome - * - * @brief home for StockDistributor component - */ - home StockDistributorHome manages StockDistributor - { - }; - -}; diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc deleted file mode 100644 index aad6ad54195..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc +++ /dev/null @@ -1,88 +0,0 @@ -// $Id$ -// This file is generated with "generate_component_mpc.pl -p Stock_Base Distributor" - -project(Stock_Base_Distributor_stub): ciao_client_dnc { - avoids += ace_for_tao - after += Stock_Base_stub - sharedname = Distributor_stub - idlflags -= -GT - idlflags += -St \ - -Wb,stub_export_macro=DISTRIBUTOR_STUB_Export \ - -Wb,stub_export_include=Distributor_stub_export.h \ - -Wb,skel_export_macro=DISTRIBUTOR_SVNT_Export \ - -Wb,skel_export_include=Distributor_svnt_export.h - dynamicflags = DISTRIBUTOR_STUB_BUILD_DLL - - libs += Stock_Base_stub - - IDL_Files { - Distributor.idl - } - - Source_Files { - DistributorC.cpp - } -} - -project(Stock_Base_Distributor_svnt) : ciao_servant_dnc { - avoids += ace_for_tao - after += Stock_Base_skel Stock_Base_Distributor_stub - sharedname = Distributor_svnt - libs += Distributor_stub Stock_Base_stub Stock_Base_skel - - idlflags -= -GT - idlflags += -SS -St \ - -Wb,export_macro=DISTRIBUTOR_SVNT_Export \ - -Wb,export_include=Distributor_svnt_export.h - dynamicflags = DISTRIBUTOR_SVNT_BUILD_DLL - - CIDL_Files { - Distributor.cidl - } - - IDL_Files { - DistributorE.idl - } - - Source_Files { - DistributorEC.cpp - DistributorS.cpp - Distributor_svnt.cpp - } -} - - -project(Stock_Base_Distributor_exec) : ciao_component_dnc { - avoids += ace_for_tao - after += Stock_Base_Distributor_svnt - sharedname = Distributor_exec - libs += Distributor_stub \ - Distributor_svnt \ - Stock_Base_stub \ - Stock_Base_skel - - dynamicflags = DISTRIBUTOR_EXEC_BUILD_DLL - - IDL_Files { - } - - Source_Files { - Distributor_exec.cpp - } -} - - -project (Stock_Distributor) : ciao_client_dnc, valuetype{ - avoids += ace_for_tao - exename = Distributor - after += Stock_Base_Distributor_stub - libs += Distributor_stub Stock_Base_stub - - IDL_Files { - } - - Source_Files { - Distributor.cpp - } -} - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp deleted file mode 100644 index 236bcc345a1..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp +++ /dev/null @@ -1,373 +0,0 @@ -//$Id$ -/* - * @file Distributor_exec.cpp - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - -#include "Distributor_exec.h" -#include "ciao/CIAO_common.h" -#include "ace/Reactor.h" - - -namespace CIDL_StockDistributor_Impl -{ - - // initialze the stock values - CORBA::Long - StockDistributor_exec_i::ibm_ = 100; - - CORBA::Long - StockDistributor_exec_i::msft_ = 101; - - //================================================================== - // C L A S S: pulse_Generator - //================================================================== - - pulse_Generator::pulse_Generator (StockDistributor_exec_i *callback) - : active_ (0), - pulse_callback_ (callback) - { - // initialize the reactor - this->reactor (ACE_Reactor::instance ()); - } - - pulse_Generator::~pulse_Generator () - { - } - - int - pulse_Generator::open_h () - { - // convert the task into a active object that runs in separate thread - return this->activate (); - } - - int - pulse_Generator::close_h () - { - this->reactor ()->end_reactor_event_loop (); - - // wait for all threads in the task to exit before it returns - return this->wait (); - } - - int - pulse_Generator::start (CORBA::Long hertz) - { - // return if not valid - if (hertz == 0 || this->active_ != 0) - { - return -1; - } - - // calculate the interval time - long usec = 1000000 / hertz; - - if (this->reactor ()->schedule_timer (this, - 0, - ACE_Time_Value (0, usec), - ACE_Time_Value (0, usec)) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to setup Timer\n"), - -1); - - } - - this->active_ = 1; - return 0; - } - - int - pulse_Generator::stop (void) - { - // return if not valid. - if (this->active_ == 0) - { - return -1; - } - // cancle the timer - this->reactor ()->cancel_timer (this); - this->active_ = 0; - return 0; - } - - int - pulse_Generator::active (void) - { - return this->active_; - } - - int - pulse_Generator::handle_close (ACE_HANDLE handle, - ACE_Reactor_Mask close_mask) - { - if (CIAO::debug_level () > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"), - this, - handle, - close_mask)); - } - return 0; - } - - int - pulse_Generator::handle_timeout (const ACE_Time_Value &, - const void *) - { - // Notify the subscribers - this->pulse_callback_->push_notify_out (); - return 0; - } - - int - pulse_Generator::svc (void) - { - // define the owner of the reactor thread - this->reactor ()->owner (ACE_OS::thr_self ()); - - // run event loop to wait for event, and then dispatch them to corresponding handlers - this->reactor ()->run_reactor_event_loop (); - - return 0; - } - - - - //================================================================== - // Facet Executor Implementation Class: StockQuoter_exec_i - //================================================================== - - ::Stock::StockInfo * - StockQuoter_exec_i::get_stock_info (const char *stock_name - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Stock::Invalid_Stock)) - { - if (strcmp (stock_name, "MSFT") == 0) - { - Stock::StockInfo_var info = new Stock::StockInfo; - info->name = CORBA::string_dup ("MSFT"); - info->high = 10000; - info->low = 0; - info->last = this->distributor_.msft_; // retrieve the current stock value - return info._retn (); - } - else if (strcmp (stock_name, "IBM") == 0) - { - Stock::StockInfo_var info = new Stock::StockInfo; - info->name = CORBA::string_dup ("IBM"); - info->high = 10000; - info->low = 0; - info->last = this->distributor_.ibm_; // retrieve the current stock value - return info._retn (); - } - else - { - ACE_THROW_RETURN (Stock::Invalid_Stock (), 0); - } - } - - //================================================================== - // Component Executor Implementation Class: StockDistributor_exec_i - //================================================================== - - StockDistributor_exec_i::StockDistributor_exec_i (void) - : rate_ (0), pulser_ (this) - { - } - - StockDistributor_exec_i::~StockDistributor_exec_i (void) - { - } - - // Supported or inherited operations. - - void - StockDistributor_exec_i::start ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - if (this->rate_ == 0 || this->pulser_.active()) - { - ACE_THROW (CORBA::BAD_PARAM ()); - } - - this->pulser_.start (this->rate_); - } - - void - StockDistributor_exec_i::stop ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - if (! this->pulser_.active ()) - { - ACE_THROW (CORBA::BAD_INV_ORDER ()); - } - - this->pulser_.stop (); - } - - // Attribute operations. - - ::CORBA::Long - StockDistributor_exec_i::rate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - return this->rate_; - } - - void - StockDistributor_exec_i::rate ( - ::CORBA::Long rate - ACE_ENV_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - this->rate_ = rate; - } - - // Port operations. - - ::Stock::CCM_StockQuoter_ptr - StockDistributor_exec_i::get_push_quoter (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - return new StockQuoter_exec_i (*this); - } - - void - StockDistributor_exec_i::push_notify_out () - ACE_THROW_SPEC ((CORBA::SystemException)) - { - this->msft_++; - this->ibm_++; - - Stock::StockName_var ev_msft = new OBV_Stock::StockName; - ev_msft->name (CORBA::string_dup ("MSFT")); - this->context_->push_notify_out (ev_msft.in ()); - - Stock::StockName_var ev_ibm = new OBV_Stock::StockName; - ev_ibm->name (CORBA::string_dup ("IBM")); - this->context_->push_notify_out (ev_ibm.in ()); - } - - // Operations from Components::SessionComponent - - void - StockDistributor_exec_i::set_session_context ( - ::Components::SessionContext_ptr ctx - ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - this->context_ = StockDistributor_Context::_narrow (ctx - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - - if (this->context_ == 0) - { - ACE_THROW (CORBA::INTERNAL ()); - } - } - - void - StockDistributor_exec_i::ciao_preactivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockDistributor_exec_i::ciao_postactivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - void - StockDistributor_exec_i::ccm_activate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - // Start the active object - this->pulser_.open_h (); - } - - void - StockDistributor_exec_i::ccm_passivate ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - // Deactivate the active object - this->pulser_.close_h (); - } - - void - StockDistributor_exec_i::ccm_remove ( - ACE_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - } - - //================================================================== - // Home Executor Implementation Class: StockDistributorHome_exec_i - //================================================================== - - StockDistributorHome_exec_i::StockDistributorHome_exec_i (void) - { - } - - StockDistributorHome_exec_i::~StockDistributorHome_exec_i (void) - { - } - - ::Components::EnterpriseComponent_ptr - StockDistributorHome_exec_i::create ( - ACE_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)) - { - ::Components::EnterpriseComponent_ptr retval = - ::Components::EnterpriseComponent::_nil (); - - ACE_NEW_THROW_EX ( - retval, - StockDistributor_exec_i, - CORBA::NO_MEMORY ()); - ACE_CHECK_RETURN (::Components::EnterpriseComponent::_nil ()); - return retval; - } - - extern "C" DISTRIBUTOR_EXEC_Export ::Components::HomeExecutorBase_ptr - createStockDistributorHome_Impl (void) - { - ::Components::HomeExecutorBase_ptr retval = - ::Components::HomeExecutorBase::_nil (); - - ACE_NEW_RETURN ( - retval, - StockDistributorHome_exec_i, - ::Components::HomeExecutorBase::_nil ()); - - return retval; - } -} - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h deleted file mode 100644 index 605179ab613..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h +++ /dev/null @@ -1,271 +0,0 @@ -//$Id$ -/* - * @file Distributor_exec.h - * - * @author Ming Xiong <mxiong@dre.vanderbilt.edu> - */ - - - -#ifndef CIAO_DISTRIBUTOR_EXEC_H -#define CIAO_DISTRIBUTOR_EXEC_H - -#include /**/ "ace/pre.h" -#include "ace/Thread_Manager.h" -#include "ace/Task.h" - - -#include "Distributor_svnt.h" -#include "DistributorEC.h" -#include "Distributor_exec_export.h" - - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/LocalObject.h" - -namespace CIDL_StockDistributor_Impl -{ - class StockDistributor_exec_i; - - /** - * @class StockQuoter_exec_i - * - * @brief Executor implementation - * - * This class implements Stock::StockQuoter interface. We use this interface - * to acquire the information of the stock - */ - class DISTRIBUTOR_EXEC_Export StockQuoter_exec_i - : public virtual ::Stock::CCM_StockQuoter, - public virtual TAO_Local_RefCounted_Object - { - public: - StockQuoter_exec_i (StockDistributor_exec_i &distributor) - :distributor_ (distributor) - { - } - - // Operations from ::Stock::StockQuoter - - virtual ::Stock::StockInfo * - get_stock_info ( - const char * stock_name - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Stock::Invalid_Stock)); - - /// User defined - - private: - /// Maintains a handle to the distributor so that the quoter can refer to it for latest quote - StockDistributor_exec_i &distributor_; - }; - - class StockDistributor_exec_i; - - /** - * @class pulse generator - * - * @brief an active object used by StockDistributor to perform periodical pulse generation - * - */ - class pulse_Generator : public ACE_Task_Base - { - public: - pulse_Generator (StockDistributor_exec_i *callback); - - ~pulse_Generator (); - - /// Hook method that performs application-defined initialization activities - int open_h (void); - - /// Hook method that performs application-defined destruction activites - int close_h (void); - - /// appliation-defined method for starting the pulse-generation service - int start (CORBA::Long hertz); - - /// application-defined method for stopping the pulse-generation service - int stop (void); - - /// Indicate whether the current object is active - int active (void); - - /// Handle the timeout. - virtual int handle_timeout (const ACE_Time_Value &tv, - const void *arg); - - /// Called when timer handler is removed. - virtual int handle_close (ACE_HANDLE handle, - ACE_Reactor_Mask close_mask); - - /// Hook methods implemnting the task's service processing, - /// invoked by all threads activated by activate () method - virtual int svc (void); - - private: - /// Tracking whether we are actively generating pulse or not. - int active_; - - /// Maintains a handle that actually process the event - StockDistributor_exec_i *pulse_callback_; - - }; - - - /** - * @class StockDistributor_exec_i - * - * @brief Executor implementation - * - * This class implements Stock::StockDistributor component - */ - class DISTRIBUTOR_EXEC_Export StockDistributor_exec_i - : public virtual StockDistributor_Exec, - public virtual TAO_Local_RefCounted_Object - { - public: - StockDistributor_exec_i (void); - virtual ~StockDistributor_exec_i (void); - - // Supported or inherited operations. - - virtual void - start ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void - stop ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Attribute operations. - - virtual ::CORBA::Long - rate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual void - rate ( - ::CORBA::Long - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Port operations. - - virtual ::Stock::CCM_StockQuoter_ptr - get_push_quoter ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC ((CORBA::SystemException)); - - // Operations from Components::SessionComponent - - virtual void - set_session_context ( - ::Components::SessionContext_ptr ctx - ACE_ENV_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ciao_preactivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ciao_postactivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_activate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_passivate ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - virtual void - ccm_remove ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - - protected: - StockDistributor_Context *context_; - - /// User defined members - public: - - /// push event to all subscribers - void push_notify_out () - ACE_THROW_SPEC (( - ::CORBA::SystemException - )); - - private: - /// pulse generation rate - CORBA::Long rate_; - - /// pulser object - pulse_Generator pulser_; - - /// "real-time" stock value - static CORBA::Long msft_; - - /// "real-tiime" stock value - static CORBA::Long ibm_; - - friend class StockQuoter_exec_i; - }; - - - /** - * @class StockDistributorHome_exec_i - * - * @brief Executor implementation - * - * This class implements Stock::StockDistributorHome - */ - class DISTRIBUTOR_EXEC_Export StockDistributorHome_exec_i - : public virtual StockDistributorHome_Exec, - public virtual TAO_Local_RefCounted_Object - { - public: - StockDistributorHome_exec_i (void); - virtual ~StockDistributorHome_exec_i (void); - - virtual ::Components::EnterpriseComponent_ptr - create ( - ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) - ACE_THROW_SPEC (( - ::CORBA::SystemException, - ::Components::CCMException)); - }; - - extern "C" DISTRIBUTOR_EXEC_Export ::Components::HomeExecutorBase_ptr - createStockDistributorHome_Impl (void); -} - -#include /**/ "ace/post.h" - -#endif /* CIAO_DISTRIBUTOR_EXEC_H */ - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h deleted file mode 100644 index a3509e015da..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_EXEC -// ------------------------------ -#ifndef DISTRIBUTOR_EXEC_EXPORT_H -#define DISTRIBUTOR_EXEC_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (DISTRIBUTOR_EXEC_HAS_DLL) -# define DISTRIBUTOR_EXEC_HAS_DLL 1 -#endif /* ! DISTRIBUTOR_EXEC_HAS_DLL */ - -#if defined (DISTRIBUTOR_EXEC_HAS_DLL) && (DISTRIBUTOR_EXEC_HAS_DLL == 1) -# if defined (DISTRIBUTOR_EXEC_BUILD_DLL) -# define DISTRIBUTOR_EXEC_Export ACE_Proper_Export_Flag -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* DISTRIBUTOR_EXEC_BUILD_DLL */ -# define DISTRIBUTOR_EXEC_Export ACE_Proper_Import_Flag -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* DISTRIBUTOR_EXEC_BUILD_DLL */ -#else /* DISTRIBUTOR_EXEC_HAS_DLL == 1 */ -# define DISTRIBUTOR_EXEC_Export -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARATION(T) -# define DISTRIBUTOR_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* DISTRIBUTOR_EXEC_HAS_DLL == 1 */ - -// Set DISTRIBUTOR_EXEC_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (DISTRIBUTOR_EXEC_NTRACE) -# if (ACE_NTRACE == 1) -# define DISTRIBUTOR_EXEC_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define DISTRIBUTOR_EXEC_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !DISTRIBUTOR_EXEC_NTRACE */ - -#if (DISTRIBUTOR_EXEC_NTRACE == 1) -# define DISTRIBUTOR_EXEC_TRACE(X) -#else /* (DISTRIBUTOR_EXEC_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define DISTRIBUTOR_EXEC_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (DISTRIBUTOR_EXEC_NTRACE == 1) */ - -#endif /* DISTRIBUTOR_EXEC_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h deleted file mode 100644 index 1126c5bc355..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_STUB -// ------------------------------ -#ifndef DISTRIBUTOR_STUB_EXPORT_H -#define DISTRIBUTOR_STUB_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (DISTRIBUTOR_STUB_HAS_DLL) -# define DISTRIBUTOR_STUB_HAS_DLL 1 -#endif /* ! DISTRIBUTOR_STUB_HAS_DLL */ - -#if defined (DISTRIBUTOR_STUB_HAS_DLL) && (DISTRIBUTOR_STUB_HAS_DLL == 1) -# if defined (DISTRIBUTOR_STUB_BUILD_DLL) -# define DISTRIBUTOR_STUB_Export ACE_Proper_Export_Flag -# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* DISTRIBUTOR_STUB_BUILD_DLL */ -# define DISTRIBUTOR_STUB_Export ACE_Proper_Import_Flag -# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* DISTRIBUTOR_STUB_BUILD_DLL */ -#else /* DISTRIBUTOR_STUB_HAS_DLL == 1 */ -# define DISTRIBUTOR_STUB_Export -# define DISTRIBUTOR_STUB_SINGLETON_DECLARATION(T) -# define DISTRIBUTOR_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* DISTRIBUTOR_STUB_HAS_DLL == 1 */ - -// Set DISTRIBUTOR_STUB_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (DISTRIBUTOR_STUB_NTRACE) -# if (ACE_NTRACE == 1) -# define DISTRIBUTOR_STUB_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define DISTRIBUTOR_STUB_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !DISTRIBUTOR_STUB_NTRACE */ - -#if (DISTRIBUTOR_STUB_NTRACE == 1) -# define DISTRIBUTOR_STUB_TRACE(X) -#else /* (DISTRIBUTOR_STUB_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define DISTRIBUTOR_STUB_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (DISTRIBUTOR_STUB_NTRACE == 1) */ - -#endif /* DISTRIBUTOR_STUB_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h b/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h deleted file mode 100644 index 78debd1c32b..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl DISTRIBUTOR_SVNT -// ------------------------------ -#ifndef DISTRIBUTOR_SVNT_EXPORT_H -#define DISTRIBUTOR_SVNT_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (DISTRIBUTOR_SVNT_HAS_DLL) -# define DISTRIBUTOR_SVNT_HAS_DLL 1 -#endif /* ! DISTRIBUTOR_SVNT_HAS_DLL */ - -#if defined (DISTRIBUTOR_SVNT_HAS_DLL) && (DISTRIBUTOR_SVNT_HAS_DLL == 1) -# if defined (DISTRIBUTOR_SVNT_BUILD_DLL) -# define DISTRIBUTOR_SVNT_Export ACE_Proper_Export_Flag -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* DISTRIBUTOR_SVNT_BUILD_DLL */ -# define DISTRIBUTOR_SVNT_Export ACE_Proper_Import_Flag -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* DISTRIBUTOR_SVNT_BUILD_DLL */ -#else /* DISTRIBUTOR_SVNT_HAS_DLL == 1 */ -# define DISTRIBUTOR_SVNT_Export -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARATION(T) -# define DISTRIBUTOR_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* DISTRIBUTOR_SVNT_HAS_DLL == 1 */ - -// Set DISTRIBUTOR_SVNT_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (DISTRIBUTOR_SVNT_NTRACE) -# if (ACE_NTRACE == 1) -# define DISTRIBUTOR_SVNT_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define DISTRIBUTOR_SVNT_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !DISTRIBUTOR_SVNT_NTRACE */ - -#if (DISTRIBUTOR_SVNT_NTRACE == 1) -# define DISTRIBUTOR_SVNT_TRACE(X) -#else /* (DISTRIBUTOR_SVNT_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define DISTRIBUTOR_SVNT_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (DISTRIBUTOR_SVNT_NTRACE == 1) */ - -#endif /* DISTRIBUTOR_SVNT_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/README.html b/CIAO/docs/tutorials/Quoter/Simple/README.html deleted file mode 100644 index 85e38e81150..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/README.html +++ /dev/null @@ -1,172 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<!--//$Id$ --> -</head> -<body> -<b><font size="5">Quoter example README</font></b> -<p>To download the source codes of this example please refer to the SVN -repository at <code>$CIAO_ROOT\docs\tutorials\Quoter\Simple</code> -</p> -<hr> -<h2>Example Description</h2> -<div align="left"> -<font face="Times New Roman" size="3">The <b>StockDistributor</b> -component would be monitoring a real-time stock database. When the -values of particular stocks change, it pushes a CCM <b>eventtype</b> -that contains the stock's name via a CCM event source to the -corresponding CCM </font> -</div> -<div align="left"> -<font face="Times New Roman" size="3">event sink implemented by one or -more <b>StockBroker</b> components. If these components are interested -in the stock they can obtain more information about it by invoking a -request/response operation via their CCM receptacle on a CCM facet -exported by the <b>StockDistributor</b> component. The diagram of this -example is shown in fig 1.</font> -</div> -<p align="center"><img alt="" src="images/quoter.jpg" - style="width: 362px; height: 212px;"><br> -figure 1<br> -</p> -<h2 align="justify"><span style="font-weight: 400;"><font size="3"></font></span><span - style="font-weight: 400;"><font size="3">This example -is based on a series of </font> <a - href="http://www.cs.wustl.edu/%7Eschmidt/report-doc.html"><font - size="3">CORBA Component Model</font></a><font size="3"> columns -written by <a href="http://www.cs.wustl.edu/%7Eschmidt/">Douglas -Schmidt</a> and <a href="http://www.iona.com/hyplan/vinoski/">Steve -Vinoski</a>, and has been consistently used as a example for <a - href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>. Please -refer to <a - href="../../../../../docs/tutorials/Quoter/index.html">TAO -online tutorial</a> for details. <br> -</font></span></h2> -<h2>The files you will find</h2> -<li>The interfaces, data types and exceptions shared by the components -of -this -application are specified in the <a href="Stock_Base/Stock_Base.idl"><code>Stock_Base.idl</code></a>.<code></code>The -lib -generated -from Stock_Base.idl is linked to all the components of this example.</li> -<li> mpc files for each of the components are available in the -components -directories. We use the <a - href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">MPC</a> -to -generate makefiles and Visual C++ project/solutions files for all <a - href="http://www.cs.wustl.edu/%7Eschmidt/ACE.html">ACE</a>, <a - href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a> and <a - href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO</a> -libraries. </li> -<li> idl and cidl files for each component are placed in -components directory. -</li> -<li> The <code>_exec.h</code> and <code>_exec.cpp</code> files -are the actual -implementation of the components.</li> -<hr> -<h3><font size="5">Make</font></h3> -Navigate to the directory <code>$CIAO_ROOT/docs/tutorials/Quoter/Simple</code> -and do:<br> -<code>$ACE_ROOT/bin/mwc.pl -type gnuace</code> (use different -type option -if you are using a -compiler/IDE other than GNU make) <br> -For example, use <code>%ACE_ROOT%/bin/mwc.pl -type vc71</code> if you -are using -Visual C++ 7.1 IDE.<br> -<br> -Then build/make the generated project/make files. Correct errors in the -source codes if necessary.<br> -<hr> -<h3><font size="5">Assemble</font></h3> -<p>Now we can step forward to build the assembly. </p> -<li>In the descriptor subdirectory, you'll find a XML descriptor file -that -describes your <em>deployment plan</em>, the -flattened_deploymentplan.cdp. This file declaratively specifies how the -component assembly is -constructed. -Specifically, it defines the component types, component instances, -component -connections and implementation artifact descriptions. <br> -</li> -<dd> - <li>Please make sure that the Modified_Deployment.xsd and XMI.xsd -files -are in the Display/descriptors directory. The former file could be -found in $CIAO_ROOT/docs/schema -directory. <br> - <br> -Note: Creating the deployment plan descriptor is a tedious and -error-prone job, -you can download <a href="http://www.dre.vanderbilt.edu/cosmic">CoSMIC</a> -to -assist you in this step. Please refer to <a - href="http://www.dre.vanderbilt.edu/%7Emxiong/tutorial">this tutorial</a> -to see how you can use CoSMIC to automatically generate the descriptor -file. - <p></p> - <hr></li> -</dd> -<h2>Running the program </h2> ->From different shells in <code>$CIAO_ROOT/docs/tutorials/Quoter/Simple/</code><code>descriptors/</code> -directory: -<ul> - <li>Start NodeManagers (NodeDameon) by running runNodeDaemon.pl </li> - <li>Start the execution manager -$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o ior -i -Stock.dat </li> -</ul> -<p>The Stock.dat file describes the deployment daemons CIAO's -Execution_Manager -will contact to instantiate ComponentServer's, home's, and component -instances. -Each line specify the name of a installation "destination" and the -corresponding corbaloc IOR for the CIAO_Daemon.</p> -<ul type="square"> - <li><em>NOTE</em>: As one can see, we use the "Stock.dat" file to -instruct the Execution_Manager how to find the endpoint of each -individual NodeManager (i.e., Node Daemon) where component(s) will be -deployed, so this is non-standard. We plan to use Naming Service to do -this in the future. </li> -</ul> -<ul> - <li> Start the plan_launcher by running -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p -flattened_deploymentplan.cdp -k file://ior</li> - <li>By now the components should be successfully deployed. You may -run the driver program to start the application. Open a new shell, keep -in the /Quoter/descriptors directory, and try the following -commands, see what happens in the component server<br> - </li> -</ul> - <br> - Start the distributor -service at a frequency of 3 hertz:<br> - <span style="color: rgb(51, 102, 255);">../Distributor/Distributor.exe --o -r3</span><br> -<br> - Use the broker program to -subscribe to MSFT stock<br> - <span - style="color: rgb(51, 102, 255);">../Broker/Broker.exe -s MSFT</span><br> -<br> - Subscribe to IBM stock<br> - <span - style="color: rgb(51, 102, 255);">../Broker/Broker.exe -s IBM</span><br> -<br> - Unsubscribe to MSFT stock<br> - <span - style="color: rgb(51, 102, 255);">../Broker/Broker -u MSFT</span><br> -<br> - Turn off the distribution -service:<br> - <span - style="color: rgb(51, 102, 255);">../Distributor/Distributor -f </span><br> -<br> -Please contact mxiong@dre.vanderbilt.edu if you have any questions. - <br> -</body> -</html> diff --git a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.idl b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.idl deleted file mode 100644 index b038cdca509..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.idl +++ /dev/null @@ -1,41 +0,0 @@ -//$Id$ - -#include <Components.idl> - -module Stock -{ - exception Invalid_Stock {}; - typedef sequence<octet> ImageBlob; - - /** - * @struct StockInfo - */ - struct StockInfo { - string name; - long high; - long low; - long last; - }; - - /** - * @interface: StockQuoter - * - * @brief: component facet - */ - interface StockQuoter { - /// Returns the current stock info - StockInfo get_stock_info (in string stock_name) - raises (Invalid_Stock); - }; - - - /** - * @event StockName - * - * @brief component event - */ - eventtype StockName { - // Name of the stock. - public string name; - }; -}; diff --git a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc deleted file mode 100644 index 6f3cde298ff..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc +++ /dev/null @@ -1,46 +0,0 @@ -// $Id$ -// This file is generated with "generate_component_mpc.pl -n Stock_Base" - -project(Stock_Base_stub): ciao_client_dnc { - - sharedname = Stock_Base_stub - idlflags -= -GT - idlflags += -Wb,stub_export_macro=STOCK_BASE_STUB_Export \ - -Wb,stub_export_include=Stock_Base_stub_export.h \ - -Wb,skel_export_macro=STOCK_BASE_SKEL_Export \ - -Wb,skel_export_include=Stock_Base_skel_export.h - dynamicflags = STOCK_BASE_STUB_BUILD_DLL - - IDL_Files { - Stock_Base.idl - } - - Source_Files { - Stock_BaseC.cpp - } -} - -project(Stock_Base_skel) : ciao_servant_dnc { - after += Stock_Base_stub - sharedname = Stock_Base_skel - libs += Stock_Base_stub - - idlflags -= -GT - idlflags += -Wb,stub_export_macro=STOCK_BASE_STUB_Export \ - -Wb,stub_export_include=Stock_Base_stub_export.h \ - -Wb,skel_export_macro=STOCK_BASE_SKEL_Export \ - -Wb,skel_export_include=Stock_Base_skel_export.h - dynamicflags = STOCK_BASE_SKEL_BUILD_DLL - - IDL_Files { - Stock_Base.idl - } - - Source_Files { - Stock_BaseS.cpp - } -} - - - - diff --git a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_skel_export.h b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_skel_export.h deleted file mode 100644 index 262ab650fed..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_skel_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl STOCK_BASE_SVNT -// ------------------------------ -#ifndef STOCK_BASE_SKEL_EXPORT_H -#define STOCK_BASE_SKEL_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (STOCK_BASE_SKEL_HAS_DLL) -# define STOCK_BASE_SKEL_HAS_DLL 1 -#endif /* ! STOCK_BASE_SKEL_HAS_DLL */ - -#if defined (STOCK_BASE_SKEL_HAS_DLL) && (STOCK_BASE_SKEL_HAS_DLL == 1) -# if defined (STOCK_BASE_SKEL_BUILD_DLL) -# define STOCK_BASE_SKEL_Export ACE_Proper_Export_Flag -# define STOCK_BASE_SKEL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define STOCK_BASE_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* STOCK_BASE_SKEL_BUILD_DLL */ -# define STOCK_BASE_SKEL_Export ACE_Proper_Import_Flag -# define STOCK_BASE_SKEL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define STOCK_BASE_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* STOCK_BASE_SKEL_BUILD_DLL */ -#else /* STOCK_BASE_SKEL_HAS_DLL == 1 */ -# define STOCK_BASE_SKEL_Export -# define STOCK_BASE_SKEL_SINGLETON_DECLARATION(T) -# define STOCK_BASE_SKEL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* STOCK_BASE_SKEL_HAS_DLL == 1 */ - -// Set STOCK_BASE_SKEL_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (STOCK_BASE_SKEL_NTRACE) -# if (ACE_NTRACE == 1) -# define STOCK_BASE_SKEL_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define STOCK_BASE_SKEL_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !STOCK_BASE_SKEL_NTRACE */ - -#if (STOCK_BASE_SKEL_NTRACE == 1) -# define STOCK_BASE_SKEL_TRACE(X) -#else /* (STOCK_BASE_SKEL_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define STOCK_BASE_SKEL_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (STOCK_BASE_SKEL_NTRACE == 1) */ - -#endif /* STOCK_BASE_SKEL_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_stub_export.h b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_stub_export.h deleted file mode 100644 index 1b73531da37..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_stub_export.h +++ /dev/null @@ -1,54 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl STOCK_BASE_STUB -// ------------------------------ -#ifndef STOCK_BASE_STUB_EXPORT_H -#define STOCK_BASE_STUB_EXPORT_H - -#include "ace/config-all.h" - -#if !defined (STOCK_BASE_STUB_HAS_DLL) -# define STOCK_BASE_STUB_HAS_DLL 1 -#endif /* ! STOCK_BASE_STUB_HAS_DLL */ - -#if defined (STOCK_BASE_STUB_HAS_DLL) && (STOCK_BASE_STUB_HAS_DLL == 1) -# if defined (STOCK_BASE_STUB_BUILD_DLL) -# define STOCK_BASE_STUB_Export ACE_Proper_Export_Flag -# define STOCK_BASE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define STOCK_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* STOCK_BASE_STUB_BUILD_DLL */ -# define STOCK_BASE_STUB_Export ACE_Proper_Import_Flag -# define STOCK_BASE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define STOCK_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* STOCK_BASE_STUB_BUILD_DLL */ -#else /* STOCK_BASE_STUB_HAS_DLL == 1 */ -# define STOCK_BASE_STUB_Export -# define STOCK_BASE_STUB_SINGLETON_DECLARATION(T) -# define STOCK_BASE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* STOCK_BASE_STUB_HAS_DLL == 1 */ - -// Set STOCK_BASE_STUB_NTRACE = 0 to turn on library specific tracing even if -// tracing is turned off for ACE. -#if !defined (STOCK_BASE_STUB_NTRACE) -# if (ACE_NTRACE == 1) -# define STOCK_BASE_STUB_NTRACE 1 -# else /* (ACE_NTRACE == 1) */ -# define STOCK_BASE_STUB_NTRACE 0 -# endif /* (ACE_NTRACE == 1) */ -#endif /* !STOCK_BASE_STUB_NTRACE */ - -#if (STOCK_BASE_STUB_NTRACE == 1) -# define STOCK_BASE_STUB_TRACE(X) -#else /* (STOCK_BASE_STUB_NTRACE == 1) */ -# if !defined (ACE_HAS_TRACE) -# define ACE_HAS_TRACE -# endif /* ACE_HAS_TRACE */ -# define STOCK_BASE_STUB_TRACE(X) ACE_TRACE_IMPL(X) -# include "ace/Trace.h" -#endif /* (STOCK_BASE_STUB_NTRACE == 1) */ - -#endif /* STOCK_BASE_STUB_EXPORT_H */ - -// End of auto generated file. diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.ccd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.ccd deleted file mode 100644 index c2a0630b87b..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.ccd +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentInterfaceDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - - <label>Broker Component</label> - <UUID>803f8fc7-55de-4a20-81eb-ae951d85b7f4</UUID> - <specificType>IDL:Stock/StockBroker:1.0</specificType> - <supportedType>IDL:Stock/StockBroker:1.0</supportedType> - <port> - <name>notify_in</name> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>false</exclusiveUser> - <optional>false</optional> - <provider>false</provider> - <supportedType>IDL:Stock/StockName:1.0</supportedType> - <specificType>IDL:Stock/StockName:1.0</specificType> - <kind>EventConsumer</kind> - </port> - <port> - <name>read_quoter</name> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>false</exclusiveUser> - <optional>false</optional> - <provider>false</provider> - <supportedType>IDL:Stock/StockQuoter:1.0</supportedType> - <specificType>IDL:Stock/StockQuoter:1.0</specificType> - <kind>SimplexReceptacle</kind> - </port> - -</Deployment:ComponentInterfaceDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cid b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cid deleted file mode 100644 index 47f49102136..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cid +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentImplementationDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Broker Implementation</label> - <UUID>789e1be2-703f-4bd3-af50-b400eef91fd0</UUID> - <implements href="Broker.ccd"/> - <monolithicImpl> - <primaryArtifact> - <name>Broker_stub</name> - <referencedArtifact href="Broker_Stub.iad"/> - </primaryArtifact> - <primaryArtifact> - <name>Broker_svnt</name> - <referencedArtifact href="Broker_Svnt.iad"/> - </primaryArtifact> - <primaryArtifact> - <name>Broker_exec</name> - <referencedArtifact href="Broker_Exec.iad"/> - </primaryArtifact> - </monolithicImpl> - <configProperty> - <name>ComponentIOR</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>Broker.ior</string> - </value> - </value> - </configProperty> -</Deployment:ComponentImplementationDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cpd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cpd deleted file mode 100644 index cc6381b658a..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker.cpd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentPackageDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Broker Package</label> - <UUID>07ebf947-2174-4a3b-bd37-bcb92986eaf4</UUID> - <realizes href="Broker.ccd"/> - <implementation> - <name>Broker</name> - <referencedImplementation href="Broker.cid"/> - </implementation> -</Deployment:ComponentPackageDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Exec.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Exec.iad deleted file mode 100644 index 724a5b2c6bb..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Exec.iad +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Broker Executor Artifact</label> - <UUID>5e4f2366-3810-4d4c-a269-5788a525cbe1</UUID> - <location>Broker_exec</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> - <dependsOn> - <name>Broker_Stub</name> - <referencedArtifact href="Broker_Stub.iad"/> - </dependsOn> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>createStockBrokerHome_Impl</string> - </value> - </value> - </execParameter> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Stub.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Stub.iad deleted file mode 100644 index ac1f0834e19..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Stub.iad +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Broker Stub Artifact</label> - <UUID>93bbdf7d-d3f7-4227-bb75-b0562ac15b92</UUID> - <location>Broker_stub</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Svnt.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Svnt.iad deleted file mode 100644 index 2944181e015..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Broker_Svnt.iad +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Broker Servant Artifact</label> - <UUID>04e4d246-e6eb-4b0e-8e32-60b996497cea</UUID> - <location>Broker_svnt</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> - <dependsOn> - <name>Broker_Stub</name> - <referencedArtifact href="Broker_Stub.iad"/> - </dependsOn> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>create_Stock_StockBrokerHome_Servant</string> - </value> - </value> - </execParameter> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.ccd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.ccd deleted file mode 100644 index 7557e143c56..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.ccd +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentInterfaceDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - - <label>Distributor Component</label> - <UUID>803f8fc7-55de-4a20-81eb-ae951d85b7f4</UUID> - <specificType>IDL:Stock/StockDistributor:1.0</specificType> - <supportedType>IDL:Stock/StockDistributor:1.0</supportedType> - <port> - <name>supports</name> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>false</exclusiveUser> - <optional>false</optional> - <provider>true</provider> - <supportedType>IDL:Stock/Trigger:1.0</supportedType> - <kind>Facet</kind> - </port> - <port> - <name>notify_out</name> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>false</exclusiveUser> - <optional>false</optional> - <provider>true</provider> - <supportedType>IDL:Stock/StockName:1.0</supportedType> - <specificType>IDL:Stock/StockName:1.0</specificType> - <kind>EventPublisher</kind> - </port> - <port> - <name>push_quoter</name> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>false</exclusiveUser> - <optional>false</optional> - <provider>true</provider> - <supportedType>IDL:Stock/StockQuoter:1.0</supportedType> - <specificType>IDL:Stock/StockQuoter:1.0</specificType> - <kind>Facet</kind> - </port> -</Deployment:ComponentInterfaceDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cid b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cid deleted file mode 100644 index b5eac80c543..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cid +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentImplementationDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Distributor Implementation</label> - <UUID>789e1be2-703f-4bd3-af50-b400eef91fd0</UUID> - <implements href="Distributor.ccd"/> - <monolithicImpl> - <primaryArtifact> - <name>Distributor_Stub</name> - <referencedArtifact href="Distributor_Stub.iad"/> - </primaryArtifact> - <primaryArtifact> - <name>Distributor_Svnt</name> - <referencedArtifact href="Distributor_Svnt.iad"/> - </primaryArtifact> - <primaryArtifact> - <name>Distributor_Exec</name> - <referencedArtifact href="Distributor_Exec.iad"/> - </primaryArtifact> - </monolithicImpl> - <configProperty> - <name>ComponentIOR</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>Distributor.ior</string> - </value> - </value> - </configProperty> -</Deployment:ComponentImplementationDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cpd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cpd deleted file mode 100644 index c451a5637e8..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor.cpd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentPackageDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Distributor Package</label> - <UUID>07ebf947-2174-4a3b-bd37-bcb92986eaf4</UUID> - <realizes href="Distributor.ccd"/> - <implementation> - <name>Distributor</name> - <referencedImplementation href="Distributor.cid"/> - </implementation> -</Deployment:ComponentPackageDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Exec.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Exec.iad deleted file mode 100644 index 784e11b99bf..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Exec.iad +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Distributor Executor Artifact</label> - <UUID>5e4f2366-3810-4d4c-a269-5788a525cbe1</UUID> - <location>Distributor_exec</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> - <dependsOn> - <name>Distributor_Stub</name> - <referencedArtifact href="Distributor_Stub.iad"/> - </dependsOn> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>createStockDistributorHome_Impl</string> - </value> - </value> - </execParameter> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Stub.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Stub.iad deleted file mode 100644 index c55a74916ef..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Stub.iad +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Distributor Stub Artifact</label> - <UUID>93bbdf7d-d3f7-4227-bb75-b0562ac15b92</UUID> - <location>Distributor_stub</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Svnt.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Svnt.iad deleted file mode 100644 index 7643089044f..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Distributor_Svnt.iad +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Distributor Servant Artifact</label> - <UUID>04e4d246-e6eb-4b0e-8e32-60b996497cea</UUID> - <location>Distributor_svnt</location> - <dependsOn> - <name>ACE</name> - <referencedArtifact href="Libraries.iad"/> - </dependsOn> - <dependsOn> - <name>Distributor_Stub</name> - <referencedArtifact href="Distributor_Stub.iad"/> - </dependsOn> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>create_Stock_StockDistributorHome_Servant</string> - </value> - </value> - </execParameter> -</Deployment:ImplementationArtifactDescription>
\ No newline at end of file diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Domain.cdd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Domain.cdd deleted file mode 100644 index b4dd3c729ef..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Domain.cdd +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<Deployment:Domain - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> -<label>Stock Domain</label> -<UUID>effd4bd0-6db0-4c50-9bb7-db9decebae1c</UUID> -<node> - <name>Distributor</name> - <label>Distributor's Node</label> -</node> -<node> - <name>Broker</name> - <label>Broker's Node</label> -</node> -</Deployment:Domain> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Libraries.iad b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Libraries.iad deleted file mode 100644 index 720a7ce8219..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Libraries.iad +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ImplementationArtifactDescription xmlns:Deployment="http://www.omg.org/Deployment" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Common Libraries</label> - <UUID>6bae4fcd-c71c-44b4-a0d4-0e4199ce1a49</UUID> - <location>$ACE_ROOT/lib/libACE</location> - <location>$ACE_ROOT/lib/libTAO</location> - <location>$ACE_ROOT/lib/libCIAO_Client</location> -</Deployment:ImplementationArtifactDescription> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cdp b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cdp deleted file mode 100644 index 4d327f991c2..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cdp +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:DeploymentPlan - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Stock Deployment Plan</label> - <instance xmi:id="a_Distributor"> - <name>Distributor_Instance</name> - <node>Distributor</node> - </instance> - <instance xmi:id="a_Broker01"> - <name>Broker_Instance_01</name> - <node>Broker01</node> - </instance> -</Deployment:DeploymentPlan> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cid b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cid deleted file mode 100644 index 2d2160bba7d..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cid +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentImplementationDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Stock Example Assembly</label> - <UUID>effd4bd0-6db0-4c50-9bb7-db9decebae1c</UUID> - <assemblyImpl> - <instance xmi:id="a_Distributor"> - <name>Distributor_Instance</name> - <package href="Distributor.cpd"/> - </instance> - <instance xmi:id="a_Broker01"> - <name>Broker_Instance_01</name> - <package href="Broker.cpd"/> - </instance> - <connection> - <name>quoter_conn</name> - <internalEndpoint> - <portName>read_quoter</portName> - <instance xmi:idref="a_Broker01"/> - </internalEndpoint> - <internalEndpoint> - <portName>push_quoter</portName> - <instance xmi:idref="a_Distributor"/> - </internalEndpoint> - </connection> - <connection> - <name>StockName_event</name> - <internalEndpoint> - <portName>notify_in</portName> - <instance xmi:idref="a_Broker01"/> - </internalEndpoint> - <internalEndpoint> - <portName>notify_out</portName> - <instance xmi:idref="a_Distributor"/> - </internalEndpoint> - </connection> - </assemblyImpl> -</Deployment:ComponentImplementationDescription> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cpd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cpd deleted file mode 100644 index 6b2ece8e164..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.cpd +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:ComponentPackageDescription - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Stock Example Package</label> - <UUID>823e4287-f53c-4caa-8619-f3dfda4c4998</UUID> - <implementation> - <name>Stock</name> - <referencedImplementation href="Stock.cid"/> - </implementation> -</Deployment:ComponentPackageDescription> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.dat b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.dat deleted file mode 100644 index 6079555046c..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.dat +++ /dev/null @@ -1,3 +0,0 @@ -DistributorNode corbaloc:iiop:localhost:30000/NodeManager
-BrokerNode corbaloc:iiop:localhost:40000/NodeManager
-
diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.pcd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.pcd deleted file mode 100644 index d65c2d9f86b..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/Stock.pcd +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:PackageConfiguration -xmlns:Deployment="http://www.omg.org/Deployment" -xmlns:xmi="http://www.omg.org/XMI" -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <label>Stock Example Configuration for Unix machines</label> - <UUID>559d65e8-0407-48c0-a158-dafe21360fef</UUID> - <basePackage href="Stock.cpd"/> -</Deployment:PackageConfiguration> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/XMI.xsd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/XMI.xsd deleted file mode 100644 index f4adac91934..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/XMI.xsd +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema targetNamespace="http://www.omg.org/XMI" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='http://www.w3.org/2001/XMLSchema XMLSchema.xsd'> - <xsd:attribute name="id" type="xsd:ID" /> - <xsd:attributeGroup name="IdentityAttribs"> - <xsd:attribute form="qualified" name="label" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="uuid" type="xsd:string" use="optional" /> - </xsd:attributeGroup> - <xsd:attributeGroup name="LinkAttribs"> - <xsd:attribute name="href" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="idref" type="xsd:IDREF" use="optional" /> - </xsd:attributeGroup> - <xsd:attributeGroup name="ObjectAttribs"> - <xsd:attributeGroup ref="xmi:IdentityAttribs" /> - <xsd:attributeGroup ref="xmi:LinkAttribs" /> - <xsd:attribute fixed="2.0" form="qualified" name="version" type="xsd:string" use="optional" /> - <xsd:attribute form="qualified" name="type" type="xsd:QName" use="optional" /> - </xsd:attributeGroup> - <xsd:complexType name="Extension"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:any processContents="lax" /> - </xsd:choice> - <xsd:attribute ref="xmi:id" /> - <xsd:attributeGroup ref="xmi:ObjectAttribs" /> - <xsd:attribute name="extender" type="xsd:string" use="optional" /> - <xsd:attribute name="extenderID" type="xsd:string" use="optional" /> - </xsd:complexType> - <xsd:element name="Extension" type="xmi:Extension" /> - <xsd:complexType name="Any"> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:any processContents="skip" /> - </xsd:choice> - <xsd:anyAttribute processContents="skip" /> - </xsd:complexType> -</xsd:schema> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp b/CIAO/docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp deleted file mode 100644 index 86f7c27b786..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp +++ /dev/null @@ -1,222 +0,0 @@ -<Deployment:deploymentPlan - xmlns:Deployment="http://www.omg.org/Deployment" - xmlns:xmi="http://www.omg.org/XMI" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - - <label>Quoter-DeploymentPlan</label> - <!-- Could be ZERO --> - <realizes> - <label>Quoter-realizes-cid</label> - <UUID>c0965470-7b83-11d9-9669-0800200c9a66</UUID> - <specificType><!-- @@ What does here? --></specificType> - <supportedType>IDL:Quoter/EC:1.0</supportedType> - <port> - <name>read_quoter</name> - <specificType>IDL:Quoter/Read_Quoter:1.0</specificType> - <supportedType>IDL:Quoter/Read_Quoter:1.0</supportedType> - <provider>false></provider> - <exclusiveProvider>false</exclusiveProvider> - <exclusiveUser>true</exclusiveUser> - <optional>false</optional> - <kind>SimplexReceptacle</kind> - </port> - </realizes> - - <implementation id="Quoter-Distributor-mdd"> - <name>Quoter-Distributor-mdd</name> - <source><!-- @@ Don't know what goes here --></source> - <artifact>Quoter-Distributor_exec</artifact> - <artifact>Quoter-Distributor_svnt</artifact> - <artifact>Quoter-Distributor_stub</artifact> - <artifact>Quoter-Base_stub</artifact> - <artifact>Quoter-Base_svnt</artifact> - <!-- - <execParameter></execParameter> - <deployRequirement></deployRequirement> - --> - </implementation> - - <implementation id="Quoter-Broker-mdd"> - <name>Quoter-Broker-mdd</name> - <source><!-- @@ Don't know what goes here --></source> - <artifact>Quoter-Broker_exec</artifact> - <artifact>Quoter-Broker_svnt</artifact> - <artifact>Quoter-Broker_stub</artifact> - <artifact>Quoter-Base_stub</artifact> - <artifact>Quoter-Base_svnt</artifact> - <!-- - <execParameter></execParameter> - <deployRequirement></deployRequirement> - --> - </implementation> - - <instance id="Quoter-Distributor-idd"> - <name>Quoter-Distributor-idd</name> - <node>DistributorNode</node> - <source><!-- @@ What goes here --></source> - <implementation>Quoter-Distributor-mdd</implementation> - <configProperty> - <name>ComponentIOR</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>Distributor.ior</string> - </value> - </value> - </configProperty> - </instance> - - <instance id="Quoter-Broker-idd"> - <name>Quoter-Broker-idd</name> - <node>BrokerNode</node> - <source><!-- @@ What goes here --></source> - <implementation>Quoter-Broker-mdd</implementation> - <configProperty> - <name>ComponentIOR</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>Broker.ior</string> - </value> - </value> - </configProperty> - </instance> - - - <connection> - <name>Quoter_event_connection</name> - <internalEndpoint> - <portName>notify_out</portName> - <kind>EventPublisher</kind> - <instance>Quoter-Distributor-idd</instance> - </internalEndpoint> - <internalEndpoint> - <portName>notify_in</portName> - <kind>EventConsumer</kind> - <instance>Quoter-Broker-idd</instance> - </internalEndpoint> - </connection> - - <connection> - <name>Quoter_facet_connection</name> - <internalEndpoint> - <portName>push_quoter</portName> - <kind>Facet</kind> - <instance>Quoter-Distributor-idd</instance> - </internalEndpoint> - <internalEndpoint> - <portName>read_quoter</portName> - <kind>SimplexReceptacle</kind> - <instance>Quoter-Broker-idd</instance> - </internalEndpoint> - </connection> - - <!-- @@ Runtime library name must match exactly in "location" tag --> - <artifact id="Quoter-Distributor_exec"> - <name>Distributor_exec</name> - <source><!-- @@ Not sure about this--></source> - <node><!-- blank --></node> - <location>Distributor_exec</location> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>createStockDistributorHome_Impl</string> - </value> - </value> - </execParameter> - </artifact> - - <artifact id="Quoter-Distributor_svnt"> - <name>Distributor_svnt</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Distributor_svnt</location> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>create_Stock_StockDistributorHome_Servant</string> - </value> - </value> - </execParameter> - </artifact> - - <artifact id="Quoter-Distributor_stub"> - <name>Distributor_stub</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Distributor_stub</location> - </artifact> - - <artifact id="Quoter-Broker_exec"> - <name>Broker_exec</name> - <source><!-- @@ Not sure about this--></source> - <node><!-- blank --></node> - <location>Broker_exec</location> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>createStockBrokerHome_Impl</string> - </value> - </value> - </execParameter> - </artifact> - - <artifact id="Quoter-Broker_svnt"> - <name>Broker_svnt</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Broker_svnt</location> - <execParameter> - <name>entryPoint</name> - <value> - <type> - <kind>tk_string</kind> - </type> - <value> - <string>create_Stock_StockBrokerHome_Servant</string> - </value> - </value> - </execParameter> - </artifact> - - <artifact id="Quoter-Broker_stub"> - <name>Broker_stub</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Broker_stub</location> - </artifact> - - - <artifact id="Quoter-Base_stub"> - <name>Stock_Base_stub</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Stock_Base_stub</location> - </artifact> - - <artifact id="Quoter-Base_svnt"> - <name>Stock_Base_svnt</name> - <source><!-- @@ Not sure --></source> - <node><!-- blank --></node> - <location>Stock_Base_svnt</location> - </artifact> - -</Deployment:deploymentPlan> - diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/package.tpd b/CIAO/docs/tutorials/Quoter/Simple/descriptors/package.tpd deleted file mode 100644 index b753de7b7ff..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/package.tpd +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<Deployment:TopLevelPackageDescription -xmlns:Deployment="http://www.omg.org/Deployment" -xmlns:xmi="http://www.omg.org/XMI" -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> - <package href="Stock.pcd"/> -</Deployment:TopLevelPackageDescription> diff --git a/CIAO/docs/tutorials/Quoter/Simple/descriptors/runNodeDaemons.pl b/CIAO/docs/tutorials/Quoter/Simple/descriptors/runNodeDaemons.pl deleted file mode 100644 index b00cced27eb..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/descriptors/runNodeDaemons.pl +++ /dev/null @@ -1,40 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; - -# $Id$ -# -*- perl -*- - -use lib "../../../../../../bin"; -use PerlACE::Run_Test; - -$status = 0; -$iorfile1 = PerlACE::LocalFile ("NodeApp1.ior"); -$iorfile2 = PerlACE::LocalFile ("NodeApp2.ior"); - -#for ($iter = 0; $iter <= $#ARGV; $iter++) { -# if ($ARGV[$iter] eq "-h" || $ARGV[$iter] eq "-?") { -# print "Run_Test Perl script for NodeApplicationTest \n\n"; -# print "run_test \n"; -# print "\n"; -# print "-h -- prints this information\n"; -# exit 0; -# } -#} - - -unlink $iorfile1; -unlink $iorfile2; - -$CIAO_ROOT=$ENV{'CIAO_ROOT'}; - -$SV1 = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeManager/NodeManager", - "-ORBEndpoint iiop://localhost:30000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); - -$SV2 = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeManager/NodeManager", - "-ORBEndpoint iiop://localhost:40000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); - -$SV1->Spawn (); -$SV2->Spawn (); - -sleep (99999999999); diff --git a/CIAO/docs/tutorials/Quoter/Simple/images/quoter.jpg b/CIAO/docs/tutorials/Quoter/Simple/images/quoter.jpg Binary files differdeleted file mode 100644 index 2f3edd11329..00000000000 --- a/CIAO/docs/tutorials/Quoter/Simple/images/quoter.jpg +++ /dev/null diff --git a/CIAO/docs/value_factory_registration.html b/CIAO/docs/value_factory_registration.html deleted file mode 100644 index 3c2a45d6815..00000000000 --- a/CIAO/docs/value_factory_registration.html +++ /dev/null @@ -1,49 +0,0 @@ -<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Jeff Parsons"> - <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> - <title>Registration of Valuetype Factories for Event Sinks</title> - <!-- $Id$ --> - </head> - <body> - <h3>Registration of Valuetype Factories for Event Sinks</h3> - <p>Components with one or more event sink (consumer) ports will need to have a - valuetype factory registered with the underlying ORB in order to correctly - demarshal the state of eventtypes it receives over the wire.</p> - <p>For the common case (eventtypes that contain only one or more state members), - the IDL compiler generates a concrete class with a name constructed from the - valuetype name and an '_init' suffix, and the CIDL compiler generates a macro - in the servant constructor that registers this factory with the container's - ORB. However, an eventtype, like any valuetype, may also contain operation - and/or factory declarations. In these cases things are not so simple. For - example a factory declaration in an IDL valuetype or eventtype will generate a - pure virtual function of the same name in the associated _init class, meaning - that ORB factory registration for this type must be with a derived factory - class written by the application developer. The table below shows all possible - cases of IDL compiler factory generation.</p> - <TABLE BORDER="4" CELLSPACING="4" CELLPADDING="4" ID="Table1"> - <TR> - <TD></TD> - <TD><b>Has Operation</b></TD> - <TD><b>Has No Operation</b></TD> - </TR> - <tr> - <td><b>Has Factory</b></td> - <td>ABSTRACT FACTORY</td> - <td>ABSTRACT FACTORY</td> - </tr> - <tr> - <td><b>Has No Factory</b></td> - <td>NO FACTORY</td> - <td>CONCRETE FACTORY</td> - </tr> - </TABLE> - <p>The CIAO CIDL compiler will generate a macro to register the factory with the - container's ORB only in the case where a concrete factory is generated by the - IDL compiler, and thus no subclassing is necessary. There is also a command - line option for the CIDL compiler, <tt>--suppress-register-factory</tt>, - that turns off generation of the macro in all cases.</p> - </body> -</html> |