XPSEDAPI
 All Classes Namespaces Files Functions Variables Typedefs
SProS.idl
Go to the documentation of this file.
1 #include "DOM_APISPEC.idl"
3 
9 module SProS
10 {
11  interface Base;
12  interface BaseSet;
13  interface BaseIterator;
14  interface SEDMLElement;
15  interface NamedElement;
16  interface NamedElementSet;
17  interface NamedElementIterator;
18  interface NamedIdentifiedElement;
19  interface NamedIdentifiedElementSet;
21  interface Model;
22  interface ModelSet;
23  interface ModelIterator;
24  interface Simulation;
25  interface SimulationSet;
26  interface SimulationIterator;
27  interface UniformTimeCourse;
28  interface Task;
29  interface TaskSet;
30  interface TaskIterator;
31  interface DataGenerator;
32  interface DataGeneratorSet;
33  interface DataGeneratorIterator;
34  interface Output;
35  interface OutputSet;
36  interface OutputIterator;
37  interface Plot2D;
38  interface Plot3D;
39  interface Report;
40  interface Change;
41  interface ChangeSet;
42  interface ChangeIterator;
43  interface ComputeChange;
44  interface ChangeAttribute;
45  interface AddXML;
46  interface ChangeXML;
47  interface RemoveXML;
48  interface Variable;
49  interface VariableSet;
50  interface VariableIterator;
51  interface Parameter;
52  interface ParameterSet;
53  interface ParameterIterator;
54  interface Curve;
55  interface CurveSet;
56  interface CurveIterator;
57  interface Surface;
58  interface SurfaceSet;
59  interface SurfaceIterator;
60  interface DataSet;
61  interface DataSetSet;
62  interface DataSetIterator;
63 
64  interface Bootstrap
66  {
70  SEDMLElement createEmptySEDML();
71 
75  SEDMLElement parseSEDMLFromURI(in wstring uri, in wstring relativeTo);
76 
80  SEDMLElement parseSEDMLFromText(in wstring txt, in wstring baseURI);
81 
85  SEDMLElement makeSEDMLFromElement(in dom::Element el);
86 
90  wstring sedmlToText(in SEDMLElement el);
91  };
92 
96  interface Base
98  {
102  readonly attribute dom::Element domElement;
103 
107  readonly attribute dom::NodeList notes;
108 
112  readonly attribute dom::NodeList annotations;
113 
117  readonly attribute Base parent;
118  };
119 
120  exception SProSException
121  {
122  };
123 
127  interface BaseSet
129  {
133  BaseIterator iterateElements();
134 
139  void insert(in Base b) raises(SProSException);
140 
144  void remove(in Base b);
145  };
146 
150  interface BaseIterator
152  {
157  Base nextElement();
158  };
159 
163  interface SEDMLElement
164  : Base
165  {
170  attribute unsigned long level;
171 
176  attribute unsigned long version;
177 
181  readonly attribute ModelSet models;
182 
186  readonly attribute TaskSet tasks;
187 
191  readonly attribute SimulationSet simulations;
192 
196  readonly attribute DataGeneratorSet generators;
197 
201  readonly attribute OutputSet outputs;
202 
207  Model createModel();
208 
213  UniformTimeCourse createUniformTimeCourse();
214 
219  Task createTask();
220 
225  DataGenerator createDataGenerator();
226 
231  Plot2D createPlot2D();
232 
237  Plot3D createPlot3D();
238 
243  Report createReport();
244 
249  ComputeChange createComputeChange();
250 
255  ChangeAttribute createChangeAttribute();
256 
261  AddXML createAddXML();
262 
267  RemoveXML createRemoveXML();
268 
273  ChangeXML createChangeXML();
274 
279  Variable createVariable();
280 
285  Parameter createParameter();
286 
291  Curve createCurve();
292 
297  Surface createSurface();
298 
303  DataSet createDataSet();
304  };
305 
309  interface NamedElement
310  : Base
311  {
315  attribute wstring name;
316  };
317 
321  interface NamedElementSet
322  : BaseSet
323  {
327  NamedElementIterator iterateNamedElement();
328 
329  /* Note: Names aren't guaranteed to be unique, they are for human use, so
330  * we don't provide a way to find by name.
331  */
332  };
333 
338  : BaseIterator
339  {
343  NamedElement nextNamedElement();
344  };
345 
350  : NamedElement
351  {
355  attribute wstring id;
356  };
357 
363  {
367  NamedIdentifiedElementIterator iterateNamedIdentifiedElements();
368 
372  NamedIdentifiedElement getNamedIdentifiedElementByIdentifier(in wstring idMatch);
373  };
374 
380  {
385  NamedIdentifiedElement nextNamedIdentifiedElement();
386  };
387 
391  interface Model
393  {
395  attribute wstring language;
396 
398  attribute wstring source;
399 
403  readonly attribute ChangeSet changes;
404  };
405 
409  interface ModelSet
411  {
415  ModelIterator iterateModels();
416 
420  Model getModelByIdentifier(in wstring idMatch);
421  };
422 
426  interface ModelIterator
428  {
432  Model nextModel();
433  };
434 
438  interface Simulation
440  {
444  attribute wstring algorithmKisaoID;
445  };
446 
450  interface SimulationSet
452  {
456  SimulationIterator iterateSimulations();
457 
461  Simulation getSimulationByIdentifier(in wstring idMatch);
462  };
463 
469  {
473  Simulation nextSimulation();
474  };
475 
480  : Simulation
481  {
485  attribute double initialTime;
486 
490  attribute double outputStartTime;
491 
495  attribute double outputEndTime;
496 
500  attribute unsigned long numberOfPoints;
501  };
502 
506  interface Task
508  {
512  attribute wstring simulationReferenceIdentifier;
513 
518 
522  attribute wstring modelReferenceIdentifier;
523 
528  };
529 
533  interface TaskSet
535  {
539  TaskIterator iterateTasks();
540 
544  Task getTaskByIdentifier(in wstring idMatch);
545  };
546 
550  interface TaskIterator
552  {
556  Task nextTask();
557  };
558 
562  interface DataGenerator
564  {
568  readonly attribute ParameterSet parameters;
569 
573  readonly attribute VariableSet variables;
574 
579  };
580 
586  {
590  DataGeneratorIterator iterateDataGenerators();
591 
595  DataGenerator getDataGeneratorByIdentifier(in wstring idMatch);
596  };
597 
603  {
607  DataGenerator nextDataGenerator();
608  };
609 
613  interface Output
615  {
616  };
617 
621  interface OutputSet
623  {
627  OutputIterator iterateOutputs();
628 
632  Output getOutputByIdentifier(in wstring idMatch);
633  };
634 
638  interface OutputIterator
640  {
644  Output nextOutput();
645  };
646 
650  interface Plot2D
651  : Output
652  {
656  readonly attribute CurveSet curves;
657  };
658 
662  interface Plot3D
663  : Output
664  {
668  readonly attribute SurfaceSet surfaces;
669  };
670 
674  interface Report
675  : Output
676  {
680  readonly attribute DataSetSet datasets;
681  };
682 
686  interface Change
687  : Base
688  {
689  attribute wstring target;
690  };
691 
695  interface ChangeSet
696  : BaseSet
697  {
701  ChangeIterator iterateChanges();
702  };
703 
707  interface ChangeIterator
708  : BaseIterator
709  {
713  Change nextChange();
714  };
715 
719  interface ComputeChange
720  : Change
721  {
725  readonly attribute VariableSet variables;
726 
730  readonly attribute ParameterSet parameters;
731 
736  };
737 
741  interface ChangeAttribute
742  : Change
743  {
747  readonly attribute wstring newValue;
748  };
749 
753  interface AddXML
754  : Change
755  {
759  readonly attribute dom::NodeList anyXML;
760  };
761 
765  interface ChangeXML
766  : AddXML
767  {
768  };
769 
773  interface RemoveXML
774  : Change
775  {
776  };
777 
781  interface Variable
783  {
787  attribute wstring target;
788 
792  attribute wstring symbol;
793 
798  attribute wstring taskReferenceID;
799 
804  attribute Task taskReference;
805  };
806 
810  interface VariableSet
812  {
816  VariableIterator iterateVariables();
817 
821  Variable getVariableByIdentifier(in wstring idMatch);
822  };
823 
829  {
833  Variable nextVariable();
834  };
835 
839  interface Parameter
841  {
842  attribute double value;
843  };
844 
848  interface ParameterSet
850  {
854  ParameterIterator iterateParameters();
855 
859  Parameter getParameterByIdentifier(in wstring idMatch);
860  };
861 
867  {
871  Parameter nextParameter();
872  };
873 
877  interface Curve
878  : NamedElement
879  {
883  attribute boolean logX;
884 
888  attribute boolean logY;
889 
893  attribute wstring xDataGeneratorID;
894 
898  attribute wstring yDataGeneratorID;
899 
905 
911  };
912 
916  interface CurveSet
918  {
922  CurveIterator iterateCurves();
923  };
924 
928  interface CurveIterator
930  {
934  Curve nextCurve();
935  };
936 
940  interface Surface
941  : Curve
942  {
946  attribute boolean logZ;
947 
951  attribute wstring zDataGeneratorID;
952 
958  };
959 
963  interface SurfaceSet
964  : CurveSet
965  {
969  SurfaceIterator iterateSurfaces();
970  };
971 
975  interface SurfaceIterator
976  : CurveIterator
977  {
981  Surface nextSurface();
982  };
983 
987  interface DataSet
988  : NamedElement
989  {
993  attribute wstring dataGeneratorID;
994 
1001  };
1002 
1006  interface DataSetSet
1007  : NamedElementSet
1008  {
1012  DataSetIterator iterateDataSets();
1013  };
1014 
1020  {
1024  DataSet nextDataSet();
1025  };
1026 };