can be used as a standalone application or as
embeddable (C-source) library, which allows
integration of ES functionality in the existing
applications
implements a number of different programming
paradigms:
“if-then” rules and a forward-chaining inference
engine
object-oriented constructs (“COOL” language)
traditional algorithmic constructs (functions, cycles
etc.)
One of the key (if not unique) features of CLIPS
is the possibility to describe the architecture of your
application using an object-oriented approach
(including classes, multiple inheritance, methods)
and to develop “generic” rules for classes of objects
which will be then applied to a particular set of
objects according to a particular configuration
without any modification of the pre-loaded rules.
This model fits very well with the TDAQ
configuration object-oriented approach and gives a
powerful tool for developing rule-based control
applications in TDAQ framework.
2.3 Integration of CLIPS in TDAQ
Controls Framework
Figure 3 presents shows how the expert s is
integrated and interacts with the main TDAQ
Control services.
The whole TDAQ system is fully described and
configured via the Configuration Database Service
according to a pre-defined configuration object-
oriented schema. The corresponding schema
developed in the CLIPS object language COOL is
loaded to all instances of the ES. The actual set of
objects for a particular configuration is loaded into
the ES as a class hierarchy representing proxies of
the applications and the hardware in the system.
These objects, together with information gathered
from the Monitoring service and test results can then
be used in the ES engine to match the loaded rules.
The CLIPS inference engine adopts a forward
chaining approach: the agenda is how CLIPS keeps
track of which rules are to be executed next run, and
a rule is added to the agenda when all its conditions,
given the status of objects in the systems, are
satisfied.
CLIPS parses the knowledge base at run time.
This allows to easily customize the behaviour of
recovery procedures supplying different set of rules
as arguments to the recovery applications. In a
complex and dynamic framework such as the TDAQ
system it is very difficult to detect a priori all the
different errors that might occur and what
appropriate actions should be taken. It is therefore
very important that the expert system can be easily
changed and customized as more data is gathered
and a better understanding of the system is gained.
OO schema
ExpertSystem
Agenda
KB
rules
inference
Operator
objects
classes
CDB
Configuration
Service
TDAQ
System
errors,
messages
test results
test requests
Testing
recovery actions
Controls
Monitoring
Figure 3: Integration of Expert System in Controls
framework.
3 DIAGNOSTICS AND
VERIFICATION SYSTEM (DVS)
DVS is a framework used to assess the correct
functionality of the system, to detect and diagnose
eventual problems. DVS allows the configuration of
one or several tests for any component in the system
by means of a configuration database. The system
and the testing results can be viewed in a tree like
structure using a user friendly graphical user
interface.
3.1 Tests Configuration and Access
Library
Having a possibility to examine and verify the
functionality of any component in the system is
essential for the diagnostic, i.e. for understanding the
causes of a problem and for identifying the faulty
components – either during the error recovery
procedures on the running system or in pre-
initialization phase.
A test is a binary running on a particular host in a
system. It verifies a particular functionality of a
TDAQ component and returns a single result value:
PASSED, FAILED, UNRESOLVED, TIMEOUT
and some text output. For a single component a
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
514