

DEFINITION MODULE MASLA;

FROM LIST  IMPORT List;
FROM PROCS IMPORT ProcessInstance;

TYPE

   MasterSlave;


   ServicePolicy = (Fifo, Lifo, Prior);


   UserDossier;


PROCEDURE Create
   ( VAR M         : MasterSlave;
     MastersPolicy : ServicePolicy;
     SlavesPolicy  : ServicePolicy;
     Name          : ARRAY OF CHAR
   );


PROCEDURE Init
   ( M : MasterSlave
   );
              

PROCEDURE Wait
   ( M : MasterSlave
   );


PROCEDURE WaitWithPrior
   ( M : MasterSlave;
     Priority : LONGREAL
   );


PROCEDURE Request
   ( M : MasterSlave
   ) : ProcessInstance;


PROCEDURE RequestWithPrior
   ( M : MasterSlave;
     Priority : LONGREAL
   ) : ProcessInstance;


PROCEDURE Release
   ( P : ProcessInstance
   );


PROCEDURE MastersList
  ( M : MasterSlave
  ) : List;


PROCEDURE SlavesList
  ( M : MasterSlave
  ) : List;


PROCEDURE User
   ( U : UserDossier
   ) : ProcessInstance;


PROCEDURE Delete
   ( VAR M : MasterSlave
   );


END MASLA.
