Guide for Experimenters

1 Experiment Management

1.4 Experiment Editor

FIESTA-IoT is currently offering a simple interface in order to Create, Update and Delete experiments called Experiment Editor. The Experiment Editor can be found at the Experimenter menu of the FIESTA-IoT portal  (see 1st Figure below).

Portal Experimenter Menu

The Experiment Editor provides the ability to create an experiment at the FIESTA-IoT platform in the form of a FEDSpec or a FEMO. The defined FEDSpec could be as simple as a single service (FISMO) or as complex as multiple experiments (FEMOs). There are three ways to create an Experiment using Experiment Editor.

  • Uploading FEDSpec or FEMO xml files.
  • Modeling an Experiment using Experiment Editor GUI
  • Duplicating an existing Experiment.

To Upload a FEDSpec or FEMO click on the ‘Upload Experiment XML’ icon on Experiments block (see 2nd Figure below) this would allow you to choose an XML file containing FEDSpec or FEMO description and a series of options of Upload, Cancel and Remove (see 3rd Figure), choosing upload will store the Experiment at the FIESTA-IoT platform

To Duplicate a saved experiment, the user should click ‘Duplicate Experiment’ icon on the targeted Experiment which would create an exact copy of the targeted Experiment with different Identification (FEMO_ID).

Experiment Editor

The Experiment Editor also provides the ability to create an Experiment (FEMO) in the tool itself. To model a new FEMO the user needs to click on the ‘create new Experiment’ [+] sign (as shown in 2nd figure) on the blue block, this would redirect the user to the Experiment Creating Page (see figure 4). As shown in the Experiment Creating Page the user is presented with three tabs.

  1. Experiment
  2. Services
  3. Query

Technically the Experiment is considered as FEMO, Services as FISMO and Query for Query Control in the FEDSpec and every Experiment is expected to have at least one Service with a Query.

The Fields in Experiment tab such as Experiment Name, Experiment Description and Domain of interest are in aligning with the definition of FEMO’s name, description and domain of interest as described in section 1.1 (Experiment DSL).

Each service in the Service tab can be cloned or deleted by clicking the ‘Duplicate service icon’ which would recreate a new service with base service field values and ‘Delete service icon’ which would remove the service from the given Experiment. Note that the deletion of a service can only be performed if there exist at least two services. A new empty service can be created by clicking on the ‘Add new Service’ icon [‘+’] at the far right of the Service tab (see Figure 5).


Like the Experiment tab, the Service tab’s service fields such as Service Name, Service Description, Discoverable, Experiment control, Experiment output are in aligning with the definitions provided in the section 1.1 (Experiment DSL). The Experiment control is a mandatory field in the service and the scheduling of this field should follow the rule of Start time being smaller than Stop time.
For each service, we can create a query in the Query tab, in case of multiple services the user needs to select the service before going to the Query tab to create a query for that service. Note that when a service is cloned the query of that service is also cloned.
To create a query for a service, select the service then click ‘Add new Query’ [‘+’] icon at the far right of the Query tab which would result in creating Query Control Model for the selected service (see Figure 6).

Note that the created model won’t be included into the FISMO’s <ns2: queryControl> as shown in Figure 7, this is because the query is not built yet.

To build the query the user needs to first select the mandatory field ‘Quantity Kind’, after the selection of the Quantity Kind the user needs to click on the ‘Build new query from the user input’ button which would build the query, the query can be view in the ‘Current query’ or by clicking the preview button at the top right of the page. The Query can be further edited manually in the ‘Current query’ (see Figure 8).

Like the Experiment tab and Service tab’s services, the query Control fields of Query tab such as Quantity Kind, Static Location, Query interval and Dynamic Attributes follow the definition provided in section 1.1 (Experiment DSL). Note that any changes in the query should be followed by build query for those changes to reflect in <ns2: queryControl>.

Once the Creating of the Experiment, Service and Query are done the user could click on the Save button at the top of the page to save the Experiment and the page would return to the Experiment Editor page as shown 2nd figure. 

To edit the saved Experiment, the user can simply click on the Experiment block or the ‘Edit Experiment’ icon. The user can also perform operation such as download the Experiment DSL by clicking on the ‘Download Experiment’ icon and delete an experiment by clicking on the ‘Delete Experiment’ icon as shown in figure 40.

The Experiment Editor also provides the user to search through the list of existing Experiment’s based on Domain of Interest referred in 1.1 (Experiment DSL).