summaryrefslogtreecommitdiff
path: root/TAO/CIAO/docs/tutorials/CoSMIC/01.html
blob: e43e2c148a85572251e289e472d2660f1b0372e5 (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
<!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> <span
 style="font-style: italic;">MyQuoter</span></code><span
 style="font-style: italic;">.</span><br>
&nbsp;&nbsp;&nbsp;2. In <code style="font-style: italic;">MyQuoter</code><span
 style="font-style: italic;"> </span>directory, create one
directory <span style="font-style: italic;">Stock_Base</span> <code></code>for
the base idl <code></code>and two more directories <span
 style="font-style: italic;">Broker</span>, <span
 style="font-style: italic;">Distributor </span>for each
component<code></code>. 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. We put together the
common interface definitions so the base library can be shared by both
components, reducing the size of "real" components. <br>
&nbsp;&nbsp;&nbsp;3. 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>
&nbsp;&nbsp;&nbsp;4. 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>
<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 PICML. <br>
&nbsp;&nbsp;&nbsp; 1. Make sure <code>%COSMIC_ROOT%\bin</code> is
included in the
PATH variable, e.g., c:\Program Files\ISIS\CoSMIC\bin. <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. 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\Stock_Base.idl .\Broker\Broker.idl
.\Distributor\Distributor.idl -I .\Stock_Base<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\Stock_Base.idl
.\Broker\Broker.idl
.\Distributor\Distributor.idl&nbsp; -I .\Stock_Base -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; 4. 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-like 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.
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. <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. <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>