Guest User

Untitled

a guest
Feb 19th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. # ceftb
  2.  
  3. ## What
  4.  
  5. What ceftb does is best broken down into two categories - what ceftb does for __experimenters__ and what ceftb does for __providers__.
  6.  
  7. ### Experimenters
  8.  
  9. #### Expression
  10. ceftb provides mechanisms for expressing experiments at multiple levels.
  11. - At the top level there are experiment development toolkits (EDK) in a variety of high level languages for experiment development.
  12. - There is also a common low level experiment representation (XIR) that underpins each experiment, independent of the EDKs.
  13. - Each EDK provides the capability to generate XIR.
  14.  
  15. ceftb also provides tools for working with experiments after they have been expressed, but before they have been realized.
  16. - Static analyzers
  17. - Visualizers
  18.  
  19. #### Realization
  20. Realization comes in two flavors, structural and behavioral.
  21. - Structural realization solves the optimization problem that is mapping an experiment expressed as a topology onto a minimum viable set of resources.
  22. - Behavioral realization solves a related optimization problem of mapping an experiment expressed as a set of events and actions onto a minimum viable set of resources.
  23.  
  24. #### Materialization
  25. Materialization is the process by which a realization (a set of resources allocated to an experiment) are provisioned as specified in the experiment description. This includes but is not limited to imaging device system level software, configuring devices and configuring networks.
  26.  
  27. ### Providers
  28. Providers provide the resources that underpin ceftb experiments. What ceftb provides the providers is the following.
  29.  
  30. #### Registration
  31. Providers may _register_ and _unregister_ with the testbed. Registration may be done at any time. Unregistration must be scheduled and will be completed when the resources being contributed by that provider are no longer in use within any experiments. In extreme cases providers my unregister with live resources.
  32.  
  33. #### Commissioning
  34. Providers may _commission_ and _decommission_ resources. When a resources is commissioned, it is made available to all or a subset of the ceftb community. Providers may retain control of who accesses their resources through signed temporary tokens. Resources may be decommissioned by providers meaning the will no longer be available through ceftb.
  35.  
  36. #### Provisioning
  37. Provisioning is the process by which an allocated resource is set up in the way that is specified in an experiment description. For example imaging a computer with the appropriate operating system or uploading a configuration file to an embedded controller. Sites accomplish this on a per-device-type basis through the driver model. This is precisely the same model that is used in computer operating systems for managing disparate hardware all under one kernels roof. A set of drivers will be provided for common some hardware (phones, computer, IoT devices, network equipment). However, it is expected that the breadth of hardware will be grown in large part by the community. ceftb defines the runtime environment for drivers, specifically the interfaces they must implement. All that must be done to add a new device to ceftb is to create a new driver. Once a driver registers with it's local site commander (provided as a part of the ceftb software distribution), it can begin provisioning resources. Drivers are controlled by the centralized ceftb API through site commanders.
Add Comment
Please, Sign In to add comment