Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / yacsloader / README.html
1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
7 <title>Work in progress</title>
8 <style type="text/css">
9
10 /*
11 :Author: David Goodger
12 :Contact: goodger@users.sourceforge.net
13 :Date: $Date$
14 :Revision: $Revision$
15 :Copyright: This stylesheet has been placed in the public domain.
16
17 Default cascading style sheet for the HTML output of Docutils.
18
19 See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
20 customize this style sheet.
21 */
22
23 /* used to remove borders from tables and images */
24 .borderless, table.borderless td, table.borderless th {
25   border: 0 }
26
27 table.borderless td, table.borderless th {
28   /* Override padding for "table.docutils td" with "! important".
29      The right padding separates the table cells. */
30   padding: 0 0.5em 0 0 ! important }
31
32 .first {
33   /* Override more specific margin styles with "! important". */
34   margin-top: 0 ! important }
35
36 .last, .with-subtitle {
37   margin-bottom: 0 ! important }
38
39 .hidden {
40   display: none }
41
42 a.toc-backref {
43   text-decoration: none ;
44   color: black }
45
46 blockquote.epigraph {
47   margin: 2em 5em ; }
48
49 dl.docutils dd {
50   margin-bottom: 0.5em }
51
52 /* Uncomment (and remove this text!) to get bold-faced definition list terms
53 dl.docutils dt {
54   font-weight: bold }
55 */
56
57 div.abstract {
58   margin: 2em 5em }
59
60 div.abstract p.topic-title {
61   font-weight: bold ;
62   text-align: center }
63
64 div.admonition, div.attention, div.caution, div.danger, div.error,
65 div.hint, div.important, div.note, div.tip, div.warning {
66   margin: 2em ;
67   border: medium outset ;
68   padding: 1em }
69
70 div.admonition p.admonition-title, div.hint p.admonition-title,
71 div.important p.admonition-title, div.note p.admonition-title,
72 div.tip p.admonition-title {
73   font-weight: bold ;
74   font-family: sans-serif }
75
76 div.attention p.admonition-title, div.caution p.admonition-title,
77 div.danger p.admonition-title, div.error p.admonition-title,
78 div.warning p.admonition-title {
79   color: red ;
80   font-weight: bold ;
81   font-family: sans-serif }
82
83 /* Uncomment (and remove this text!) to get reduced vertical space in
84    compound paragraphs.
85 div.compound .compound-first, div.compound .compound-middle {
86   margin-bottom: 0.5em }
87
88 div.compound .compound-last, div.compound .compound-middle {
89   margin-top: 0.5em }
90 */
91
92 div.dedication {
93   margin: 2em 5em ;
94   text-align: center ;
95   font-style: italic }
96
97 div.dedication p.topic-title {
98   font-weight: bold ;
99   font-style: normal }
100
101 div.figure {
102   margin-left: 2em ;
103   margin-right: 2em }
104
105 div.footer, div.header {
106   clear: both;
107   font-size: smaller }
108
109 div.line-block {
110   display: block ;
111   margin-top: 1em ;
112   margin-bottom: 1em }
113
114 div.line-block div.line-block {
115   margin-top: 0 ;
116   margin-bottom: 0 ;
117   margin-left: 1.5em }
118
119 div.sidebar {
120   margin-left: 1em ;
121   border: medium outset ;
122   padding: 1em ;
123   background-color: #ffffee ;
124   width: 40% ;
125   float: right ;
126   clear: right }
127
128 div.sidebar p.rubric {
129   font-family: sans-serif ;
130   font-size: medium }
131
132 div.system-messages {
133   margin: 5em }
134
135 div.system-messages h1 {
136   color: red }
137
138 div.system-message {
139   border: medium outset ;
140   padding: 1em }
141
142 div.system-message p.system-message-title {
143   color: red ;
144   font-weight: bold }
145
146 div.topic {
147   margin: 2em }
148
149 h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
150 h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
151   margin-top: 0.4em }
152
153 h1.title {
154   text-align: center }
155
156 h2.subtitle {
157   text-align: center }
158
159 hr.docutils {
160   width: 75% }
161
162 img.align-left {
163   clear: left }
164
165 img.align-right {
166   clear: right }
167
168 ol.simple, ul.simple {
169   margin-bottom: 1em }
170
171 ol.arabic {
172   list-style: decimal }
173
174 ol.loweralpha {
175   list-style: lower-alpha }
176
177 ol.upperalpha {
178   list-style: upper-alpha }
179
180 ol.lowerroman {
181   list-style: lower-roman }
182
183 ol.upperroman {
184   list-style: upper-roman }
185
186 p.attribution {
187   text-align: right ;
188   margin-left: 50% }
189
190 p.caption {
191   font-style: italic }
192
193 p.credits {
194   font-style: italic ;
195   font-size: smaller }
196
197 p.label {
198   white-space: nowrap }
199
200 p.rubric {
201   font-weight: bold ;
202   font-size: larger ;
203   color: maroon ;
204   text-align: center }
205
206 p.sidebar-title {
207   font-family: sans-serif ;
208   font-weight: bold ;
209   font-size: larger }
210
211 p.sidebar-subtitle {
212   font-family: sans-serif ;
213   font-weight: bold }
214
215 p.topic-title {
216   font-weight: bold }
217
218 pre.address {
219   margin-bottom: 0 ;
220   margin-top: 0 ;
221   font-family: serif ;
222   font-size: 100% }
223
224 pre.literal-block, pre.doctest-block {
225   margin-left: 2em ;
226   margin-right: 2em ;
227   background-color: #eeeeee }
228
229 span.classifier {
230   font-family: sans-serif ;
231   font-style: oblique }
232
233 span.classifier-delimiter {
234   font-family: sans-serif ;
235   font-weight: bold }
236
237 span.interpreted {
238   font-family: sans-serif }
239
240 span.option {
241   white-space: nowrap }
242
243 span.pre {
244   white-space: pre }
245
246 span.problematic {
247   color: red }
248
249 span.section-subtitle {
250   /* font-size relative to parent (h1..h6 element) */
251   font-size: 80% }
252
253 table.citation {
254   border-left: solid 1px gray;
255   margin-left: 1px }
256
257 table.docinfo {
258   margin: 2em 4em }
259
260 table.docutils {
261   margin-top: 0.5em ;
262   margin-bottom: 0.5em }
263
264 table.footnote {
265   border-left: solid 1px black;
266   margin-left: 1px }
267
268 table.docutils td, table.docutils th,
269 table.docinfo td, table.docinfo th {
270   padding-left: 0.5em ;
271   padding-right: 0.5em ;
272   vertical-align: top }
273
274 table.docutils th.field-name, table.docinfo th.docinfo-name {
275   font-weight: bold ;
276   text-align: left ;
277   white-space: nowrap ;
278   padding-left: 0 }
279
280 h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
281 h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
282   font-size: 100% }
283
284 tt.docutils {
285   background-color: #eeeeee }
286
287 ul.auto-toc {
288   list-style-type: none }
289
290 </style>
291 </head>
292 <body>
293 <div class="document" id="work-in-progress">
294 <h1 class="title">Work in progress</h1>
295 <div class="contents topic">
296 <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
297 <ul class="simple">
298 <li><a class="reference" href="#what-is-done" id="id1" name="id1">What is done ?</a></li>
299 <li><a class="reference" href="#to-do" id="id2" name="id2">To do</a><ul>
300 <li><a class="reference" href="#output-a-trace-pr" id="id3" name="id3">Output a trace (PR)</a></li>
301 <li><a class="reference" href="#make-another-runtime-mt" id="id4" name="id4">Make another runtime (MT)</a></li>
302 <li><a class="reference" href="#save-load-pr" id="id5" name="id5">Save/load (PR)</a></li>
303 <li><a class="reference" href="#partial-execution" id="id6" name="id6">Partial execution</a></li>
304 <li><a class="reference" href="#deployment-resource-management" id="id7" name="id7">Deployment, resource management</a></li>
305 <li><a class="reference" href="#add-other-data-types" id="id8" name="id8">Add other data types</a></li>
306 <li><a class="reference" href="#managing-several-schema" id="id9" name="id9">Managing several schema</a></li>
307 <li><a class="reference" href="#better-management-of-outputs-in-elementarynode" id="id10" name="id10">Better management of outputs in ElementaryNode</a></li>
308 <li><a class="reference" href="#errors-when-reading-the-xml-file" id="id11" name="id11">Errors when reading the XML file</a></li>
309 <li><a class="reference" href="#errors-when-executing" id="id12" name="id12">Errors when executing</a></li>
310 <li><a class="reference" href="#add-macro-nodes" id="id13" name="id13">Add macro nodes</a></li>
311 <li><a class="reference" href="#discover-base-types-from-runtime-gui-and-parser" id="id14" name="id14">Discover base types from runtime (GUI and parser)</a></li>
312 </ul>
313 </li>
314 </ul>
315 </div>
316 <div class="section">
317 <h1><a class="toc-backref" href="#id1" id="what-is-done" name="what-is-done">What is done ?</a></h1>
318 <ul class="simple">
319 <li>XML parser with expat. No more xsd : problem with license</li>
320 <li>support several elementary nodes : CompoNode,
321 RefNode, FuncNode, ScriptNode</li>
322 <li>support all composite nodes : Bloc, While, ForLoop, ForEachLoop, Switch</li>
323 <li>support control links, data links and datastream links (DSC and Calcium datastream)</li>
324 <li>support initialization from data in XML-RPC syntax</li>
325 <li>support execution in threaded Executor : manage Python GIL</li>
326 <li>the Runtime SALOME is connected to the SALOME LifeCycle to implement
327 CompoNode. It's not yet possible to choose a computer or to express
328 a resource constraint.</li>
329 <li>dump of the schema state in graphviz form (.dot file)</li>
330 <li>execution error management : an ElementaryNode signals an error by throwing
331 an exception. This exception is catched by the executor which notifies the
332 ElementaryNode and makes propagate the error to all depending nodes and to
333 the father. All depending nodes and the father are put in FAILED state. The
334 ElementaryNode is put in ERROR state.</li>
335 <li>Python interface : main C++ API wrapped with SWIG to be able to create schema from Python
336 and to control execution</li>
337 <li>a Salome loader in pyqt directory (salomeloader.py)</li>
338 </ul>
339 </div>
340 <div class="section">
341 <h1><a class="toc-backref" href="#id2" id="to-do" name="to-do">To do</a></h1>
342 <div class="section">
343 <h2><a class="toc-backref" href="#id3" id="output-a-trace-pr" name="output-a-trace-pr">Output a trace (PR)</a></h2>
344 <p>It would be fine to have an execution trace (event sequence)
345 to be able to analyze the execution afterwards.</p>
346 </div>
347 <div class="section">
348 <h2><a class="toc-backref" href="#id4" id="make-another-runtime-mt" name="make-another-runtime-mt">Make another runtime (MT)</a></h2>
349 <p>To check the design</p>
350 </div>
351 <div class="section">
352 <h2><a class="toc-backref" href="#id5" id="save-load-pr" name="save-load-pr">Save/load (PR)</a></h2>
353 <p>Be able to dump the schema state in a XML file.
354 Then to reload the state and restart from this state.</p>
355 <p>Two levels : with CORBA objects and without</p>
356 </div>
357 <div class="section">
358 <h2><a class="toc-backref" href="#id6" id="partial-execution" name="partial-execution">Partial execution</a></h2>
359 <p>Execute some selected nodes (directly or with backtrack)</p>
360 </div>
361 <div class="section">
362 <h2><a class="toc-backref" href="#id7" id="deployment-resource-management" name="deployment-resource-management">Deployment, resource management</a></h2>
363 <p>Not easy</p>
364 </div>
365 <div class="section">
366 <h2><a class="toc-backref" href="#id8" id="add-other-data-types" name="add-other-data-types">Add other data types</a></h2>
367 <p>struct, enum</p>
368 </div>
369 <div class="section">
370 <h2><a class="toc-backref" href="#id9" id="managing-several-schema" name="managing-several-schema">Managing several schema</a></h2>
371 <p>One executor for all schemas or one executor by schema ?</p>
372 </div>
373 <div class="section">
374 <h2><a class="toc-backref" href="#id10" id="better-management-of-outputs-in-elementarynode" name="better-management-of-outputs-in-elementarynode">Better management of outputs in ElementaryNode</a></h2>
375 <p>Execution in threads : all outputs are mixed</p>
376 </div>
377 <div class="section">
378 <h2><a class="toc-backref" href="#id11" id="errors-when-reading-the-xml-file" name="errors-when-reading-the-xml-file">Errors when reading the XML file</a></h2>
379 <ul class="simple">
380 <li>Stop at first error (Exception)</li>
381 <li>Collect all errors</li>
382 <li>Check the overall validity</li>
383 </ul>
384 </div>
385 <div class="section">
386 <h2><a class="toc-backref" href="#id12" id="errors-when-executing" name="errors-when-executing">Errors when executing</a></h2>
387 <ul class="simple">
388 <li>Stop as soon as possible when encountering an error</li>
389 <li>Or execute most calculations possible</li>
390 </ul>
391 <p>Need an execution option to specify that</p>
392 <p>To be able to restart an execution on another computer</p>
393 </div>
394 <div class="section">
395 <h2><a class="toc-backref" href="#id13" id="add-macro-nodes" name="add-macro-nodes">Add macro nodes</a></h2>
396 <p>Define macronodes
397 Be able to reference them several times</p>
398 </div>
399 <div class="section">
400 <h2><a class="toc-backref" href="#id14" id="discover-base-types-from-runtime-gui-and-parser" name="discover-base-types-from-runtime-gui-and-parser">Discover base types from runtime (GUI and parser)</a></h2>
401 <p>Runtime would have a service to give all known types (map name:type)</p>
402 </div>
403 </div>
404 </div>
405 </body>
406 </html>