Declarative flow control for distributed instrumentation
We have developed a "microscopy channel" to advertise a unique set of online scientific instruments and to let users join a particular session, perform an experiment, collaborate with other users, and collect data for further analysis. The channel is a collaborative problem solving environment (CPSE) that allows for both synchronous and asynchronous collaboration, as well as flow control for enhanced scalability. The flow control is a declarative feature that enhances software functionality at the experimental scale. Our testbed includes several unique electron and optical microscopes with applications ranging from material science to cell biology. We have built a system that leverages current commercial CORBA services, Web servers, and flow control specifications to meet diverse requirements for microscopy and experimental protocols. In this context, we have defined and enhanced instrument services (IS), exchange services (ES), computational services (CS), and declarative services (DS) that sit on top of CORBA and its enabling services (naming, trading, security, and notification). IS provides a layer of abstraction for controlling any type of microscope. ES provides a common set of utilities for information management and transaction. CS provides the analytical capabilities needed for online microscopy. DS provides mechanisms for flow control for improving the dynamic behavior of the system.