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: 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:
  1. 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.
  2. General information about the devices and classes it is going to work with.
  3. Information on what to do with these devices. Three levels of knowledge are possible:
    1. The program knows the ControlDeviceClass it is working with : specific device-dependent attributes can be obtained from DeviceProperty
    2. 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.
    3. 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.