Changes between Version 17 and Version 18 of NewAPI


Ignore:
Timestamp:
Jul 8, 2014 1:54:06 PM (10 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewAPI

    v17 v18  
    1212  groups of related users used to control what users have access to the testbed as a whole and to provide real-world accountability in the case of misbehavior.
    1313 Circles::
    14    groups of related users used to manage what users can see and do to other testbed resources
     14  groups of related users used to manage what users can see and do to other testbed resources
    1515 Experiments::
    16   a research environment that may be stored, edited, and realized on testbed resources
     16  research environments that may be stored, edited, and realized on testbed resources
     17 Libraries::
     18  groups of experiments that provide logical organization of experiments into classes or collect experiments with similar scope of interest
     19 
    1720
    1821The testbed SPI enables users to ask a DETER testbed to do things for them.  It will generally be called from a more user-friendly front end, tuned to the user's experience and goals, such as the evoloving DETER Beginners Interface.
     
    119122Not all experiments in the sense of the API data structure will have all these elements.  Testbeds are often used to create an environment in which to try ideas out and explore ideas without intending to reproduce the experience.  The other end of the spectrum is rigorous, repeatable hypothesis testing.  The API supports both by allowing some of these aspects to be omitted for some experiments (in the API sense).
    120123
    121 This API is primarily concerned with:
     124Experiments have unique names, scoped by the name of the user who created them or a project that the experiment is tied to.  Any user can create experiments scoped by their name.  The right to create experiments scoped by a project name is based on an explicit permission.  There is no functional difference between the two experiments, but projects that choose to exert editorial control of experiment content can do it by vetting experiments that members of that project create in the project space.
     125
     126The experiment API is primarily concerned with:
    122127
    123128 * Storing the experiment specification for repeated use
    124129 * Sharing the experiment specification between users subject to [wiki:NewPolicy policy]
    125  * Constructing an experiment's environment by calling out through teh Containsers SPI
     130 * Constructing an experiment's environment by calling out through teh Containers SPI
    126131
    127132We call the process of constructing the experiment's environment ''realizing'' the experiment.
     
    135140
    136141When realizing the experiment, the testbed uses the containers API to configure and control the hardware and software that create the environment.
     142
     143=== Libraries ===
     144
     145A library is a group of related experiments analogous to a circle or project being a group of related users.  Libraries make relationships between experiments explicit so that users can operate on related experiments easily.  As with users, projects, and experiments, libraries have profiles attached that store human-readable metadata about their contents.
     146
     147Libraries allow researchers and testbed administrators to group similar experiments and make them easy to find.  For example, a library of experiments for new testbed users can be maintained by testbed administrators.  A library of experiments for new members of a class or a research group can be maintained by the instructor or principal investigator.
     148
     149Access to libraries is controlled using circles as above, so once created, administration of a library can be flexible.  Different libraries will have different policies.
     150
     151As with experiments, the names of libraries are unique and scoped by a user or project name.  Only users delegated the explicit permission to create a library in the project name space may do so.  Project owners and managers may use this permission to vet libraries.
    137152
    138153== The Containers API ==
     
    231246After the DETER administration decides that the research is reasonable and meets their criteria, they authorize creation of the vetting project.  The administration sends the user e-mail telling them they can use DETER.  Additionally the testbed may add the new user to a project for new users or other projects for researchers in similar fields.
    232247
    233 When the user visits the DETER web interface, it notices that the user is a member of the new users project and presents an opportunity to take a tutorial.  In addition, the user has access to sample experiments accessible to users in the new users project. Working from the tutorial and documentation and starting from a sample experiment, the user may create a new experiment with an environment, constraints, procedure and data collection specced out.
     248When the user visits the DETER web interface, it notices that the user is a member of the new users project and presents an opportunity to take a tutorial.  In addition, the user has access to sample experiments accessible to users in the new user's project.  These experiments are organized into samples based on their membership in libraries accessible by the new user.  The library structure helps the tutorial writer guide the user through the sample experiments. Working from the tutorial and documentation and starting from a sample experiment, the user may create a new experiment with an environment, constraints, procedure and data collection specced out.
    234249
    235250The web interface uses the testbed API to review an experiment in the new users project, copy it to the user's vetting project and edit the new experiment to meet the user's goals.