CBEI: Computation-Based Experimental Infrastructure Lawrence Berkeley National Laboratory
Computational Research Division
Distributed Systems Department
Documentation
There is no independent manual for CBEI. Instead, see the ViCE manual for installation and usage documentation.

Download current code release
  • There is indepedent code release for CBEI. Instead, download the ViCE/CBEI software package:
  • ViCE/CBEI 0.9
  • You can download or browse the latest source version from the ViCE Subversion repository

Links Mailing Lists

Overview

Computation-Based Experimental Infrastructure (CBEI) is a workflow execution framework. The primary motivating factor for the development of CBEI is the complexity of workflow languages such as WS-BPEL, and the immaturity of freely available BPEL workflow execution systems. CBEI simplifies the workflow model to a single directed acyclic graph of actors connected through named ports. Execution strictly follows the graph dependency structure; actors are scheduled when the actors they depend upon complete. No conditionals, branching, or variables are explicitly supported in our workflow language. A number of generic CBEI actors, including Emit Constant, Ramp, Log, Adder, Multiplexer, Web Service Invoker, and Web Page Retrieval are included. Developers implement custom CBEI actors using Python code. Because CBEI is implemented using the asynchronous programming framework Twisted, users can write actors that can potentially take a very long time to complete, without blocking other actors that are currently executing. CBEI was intentionally designed to eliminate complex workflow features, such as looping (cyclic graph structures), but, due to its flexible framework construction, allows users to interface with other workflow systems that do have these capabilities. Further, clever use of the Python programming environment built into CBEI allows conditionals, looping, and locally bound variables. Because CBEI is tightly integrated with Web Services and Grid Services, 'power users' can delegate work to more complex workflow engines, such as WS-BPEL. Further, because actors are implemented in Python, any language features available in Python are available to actors. In many situations, "lightweight" actors that don't need to consult external services can carry out routine tasks, such as XML processing, statistical data reduction, and visualization. CBEI is designed to work with ViCE, a visual workflow editing and execution monitoring environemtn. When coupled with ViCE, CBEI allows developers to build actors that can display information and interact with the user independently of workflow execution. This feature is used to implement the jabber chat feature, in which users can interact with collaborators while simultaneously editing a workflow that is not being executed.

Requirements