|
Compiling High-level Access Interfaces for Multi-site Software
(CHAIMS)
|
|
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