PySimEd:Diagram editing and operations with nets
Basic entities with which the user operates are the Component and the Net. The basic concepts are illustrated in Figure 1.
|Figure 1. Basic concepts.|
Standard entity Component presents a graphical representation of the selected algorithm that transforms the input information to the output information. In general, Component has m arranged inputs and n arranged outputs - terminals. Net represents the link between a component, and its task is to transfer information from one component output terminal to the input terminals of other components.
Net contains a reference to the start and end component which it links together, the number of the terminal of the component and the list of vertex of which it is formed. Each component and interconnection is clearly identified in a diagram by its unique number, optionally a name.
Arranged set of components and nets connecting them forms a Diagram. Each component can be parameterized using optional parameters, which can be static - their values are defined by the user, or dynamic - their values can be changed by program mean.
|Figure 2. Diagram.|
In addition to standard entities, there are connecting entities specifically established into the framework - Connection node component enabling connection among multiple independent Nets in Figure 2, and Port that allows connection between the parts of the diagram or multiple separate diagrams in the case of larger models in Figure 3.
|Figure 3. Virtual connection.|
Components and Terminals
In general, in the diagram can be defined a link between any terminals of components in the form of a multigraph – eg. the case of electrical circuits. For the purposes of simulation models this can be limited to the shape of a oriented tree, where the root of the tree is the output terminal and the leaves of the tree are the input terminals.
Carrier of the information in the diagram are the terminals of components. Information is stored in the terminal in the form of of scalar or one-dimensional array (NumPy). If the array contains more than one value, in the graphical representation is Net connected to the terminal with a thicker line than a bus. The arrays of the values of multiple terminals can be aggregated by means of special components BusCompressor to any depth and extend back through BusExtractor components, as shown in Figure 4.
|Figure 4. Scalar and Vector Operations|
Graphical representation of components and their interconnections itself is separated from the logical structure of the diagram, virtual links are therefore not shown in the diagram.