A workbench for all tasks related to TANGO.
The workbench is an old concept which has been a standard part of all workshops since centuries. Modern software engineers have come to rely on workbenches for their daily work. These are also referred as IDE's (interactive development environment). Some commonly encountered ones are : Eclipse, Visual Studio, Netbeans, IntelliJ, Kdevelop, Xcode and even Emacs. What all of these programs share is that they present a common set of interfaces to the user for doing a multitude of tasks. Some of then go even further (e.g. Mylar in Eclipse) and learn from the user's actions what information to present and what to hide automatically.
Today Tango has a number of different tools which the user needs to learn in order to be able to develop (Pogo), manage (Astor) and use (Jive and ATKpanel) a Tango based control system. These programs all present different interfaces to the user, often via a multitude of windows, do not communicate much or at all between themselves, are often not configurable. All of these issues can be addressed by a Tango Workbench.
The workbench will offer a single common interface to the tasks needed to be executed by users, managers and developers of Tango. All windows will be opened inside the workbench following the so-called Multiple Document Interface (MDI) paradigm. This makes it easier to navigate and find windows. Users will be guided when they need to execute an action they are unfamiliar with via online help and cheatsheets. The workbench will be based on the Eclipse Rich Client Platform (RCP). The Eclipse RCP framework is a Java based plugin framework for building workbenches for doing anything. The RCP framework comes complete with a number of features. It is extended by developing plugins. New plugins can be added by simply copying the plugin jar file to the plugin directory. This way the workbench can be constantly developed and enhanced so that it becomes the Tango killer application for doing everything and nothing in particular.
Here are some typical use cases the Tango workbench will implement.
The workbench will be use the concept of perspectives to group windows together which are related to the same task.
The following perspectives are currently planned :
- users perspective
- managers perspective
- database perspective
- developers perspective
- testers perspective
A prototype of the Tango WorkBench will be implemented by Luk Slezak and Jaro Butanowicz at the ESRF during Spring 2007 as part of their Master's thesis.
A related project is the Control System Studio (CSS). It is based on Eclipse and a generic api to access a wide range of control systems.