Logo

Compiling High-level Access Interfaces for Multi-site Software (CHAIMS)

Logo
Towards the Science of Component Engineering


December 16, 1996
Louis Perrochon


MEGAPROGRAM Arrange Meeting;
            (* At least the core of it *)
DECLARE
  MEGAMODULE (* The MMDL-definitions for these must come from the repository *)
    RR     : GatesRooms;
    F      : PaloAltoPizzaHut; (* Not yet needed *)
  VAR
    hRR    : HANDLE;
    room   : STRING;
    stime  : DATE;
    seats  : INTEGER;
    windows: BOOLEAN;

BEGIN
  INPUT(time,people);
            (* Calling input service, don't care about handle *)
  IMPORT SETUP RR;
            (* Not really required here, MProrammer allready knows, what he/she wants *)
  SETUP hRR:=RR.GetRoom(time:=stime,seats:=people);
            (* Give it the fixed parameters *)
  INVOKE hRR(windows:=TRUE);
            (* Pass on variable parameters*)
  REPEAT
    ESTIMATE wait := hRR();
            (* ESTIMATE returns 0 if job is finished *)
  UNTIL wait=0; (* while *)
  EXTRACT hRR(roomno:=room);
  OUTPUT(roomno);
END


12/16/96/lp