Generic Programs and Generic Beans
Generic programs or beans in our environment provide services
without knowing a priory the accelerator equipment
on which they will operate. Examples are:
- Displays for beam transfos, position pickups, beam profile monitors,
radiation monitors, and other diagnostic equipment.
- General display and control programs.
- Interactive data browsers.
- Alarm surveyors, collectors, and displays.
- Statistics programs.
- Synoptics for beam lines and accelerator segments ...
Generic beans are more portable than generic programs. Anyway, one can always
make a generic program by dropping one or more generic beans in a standard
application program frame.
Directory Service Information for Generic Beans and Programs
A generic bean or program needs to have:
- Information about the set of devices
it has to work on in this particular program instance.
The most powerful tool for this is the WorkSet,
dynamically contructed according to search criteria or hand crafted.
- General information about the devices
and classes it is going to work with.
- Information on what to do with these devices.
Three levels of knowledge are possible:
- The program knows the ControlDeviceClass it is working with :
specific device-dependent attributes can be obtained from
DeviceProperty
- The program knows the interface implemented by the class :
again, specific device-dependent attributes can be obtained from
DeviceProperty for the properties
implemented in the interface.
- The program has no special knowledge of the classes :
what to do with a specific ControlDeviceClass can be found in the
appropriate MetaProperty array for
the classes.
All this information can come from the directory service in an easily
usable form.