The application is divided into the following sectors:
I. Side panels
The application's side panels are divided into two parts. The left one contains only the Category panel. Whereas the panel on the right hand is splitted into the following subdivisions: the Energy-Graph panel at the top, the Holon Element panel at the middle and the Property panel at the bottom.
A. Category panel
The category panel allows the following actions:
- Add/Delete section:
- Add: The user has the option to add new categories to the list at the Category panel. This action can be performed by selecting the category option in the drop down menu at the top of the Category panel and clicking the “+” button aside. A window will pop up with a blank field for the name. The user can also add new Holon Objects to the categories in the Category panel. This can be performed by highlighting (click) the desired category at the category list, choosing one of the Holon Object“s types in the drop down menu and clicking the “+” button aside. A pop-up will appear with a field for the name, another for the image path (.png or .jpg) and a box for all predefined Holon Elements.
- Delete: The user is also able to delete any entry on the list at the Category panel. This can be performed by selecting the desired Holon Object or category and clicking the “-“ at the top of the Category Panel.
- Categories list:
The Categories list contains all available Holon Objects divided into categories. The user can drag and drop any of this Holon Objects into the Canvas.
B. Energy-Graph Panel
The Energy-Graph consists of the following parts:
- Label (Top): Name of the selected Holon Element
- Reset button (Top): Resets the Energy-Graph by setting all values to the highest value.
- Percentage (Left): Represents the amount of energy consumed or produced at a given time step.
- Interactive area (Middle): Contains an Energy-Graph with 100 Energy-Graph points, which can be manipulated by the user to simulate the desired scenario. This can be performed by clicking or drag and drop the points in the Energy-Graph.
C. Holon Element Panel
The Holon Element panel is a list of all Holon Elements that correspond to the selected Holon Object. The Holon Element panel possesses two different views.
- Single View: This view corresponds to a single selection of a Holon Object in the Canvas. The information displayed in this state is the following:
- unique ID of the Holon Element
- name of the Holon Element
- energy consumed (with “-“ sign before the number) or produced (without a sign)
- negative or positive flexibility
- quantity (amount of copies of this Holon Element)
- activation box (checked box corresponds to active and empty box corresponds to inactive)
- flexibility activation box (if the box is checked then the flexibility is taken into account)
- Multi-View: This view corresponds to a multi-selection of Holon Objects in the Canvas. The information displayed in this state is the following:
- name of the Holon Object and unique ID
- unique ID of the Holon Element
- name of the Holon Element
- energy consumed (with “-“ sign before the number) or produced (without a sign)
- negative or positive flexibility
- quantity (amount of copies of this Holon Element)
- activation box (checked box corresponds to active and empty box corresponds to inactive)
- flexibility activation box (if the box is checked then the flexibility is taken into account)
D. Property Panel
The Property Panel shows the core information of the selected objects. The view of this panel varies subject to the desired selection.
- For Holon Objects:
- a Name
- a unique ID
- the total energy (negative if the consumption is greater than the production, else positive)
- the total flexibility (negative if the negative flexibility is greater than the positive flexibility, else positive)
- the list of all direct connections between the selected Holon Object and other Objects
- For Switches:
- a Name
- a unique ID
- a checkbox for manual interaction or automatic interaction
- a checkbox for the state of the Switch (active or inactive)
- the list of all direct connections between the selected Switch and other Objects
- For Upper Nodes:
- a Name
- a unique ID
- the total amount of Objects
- the amount of Holon Objects
- the amount of Switches
- the amount of Upper Nodes
- the list of all direct connections between the selected Upper Node and other Objects
II. Tabs
Canvas View
The Canvas View is the central section of the program. In this section, the user can model his desired network.
The following actions are available for the user in this field:
- Drag and drop Objects: Holon Objects and Switches from the left Side Panel can be added to the Canvas easily by dragging and dropping them into the Canvas.
- Draw Holon Edges or Lines: The Objects on the Canvas can be connected by drawing lines between them. This action can be performed by SHIFT + left-Click on one object to connect it to another object. If this action is performed to an empty space a Node will be created automatically.
Hint: To delete lines, draw a line between two Objects, that are already connected to each other.
- Selection: A single selection can be executed by left-clicking an object once. The user has also the possibility to select multiple Objects at once, this can be achieved by clicking CTRL + left-Click or drawing a square around the Objects.
- Context menu: By clicking any object on the canvas with the right-click a context menu will appear with the following options:
- Cut or through the key combination CTRL + X
- Copy or through the key combination CTRL + C
- Paste or through the key combination CTRL + V
- Delete: All selected objects will be erased from the canvas.
- Group: This action will group all selected objects, create a UpperNode instead (refer Introduction, section II for more information) and build a new tab on the upper side of the Canvas.
- Ungroup: This action will split any group (UpperNode) on the Canvas and return all Objects to their old position.
- Track: By clicking the “Track” option, all selected Objects will be added to the Statistics View, to their respective folder (Objects, Switches or Groups).
- Untrack: By clicking the “Untrack” option, all selected Objects will be removed from the Statistics View.
Statistics View
The main goal of the Statistics View is to offer the user an interactive and user-friendly interface to manipulate and visualize the selected Objects through the “Track” option on the Canvas View (refer to the User Guide, section II.1 for more information). All selected Objects, as well as their properties, are displayed on this section and ready to be added to any Tracking-Graph. Multiple Objects and properties can be added to the same Tracking-Graph. A useful case for this tool is the comparison of objects and properties throughout the run of the simulation.
This view is divided mainly into three parts:
- The tree (left upper corner) is composed of five categories: Main Grid, Holons or Subnets, Holon Objects, Switches and Groups (refer to the Introduction, section II for more information). Each folder can be opened by double clicking it or clicking the arrow at the beginning, e.g. the folder “Main Grid“ contains a list of properties concerning the whole Grid, that can be added to the Tracking-Graph, such as the total production and consumption, as well as the percentage of supplied, not supplied or partially supplied Objects, the number of existing Subnets, ratio between producers and consumers, total amount of broken Holon Edges and total amount of closed Holon Switches. The “Main Grid“ and “Holons“ folders are updated automatically each time the user performs an action. On the other hand, the “Objects”, “Switches“ and “Groups“ folders are updated manually, through the option “Track” (refer to the User Guide, section II.1.7 for more information).
- The edition (middle-lower left corner)is activated, when an element in the tree is selected. The user can choose the Tracking-Graph, where the element should be displayed, and the color, which the element should possess.
- The Tracking-Graph section (right side) displays all created Tracking-Graphs in a creation order. The Tracking-Graphs are saved or deleted by clicking the buttons at the right upper corner of the Tracking-Graph section (please take into account the difference between the Energy-Graph and the Tracking-Graph).
Holon View
As shown above, the Subnets can be visualized not only as conventional systems but also as "Oil drops". This visualization offers a different and user-friendly representation of the Subnets. Each particle, better know as Holon, is a representation of a Subnet in the system, where the size of the Holon increases hand in hand with the size of the Subnet.
The visualization can be modified by the drop down menu at the top. The user has the possibility to choose one of the following labels for the Holon: ID, the number of Holon Objects, the number of Edges, the number of Switches, the total consumption, the total production, the number of Holon Elements, the number of producers or the number of active Holon Elements. Aside the drop down menu has located a checkbox with the label “sort by size”, which reorders the distribution of all Holons by placing the bigger Holons inside and the smallest outside.
Flexibility View
The fourth tab contains the Flexibility View, a representation of the total flexibility of each of the following items:
- The whole Grid, also called Main Grid
- Each Subnet on the network
- Each Holon Object on the network.
Each of this items will be displayed through a label, its positive Flexibility (Flexibility for Production), its negative Flexibility (Flexibility for Consumption) and the ratio of both (the positive Flexibility divided by the negative Flexibility). Aside from this information, each Subnet will be marked through a small box by its own color (Note: This color corresponds to the color on the Canvas and Holon Views). The Holon Objects can be found under each Subnet. This can be displayed by clicking the button “Show Objects” next to the color box.
UpperNode View
Besides the above-mentioned tabs, the UpperNode View is a tab that appears only when a sub-network, or better know as UpperNode, is accessed. The tab will appear at the end of the tabs section with its corresponding name. Each UpperNode tab has the same functions and similar distribution as the Canvas View. The only difference is the gray section on the UpperNode. On this section can be found the UpperNode connections to the outside.
Note: The amount of UpperNode tabs varies, relying on the frequency of usage of this function.
III. Timeline
The timeline is located at the bottom of the screen. It shows the current position of the model.
The following actions can be performed in this area:
- The Time Slider contains 100-time steps, starting from 0 to 99, and an indicator which shows the current time step. The indicator can be manipulated via drag and drop, pressing the desired position, which causes to reset the simulation, or through the forward button at its left.
- The Simulation speed slider indicates the speed of movement of the indicator at the time slider. On the very left side, the fastest speed is achieved and on the right side the slowest movement.
- The play button activates the indicator at the time slider at the actual position. This means the simulation mode is started from the current point.
- The Reset Button resets the indicator at the time slider to 0 and the simulation will be reset.
- The Forward Button moves the indicator at the time slider one position forward, keeping the simulation mode on.
IV. Toolbar
The toolbar is composed by the following tabs:
- File tab: The file tab contains three options: “New”, “Open” and “Save”.
- Edit tab: The edit tab contains “Undo” and “Redo” options as well as a “Find/Replace”, “Edit Showed Information” and “Edges Properties” options.
- By clicking the “Find/Replace” option, a popup will appear with two text fields. By entering the name of a certain object and clicking the "Find" option, all objects with the slected name will be highlighted. When choosing the "Replace" option and entering a new name, all initial objects will be replaced by the latter one.
- By clicking the “Edit Showed Information”, another popup will appear with three checkboxes.
- The “Edges Properties” option will pop up a window with a text field to be set. This field can be filled with the desired capacity for the new, current or both edges.
- Options tab: Here can be found the “Reset Categories” and Languages options, as well as a “Show program console log” checkbox.
- The “Reset Categories” option will reset the categories at the side panel, by leaving only the default categories available (“Energy”, “Building” and “Component”).
- The drop down menu at the “Languages” option shows all languages available on the program.
- The checkbox allows printing messages on the console (refer to the User Guide, section V for more information) if it is checked.
- View tab: This tab contains all the options related to the view modification, such as the “Image Size”, “View Size”, “Background Image” and “Holonbody Size”.
- The “Image Size” is a slider, which adjusts the size of the images on the Canvas.
- By clicking the “View Size” option, a window will pop up with two fields, one for the width and the other one for the height of the main window.
- Clicking the “Split View” field enables the Canvas to split into two windows, in order to facilitate the visibility of the user.
- The “Background Image” option displays a popup window with a field for the desired background image path.
- The “Holonbody Size” slider modifies the size of circles at the Holon View.
- Algorithm tab: This tab contains a “Select Algorithm Folder” option, that allows the user to upload the desired algorithm to the program. Each uploaded algorithm is displayed in the drop down menu “Select Algorithm”.
- Help tab: “About Us” is a brief description of the developers.
V. Console
The console is situated at the bottom of the window, below the Canvas. Here will appear important messages for the user, such as the selected Objects or actions performed. The messages in this section can be manipulated by editing the code and printing the desired information (refer Code Documentation for more information).