A REFLECTION ON INTROSPECTION

M. Pleško, G. Tkačik · 2003

In this article we present our specific solutions of storing implicit knowledge about the control system in the control system itself and utilizing it to create the so called generic applications. We show an implementation of Abeans that allows to move away from naming conventions, channel and property lists and documentation (i.e. implicit knowledge used by human programmers) and rather stores that information digitally. Generic applications can thus access it programatically from code (i.e. what we call meta information). Those applications require absolutely no code porting when used at other control systems, because all system dependence is parametrized in terms of different meta descriptions for each system and managed by Abeans. The goal of the project is to produce software common to the majority of the communication systems (archivers, browsers, multiple device displays, machine physics applications) that are exactly the same irrespective of the control system (i.e. CORBA ACS, TINE at DESY, EPICS at SNS). To this purpose, we have extensively studied the nature of meta information and have developed the Abeans Directory, which contains semantics and APIs to manage meta data as part of our Abeans and CosyBeans frameworks. This article describes the interplay of Java Naming and Directory Interface (JNDI), meta descriptor objects, specialized GUI components and strategies of extraction of meta-information from the underlying middleware communication systems (e.g. CORBA, EPICS), that bring us closer to the dream of generic applications. As an example we discuss ArchiveReader, an application produced in collaboration with DESY, which employs the enumerated concepts to completely separate the presentation of channel history data from the data access. As Abeans Directory is implemented also in full on EPICS and CORBA ACS platforms, the same application will access their archives in addition to the initially supported TINE and Abeans Simulator systems. We believe that the specific example discussed here will make the reflective concepts clearer and will facilitate their faster adoption in the wide control system community.

Read the paper · More papers on PaperTik