diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:10:39 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:10:39 +0000 |
commit | e7b830ab561638ed25822054be80ce12e8801d38 (patch) | |
tree | a5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/docs/tutorials/CoSMIC | |
parent | 9b720f395833b3ce2f499463e5fed37a0da926f4 (diff) | |
download | ATCD-DiffServ-Merge.tar.gz |
branching/taggingDiffServ-Merge
Diffstat (limited to 'modules/CIAO/docs/tutorials/CoSMIC')
21 files changed, 3108 insertions, 0 deletions
diff --git a/modules/CIAO/docs/tutorials/CoSMIC/01.html b/modules/CIAO/docs/tutorials/CoSMIC/01.html new file mode 100644 index 00000000000..73db63f7236 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/01.html @@ -0,0 +1,185 @@ +<!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/modules/CIAO/docs/tutorials/CoSMIC/02.html b/modules/CIAO/docs/tutorials/CoSMIC/02.html new file mode 100644 index 00000000000..8f4e7decc11 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/02.html @@ -0,0 +1,554 @@ +<!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/modules/CIAO/docs/tutorials/CoSMIC/03.html b/modules/CIAO/docs/tutorials/CoSMIC/03.html new file mode 100644 index 00000000000..c2da3726762 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/03.html @@ -0,0 +1,79 @@ +<!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/modules/CIAO/docs/tutorials/CoSMIC/04.html b/modules/CIAO/docs/tutorials/CoSMIC/04.html new file mode 100644 index 00000000000..dce2fb1364c --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/04.html @@ -0,0 +1,77 @@ +<!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/modules/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif b/modules/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif Binary files differnew file mode 100644 index 00000000000..3604d32946d --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Icons/AddConnMode.gif diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif b/modules/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif Binary files differnew file mode 100644 index 00000000000..6dcad861f07 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Icons/SetMode.gif diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg Binary files differnew file mode 100644 index 00000000000..a8550fe1176 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig1.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg Binary files differnew file mode 100644 index 00000000000..3db5ac174e0 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig10.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg Binary files differnew file mode 100644 index 00000000000..c5eaf705384 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig11.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg Binary files differnew file mode 100644 index 00000000000..ea2a885af6b --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig12.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg Binary files differnew file mode 100644 index 00000000000..49d6f90c3b0 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig2.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg Binary files differnew file mode 100644 index 00000000000..0559dc7382b --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig3.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg Binary files differnew file mode 100644 index 00000000000..8fb89eccb57 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig4.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg Binary files differnew file mode 100644 index 00000000000..e847b9290d6 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig5.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg Binary files differnew file mode 100644 index 00000000000..0a214c84ea8 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig6.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg Binary files differnew file mode 100644 index 00000000000..67d90b775b0 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig7.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg Binary files differnew file mode 100644 index 00000000000..a565c2ab989 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig8.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg Binary files differnew file mode 100644 index 00000000000..996d90d800b --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Images/fig9.jpg diff --git a/modules/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme b/modules/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme new file mode 100644 index 00000000000..10f968f69ca --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/Model/Quoter.xme @@ -0,0 +1,2003 @@ +<?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/modules/CIAO/docs/tutorials/CoSMIC/index.html b/modules/CIAO/docs/tutorials/CoSMIC/index.html new file mode 100644 index 00000000000..74547224422 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/index.html @@ -0,0 +1,195 @@ +<!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://download.dre.vanderbilt.edu">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/modules/CIAO/docs/tutorials/CoSMIC/style.css b/modules/CIAO/docs/tutorials/CoSMIC/style.css new file mode 100644 index 00000000000..b86b9ceb671 --- /dev/null +++ b/modules/CIAO/docs/tutorials/CoSMIC/style.css @@ -0,0 +1,15 @@ + +/* 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; +} |