Last modified 5 months ago Last modified on 10/07/2015 09:03:29

Welcome to the MySlice development website

If you are interested in a high-level overview of MySlice, please visit the MySlice public website.

This trac is for the community of developers around MySlice (notably for people creating plug-ins), and for those who wish to download and install their own version of MySlice.


MySlice is a web client enabling users to access a Federation of Testbeds using the SFA APIs.

SFA defines the minimal set of interfaces and data types that permit a federation of slice-based network components to interoperate.
Larry Peterson, et al. "Slice-Based Facility Architecture (2009)." Information available at PDF



What do you need?

IMPORTANT: Depending on your interest, you might need only part of this architecture.

We have identified different types of developers, depending on their objectives they will focus on different components.

profile objective components
Federators build their own federation of testbeds full package
Testbed owners federate their testbed SFA AM Driver
Federated testbed owners provide users access to specific features of their testbed RSpecs, Manifold SFA GW, MySlice plugins
MySlice plugins developers provide access to added services, enhance the web interface MySlice plugins

SFA is a package that contains both Registry, AM and CLI Client software.
SFA Installation

More information about SFAWrap implementation

SFA Registry

SFA Registry is a root of trust within a federation of testbeds. It provides an XMLRPC API on top of a PostgreSQL Database.
It is responsible for managing the following objects: authorities, users and slices.
It delivers the credentials for these objects.

Registry configuration


AM API allows testbeds to securely expose their resources to the federation and enables users to reserve them by exchanging XML RSpecs files.
Any authenticated user can access to the federated testbeds by sending its credentials as a proof of his/her identity along with the API call.

This is an example of a Dummy Testbed configured to expose fake resources with an AM API.
AM Configuration example


Several "drivers" have been developed for different testbeds:

If you want to federate your own testbed, you will have to develop a "driver".
It consists in translating AM API calls into the Testbed specific calls.
This work requires to understand the functions of the AM API.

More information about AM API GENI AM API v3


Manifold provides an API that allows to Query distributed data.

Install Manifold: Manifold/Install#InstallingMANIFOLDbackend


In the Testbeds Federation context, we consider that the SFA layer provides distributed sources of data for instance the AMs.
Therefore, the Manifold SFA Gateway acts as an SFA Client toward different AMs on behalf of the user.



Several other gateways have been developed for Manifold.

  • PostgreSQL
  • OML
  • SQLAlchemy
  • CSV
  • TDMI
  • others...



MySlice web frontend is developed using python and Django framework.
It relies on the Manifold backend.

Install MySlice:


Many plugins have been developed

How to develop your own plugin? PluginDeveloperGuide