Changes between Version 22 and Version 23 of SPIDocs


Ignore:
Timestamp:
Sep 24, 2014 5:27:03 PM (8 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SPIDocs

    v22 v23  
    447447These are documented below.
    448448
    449 == Experiments ==
     449=== Experiments ===
    450450
    451451The ''experiment'' abstraction encapsulates the [wiki:SPIDocs#TheFundamentalAbstractions layout, procedure, data requirements, and constraints] on an activity a researcher using to play with ideas or test a hypothesis. An experiment is realized by DETERLab into an environment that meets those requirements.  Realizing an experiment allocates resources in the testbed and grants access to the members of the [wiki:SPIDocs#Circles circle] in which the experiment is realized.
     
    454454
    455455The layout, procedure, data requirements and constraints on an experiment are sub-abstractions of an experiment called ''aspects''.  An experiment does not necessarily contain all aspects.  When a researcher first comes to DETERLab, their models and ideas are likely to be loosely defined.  We expect them to realize experiments that have only layout aspects.  As their ideas become more concrete and their results more stable, the other aspects become more fleshed out.
     456
     457 Below we present a worked example of the layout aspect that illustrates this.
     458
     459Experiments also have [wiki:SPIDocs#Profiles profiles] attached to them so that other users can understand the purpose and goals of a project without investigating the aspects in detail.
     460
     461==== Aspects ====
    456462
    457463The SPI treats aspects as first class objects that can be directly manipulated.  Users can add or remove them from experiments, and aspects interact with one another.  One can specify a data gathering or procedure aspect that is inconsistent with the layout aspect, and the SPI will find the discrepancy.
     
    472478To support the ongoing research in all these areas, and in areas we do not know about yet, the aspect interfaces are open, and the SPI implementation can easily import code written to it.  We expect to add SPI interfaces to dynamically add an aspect implementation to a running testbed.
    473479
    474 Because research on individual aspects is ongoing, the SPI presents fairly generic interfaces to them.  Each aspect is specified by a type, sub-type and name.  The operation of the aspect is controlled by a data block (often a file) attached to the (type, sub-type, name). The meanings of sub-types, names, and the interpretation of data blocks within aspects are controlled by the aspect.  Below we present a worked example of the layout aspect that illustrates this.
    475 
    476 Experiments also have [wiki:SPIDocs#Profiles profiles] attached to them so that other users can understand the purpose and goals of a project without investigating the aspects in detail.
     480Because research on individual aspects is ongoing, the SPI presents fairly generic interfaces to them.  Each aspect is specified by a type, sub-type and name.  The operation of the aspect is controlled by a data block (often a file) attached to the (type, sub-type, name). The meanings of sub-types, names, and the interpretation of data blocks within aspects are controlled by the aspect.
     481
     482To allow aspects to continue to be developed, the SPI minimally constrains aspect configuration.  The data block passed to an aspect is generally a configuration in the aspect's specific configuration language. These are specified individually for each aspect.
     483
     484When an aspect is added to an experiment, the SPI starts a transaction across the various aspect implementations present in the experiment and being added to the experiment.  Each is given a chance to inspect any new instances of the aspect being added to the experiment and they may [wiki:SPIDOcs#ViewingExperiments query the current experiment contents] looking for any inconsistencies with other aspects.  When new instances have been inspected, the transaction is closed, giving all aspects (new and old) a chance to veto the addition.  This same transaction protocol is followed when aspects are changed or deleted.
     485
     486===== Layout Aspect =====
     487
     488The layout aspect specifies the elements and interconnections of an experimental environment.  We present it here in some detail, both because researchers will use it practically and as an example of a fleshed out aspect.
     489
     490
    477491
    478492==== Experiment Names ====