A set of tools are available in order develop, implement and test the control system as described in figure 6.
5.1 Generation and execution of a State Manager
The description of a specific domain in SML is normally stored in a file with extension ".SMI". Each .SMI file corresponds to a domain. The SMI Translator has to be run on this file in order to generate a .SOBJ file which will then be used at run time by a generic SM engine (the logic engine in the figure). The tools involved are:
file_name file_name.SMI and produces file_name.SOBJ
smiSMstarts a SM for the domain
domain_name file_name domain_namebehaving as specified in file_name.SOBJ
State Manager behaviour can be affected by various run time options. For details see Run Time Options. .
5.2 Generation and execution of proxies
Proxy skelettons can also be generated from the .SMI files by running
the Proxy Generator. The output is a file per proxy called
The tools involved in this creation process are:
smiGenGenerates as many output files as associated objects each one called
SMIRTLThis run-time library contains all the routines needed for communication with the SM.
5.3 The SMI generic user interface
Included in the Tool Set is a Generic Configurable User Interface for visualisation of a specific domain. The UI allows the visualisation of the states of objects in a certain domain, as well as sending commands to them. The set of objects to be displayed, itís position and the color of itís states are configurable. The GUI can be started by:
An Example is shown in Fig 7.
5.4 Sending commands to objects from the command line
Full description of this command see here.
5.5 Building your own User Interface
The Generic User Interface provided in the tool set is very usefull for use during the implementation and test phase of a control system, but is not recommended as production user interface for the control system. Normally in the final UI the user would like to combine objects from different domains and also information on quantities like RUN_NUMBER and TRIGGER_RATE that are not available as SMI object states. The SMI Tool Set contains a library that allows easy access to information on objects, states, and available or currently executing actions. The functionality available in this library will be described later in this document). In order to access these functions your user interface should link with:
The SMI User Interface Run-Time library.
This library also allows other processes (not UIs) to send commands to SMI objects and/or to inquire on the state of a particular object somewhere in the system.