The LCU databases for ATCS subsystems, as well as the global ATCS database, shall be designed according to the principles defined in the Guidelines for the development of VLT Application Software [AD11].
Each ATCS package will make a design of the corresponding LCU database branch. Though the various packages are in principle independent of each other, an effort shall be made to coordinate the design as far as possible.
There will be one ATCS database environment on the AT Control Workstation.
The database is designed according to Object Oriented principles. In particular every class is fully responsible for its own data and it encapsulate data access as much as possible. The system has a hierarchical structure: the system is on top, divided in packages. Each package is constituted by objects running in different processes and so on. This hierarchy is mapped in the structure of the database and every software component is responsible for the corresponding database branch.
As shown in the following database architecture diagram:
ATCS applications rely heavily on the database, not only for storage of data, but for implementations using features related to the database, like event notification, alarming, User Interface etc. For this to be useful, the database has to be used wherever possible for storage of quasi-static data as well as dynamic, temporary data.
As a general design concept, all data related to TCS subsystems or modules are defined in the database. This is the case for configuration parameters, reference values, actual values, status information etc., and also for intermediate results and values. Of course, application objects, programs and functions have their own private data, kept internally, but anything which is shared, or could be shared, between software units should be in the database, and not in any other kind of shared data structure. This rule applies to LCU and to WS software. Any exception must be discussed and accepted individually.
The following database access rules apply:
The subsystem packages mirror on the ATCS WS database all the attributes that can be of interest for coordination packages running on the workstation or for user interface panels, i.e. for each LCU database there is a partial copy on the ATCS WS. The CCS Scan system is used to copy data from LCUs to the WS database. Data are not copied the other way, from the WS database to an LCU database, by use of database facilities. When the LCU database needs to be updated, this is done by an explicit, special command, to an LCU function that updates the local database.