SMI++
State Management Interface


Previous page... | Contents


Chapter 3
SML - The Language

The object model of the experiment is described using State Manager Language (SML). This language allows detailed specification of the objects such as their states, actions and associated conditions. The main characteristics of this language are :

Example of SML code

 
  
object : RUN_CONTROL  
  state : READY  
    action : START_RUN  
      do MOUNT TAPE  
      if (TAPE not_in_state MOUNTED) then 
        do MOUNT_ERROR ERROR_OBJ  
        move_to ERROR  
      endif  
      do START READOUT_CONTROLER  
      if (READOUT_CONTROLER in_state RUNNING)  
        move_to RUN_IN_PROGRESS  
      ...  
  state : RUN_IN_PROGRESS  
    when (TAPE in_state FILE_FULL)  
      do PAUSE_RUN  
    when (READOUT_CONTROLER in_state ERROR)  
      do ABORT_RUN  
    action : ABORT_RUN  
      ...  
  
object : READOUT_CONTROLER/associated  
  state : READY  
    action : START  
    ...  
  state : RUNNING  
    action : PAUSE  
    action : ABORT  
    ...  
  


Chapter 4
SMI's use in Delphi

In DELPHI the full online system is controlled through this mechanism, the various areas of DELPHI have been mapped into SMI domains: sub-detector domains, DAS domain, SC domain, TRIGGER domain, etc. The full system comprises about 1000 SMI objects in 50 different domains.

A high level of automation of the experiment's control system is very important in order to avoid human mistakes and to speed up standard procedures.

Using the SMI mechanism the creation of a top level domain - BIG BROTHER - containing the logic allowing the interconection of the underlying domains (LEP, DAS, SC, etc.) was a very easy task. Figures 4-1 Big-Brother Control



Under normal running conditions BIG BROTHER pilots the system with minimal operator intervention as shown in Figure Figure 4-1. In other test and setup periods the operator becomes the top-level object, using the user-interfaces he can send commands to any SMI domain.

Contents