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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
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>
|