-- Generic single RPC binding, parameterised by input and output parameters. -- -- $Id: RPC.fin,v 1.1 1997/11/24 03:48:26 andyb Exp $ Binding RPC { Roles { -- the client role is parameterised by a set of input and output values Client(IN, OUT) { -- the client executes a send (output) followed by a receive (input) send!(IN) -> receive?(OUT) } -- the server role is similarly parameterised Server(IN, OUT) { -- the server executes a receive followed by a send receive?(IN) -> send!(OUT) } } Interactions { -- the client send causes the server to receive, with parameters -- matched by name Client.send -> Server.receive {*= prev} AND -- the server send causes the client to receive, with parameters -- matched by name Server.send -> Client.receive {*= prev} } } -- Revision history: -- -- $Log: RPC.fin,v $ -- Revision 1.1 1997/11/24 03:48:26 andyb -- Initial version used for OMG/DARPA workshop position paper. -- --