Papers by Author | in ( Plenary | Parallel | Poster | Summary ) Sessions

Representing System Behaviour With Dynamic Models and Executing Them: The New Aleph Finite State Machine

  A. Aimar(1), O. Carmona(2), J. Harvey(1), P. Mato(2)


   (1) CERN, ECP Division, Programming Techniques Group
       CH 1211 GENEVA 23, SWITZERLAND 
   (2) CERN, PPE Division, Aleph experiment
       CH 1211 GENEVA 23, SWITZERLAND 

  • Paper (Postscript)
  • Paper (PDF)

  • Slides
                    Abstract
    
    The behaviour of a complicated system can be simplified by modeling its different aspects in terms of states and the valid transitions between them. The constraints and the allowed transitions between states describe the logic of the system, the actions associated to transitions and states represent the whole activity of the system.

    Since its start-up in 1989, the Aleph experiment has used executable state machines to decompose, distribute and synchronise the different tasks of its data acquisition system. However the limitations of the current implementation have made necessary a full redesign of a new generic FSM (Finite State Machine) model and its run-time support.

    The main limitation of the existing FSM system is that each task has only one finite state machine. The new FSM, instead, allows the creation inside the same task of many machines, of different types, that run in parallel. This increases the modularity of each task; so, for instance, the status of a run controller is the combination of the status of the DAQ system and the one of the trigger system, each of them represented by an individual finite state machine.

    The new FSM has also a better model of execution of transitions. Each machine, in addition to the actions on the transitions, has an input and an output action associated to each state which are executed everytime the state is reached or left. The synchronization between different finite state machines is specified on each transition by mean of rules that refer to the status of other FSM machines. For instance, if a rule on a transition requires that some external tasks must be in a particular state, then all the transitions to get to the state are fired in the remote tasks.

    From the user point of view the application that wants to use the FSM engine simply calls a programming interface to:

  • create one or more machines, choosing from a database containing the definition of several machine types
  • define which operations correspond to actions on states or transitions
  • connect the different FSM machines, so that the rules defined on the transitions will apply to them
  • pass the control to the FSM engine.

    From then on, every time the FSM engine receives a request to fire a transition, it verifies the rules, executes the actions on the transition and gets the machine to the new state.

    The new Aleph Finite State Machine has been conceived and designed using the OMT methodology, developed in C++. It has been ported to the platforms of the Aleph DAQ system and it is interfaced to the FORTRAN, C and C++ programming languages. Because of its genericity the new Finite State Machine engine is a good starting point towards an implementation of executable dynamic models of popular Object Oriented methodologies, such as the Dynamic Model of OMT.


    SUBMITTER:    Alberto AIMAR
    INSTITUTION:  CERN, ECP Division, Programming Techniques Group
    ADDRESS:      CH 1211 GENEVA 23, SWITZERLAND
    EMAIL:        alberto.aimar@cern.ch
    PHONE:        (+ 41) 22 767 90 99
    FAX:          (+ 41) 22 767 87 30
    
    AUTHORS:      A.Aimar(1), O.Carmona(2), J.Harvey(1), P.Mato(2)
    
                  (1)
                  CERN, ECP Division, Programming Techniques Group
                  CH 1211 GENEVA 23, SWITZERLAND
                  (2)
                  CERN, PPE Division, Aleph experiment
                  CH 1211 GENEVA 23, SWITZERLAND