![]() ![]() BRAHMS
User Guide » Developing Processes » Advanced Topics » Using Sets
This documentation is offline - click here to go online
Index | Search: Go online to use Search
| ||
OverviewSystemML has the concept of Sets on the input and output interfaces of a Process, allowing inputs and outputs to be grouped semantically. One set (the Default Set) always exists on each interface (input and output); it is this set that the template Process uses for its input and output port (implicitly, see the overloaded calls on SystemMLInterface). You can add more Sets if your Process needs them, but if you're not sure if you need Sets, you probably don't. Adding SetsAdditional sets, above and beyond the Default Set, are created for you by the framework whilst creating your Process, based on the specification given in the SystemML SyntaxSystems, Processes, Sets and Ports are referred to in SystemML documents using their SystemML Absolute Identifier. Full details of the SystemML Identifier syntax are available in the SystemML Documentation (at SystemML Systems), but we will run over parts of it below quickly, for convenience. A process is written, simply, The default set has the SystemML Name "", that is, the empty string. Therefore, to refer to a port on the default set of this process, we would use the identifier ExampleThis XML File or Snippet
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is a standard process node descriptor file -->
<Node>
<Type>Process</Type>
<Specification>
<Connectivity>
<InputSets>
<Set>double</Set>
<Set>round</Set>
<Set>invert</Set>
</InputSets>
<OutputSets>
<Set>double</Set>
<Set>round</Set>
<Set>invert</Set>
</OutputSets>
</Connectivity>
</Specification>
</Node>
ExampleThis example uses the 1199 interface to interact with Sets. C++ Source Code (against 1199)
case EVENT_STATE_SET
Symbol hDefaultInputSet Symbol hAnotherInputSet Symbol hPort1 Symbol hPort2 berr E_INTERNAL Symbol hPort3 berr E_INTERNAL Symbol hAnotherOutputSet |
||
This is a documentation page for the BRAHMS Modular Execution (Simulation) Framework. For details of licensing and distribution, please click here. To advise of an error or omission, please click here. |