summaryrefslogtreecommitdiff
path: root/TAO/CIAO/docs/tutorials/CoSMIC/01.html
blob: acdd46e5ae142de94e9b587856c2a50be197e905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<!-- $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>
&nbsp;&nbsp;&nbsp;1. Create a directory named <code> MyQuoter</code>.<br>
&nbsp;&nbsp;&nbsp;2. In <code>MyQuoter</code> directory, create one
directory for the basic idl; <code>Stock_Base</code> and for each
component; <code>Broker</code> and <code>Distributor</code>. In <code>MyQuoter/Stock_Base</code>,
place the
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">this</a>.
This file defines the interfaces and events that will be used by both
Stock Distributor and Stock Broker. We put together the
common definitions so the generated base library can be shared by both
components, thus reducing the size of "real" components. <br>
&nbsp;&nbsp;&nbsp;3. In <code>MyQuoter/Distributor</code>, place the
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 Stock Distributor component interfaces.<br>
&nbsp;&nbsp;&nbsp;4. In <code>MyQuoter/Broker</code> place the idl
file for the stock broker; the <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>
<br>
<b>Importing IDL to PICML</b><br>
<br>
&nbsp;&nbsp; To quick start our Stock Quoter
modeling process in GME, CoSMIC introduces <i style=""><span
 style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;" lang="EN-US">idl_to_picml
</span></i>, which is an executable program that imports the IDL files
you just created into modeling elements in PICML. <br>
&nbsp;&nbsp;&nbsp; 1. Make sure <code>%COSMIC_ROOT%\bin</code> is
included in the
PATH variable. <br>
&nbsp;&nbsp;&nbsp; 2. 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>
&nbsp;&nbsp;&nbsp; 3. Copy all three idl files, i.e.
MyQuoter\Stock_Base\Stock_Base.idl MyQuoter\Broker\Broker.idl
MyQuoter\Distributor\Distributor.idl&nbsp; to the .\MyQuoter directory.
And make sure you <span style="font-weight: bold;">remove(or comment)</span>
the include declaration in <span style="font-style: italic;">Distributor.idl</span>
and <span style="font-style: italic;">Broker.idl</span>, e.g., //
#include "../Stock_Base/Stock_Base.idl. This step is important because <span
 style="font-style: italic;">idl_to_picml </span>does not generate XML
for included idls, so you have to parse the closure set of all included
files into the command line. <br>
&nbsp;&nbsp;&nbsp; 4. In the same command prompt, change directory to <code>MyQuoter\</code>,
and type the following
command:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <span
 style="font-family: monospace;">idl_to_picml</span><code> -x MyQuoter
Stock_Base.idl Broker.idl Distributor.idl<br>
&nbsp;&nbsp; (if the above command does not work, you may also try this<br>
&nbsp;&nbsp; &gt;idl_to_picml -x MyQuoter Stock_Base.idl Broker.idl
Distributor.idl&nbsp; -I %TAO_ROOT%
-I %TAO_ROOT%\orbsvcs -I %CIAO_ROOT%\ciao)</code><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
 style="font-style: italic;">idl_to_picml</span>
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 <span
 style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;" lang="EN-US">PICML_default_xme_file.xme.</span><br>
&nbsp;&nbsp;&nbsp; 5. Start GME, select <strong>File-&gt;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>
<br>
<div style="text-align: center;"><img alt="" src="Images/fig2.jpg"
 style="width: 781px; height: 635px;"><br>
<br>
Figure 2<br>
<div style="text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp; 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-shaped entity which represents a
&lt;&lt;FileRef&gt;&gt; instance and a yellow box-shaped entity
representing a &lt;&lt;Package&gt;&gt; instance. Their equivalent
representations in IDL files are "#include" and "module" respectively.
Play around with them, and you will get familiar with PICML
representation of
IDL elements.
Figure 3 gives you a clear view of
GME representation of all the 3 idl files created.<br>
<br>
<div style="text-align: center;"><img alt="" src="Images/fig3.jpg"
 style="width: 223px; height: 336px;"><br>
<br>
Figure 3<br>
<br>
<div style="text-align: left;">Now we are ready to model the rest of
the Stock Quoter systems by hand. <br>
<br>
<br>
</div>
</div>
<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></div>
</div>
<big><big><small><span style="font-weight: bold;"><small><span
 style="font-weight: bold;"><span style="font-weight: bold;"></span></span></small></span></small></big></big>&nbsp;&nbsp;&nbsp;
<br style="font-style: italic;">
<hr style="font-style: italic;">
<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>