GENERIC TYPES IN JAVA: ABEANS SPECIFICALLY FOR YOU, MR T?

Java 1.5 is not merely a revised Java 1.4 - it is an old language reborn to incorporate generic types, similar to C++ templates, and a host of various new improvements. Abeans, a client-side software library for modelling complex control systems, has been trying for several years (and three major releases) to strike a balance between ease-of-use and the capability of running on various control system architectures. More specifically, we designed custom solutions based on introspection, meta-data processing and code generation in order to foster existing and new Abeans deployments on diverse machines. New Java features will drastically reduce the code footprint and improve code clarity by generalizing naturally over atomic data types in the control system; by incorporating meta-data relevant for generic applications and code generators directly into source code itself; and by allowing Abeans code to monitor and modify itself during execution, a feature impossible to implement in pure Java before version 1.5. We believe that, if used properly, such advanced functionality can be a blessing to control system programmers. Consequently we discuss specific examples where the whole community can benefit from it and show how new concepts will be incorporated into future Abeans releases.