Guide for Experimenters

2 ERM API for Advanced Experimenters

2.1 API Definition

The 1st Table below illustrates the main API primitives that support the Experiment Registry Management functionalities, while 2nd Table below provides more details about each one of the functions that comprise the API.

List of primitives comprising the Experiment Registry Management API

<<interface>>

ExperimentRegistryManagementInterface

---

POST:saveUserExperiments(fedSpec:FEDSpec):String

POST:deleteUserExperiments (userID:String):String

POST:saveUserExperiment(femo:FEMO, userID:String):String

POST:deleteUserExperiment (femoID:String):String

POST:saveExperimentServiceModelObject (fismo:FISMO, femoID:String):String

POST:deleteExperimentServiceModelObject (fismoID:String):String

GET: getALLUserExperiments (userID:String):FEDSpec

GET:getAllUserExperimentsDescreptions (userID:String):ExpDescriptiveIDs

GET: getExperimentDescreption (femoID:String):FemoDescriptiveID

GET:getExperimentModelObject (femoID:String):FEMO

GET:getExperimentServiceModelObject (fismoID:String):FISMO

           



The FIESTA-IoT implements the methods of the Experiment Registry Management API as specified in the 2nd Table below:

Experiment Registry Management API definition

Service Name

Input

Output

Info

saveUserExperiments

FEDSpec fedSpec

String

Used to submit the constructed experiment to the cloud. Requires as input the FIESTA Experiment Description Specification (FEDSpec) which includes all the User’s preferences regarding the Experiment, request lifecycle and visualization preferences. It returns the constructed Experiment ID.

deleteUserExperiments

String userID

String

Used to delete all User experiments. Returns a success message.

saveUserExperiment

FEMO femo,

String userID

String

Used to save/update (if the Experiment does not contain a registered ID) a user experiment. Returns a success message.

deleteUserExperiment

String femoID

String

Used to delete a registered Experiment. Requires as input the Experiment ID. Returns a success message.

saveExperimentService ModelObject

FISMO fismo,  String femoID

String

Used to Save/update (if the service model object does not contain a registered ID). Returns a success message.

deleteExperimentServiceModelObject

String fismoID

String

Used to delete an Experiment Service. Returns a success message.

getALLUserExperiments

String userID

FEDSpec

Used to retrieve All the Experiments defined by a user. It returns an FIESTA Experiment Description Specification. Requires as input a User ID.

getAllUserExperiments Descreptions

String userID

Exp Descriptive IDs

Used to retrieve the available experiments (a list of experimentID/ServiceName/ServiceDescription triplet) already registered by a specific user. Requires as input a User ID.

getExperiment Descreption

String femoID

Femo Descriptive ID

Used to retrieve the available services (a list of serviceID/ServiceName/ServiceDescription triplet) already registered by a specific user. Requires as input the Service ID.

getExperimentModel Object

String femoID

FEMO

Used to retrieve the description (FEMO) of an available Experiment. Requires as input the Experiment ID

getExperimentService ModelObject

String fismoID

FISMO

Used to retrieve the description (FISMO) of an available service. Requires as input a Service ID.