28.01.2015 Views

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

InputPort,OutputPort,CallmessageTypeFamilies 11811.7.VariantOperations 11.8ProcessCreation<strong>and</strong>Communication type{construction<br />

::=callmessage(<br />

::=inportofcallmessage{typeentry{typestate ...] )[constant{parameters] exitexit{typestate [user{exception]... [minimum] [component{declaration[,component{declaration]<br />

constant{parameters ::=constant([component{name[,component{name]... ::=outportofinport{type<br />

Thetypefamiliesinputport,outputport,<strong>and</strong>callmessageareusedin \programming-in-the-large"|thatis,thedivisionofsystemsintoprocesses, minimum::=minimumminimum{typestate user{exception ::=exceptionuser{exception{nameexception{typestate ])<br />

thecreationofprocesses,thecreationofbindingsbetweenprocesses,<strong>and</strong><br />

type,<strong>and</strong>(2)aformaltypestate,calledtheentrytypestate. portsorentriesarenotvaluesofvariables. inportvaluesarestoredininportvariablesjustasintegerorstringvalues made.Itshouldbeemphasizedthatin<strong>Hermes</strong>inportsarevalues,<strong>and</strong>that arestoredinintegerorstringvariables.Thisiscompletelyconsistentwith therestof<strong>Hermes</strong>,butmightappear\dierent"becauseinmanylanguages thecommunicationbetweenprocesses.<br />

Usuallythemessagetypewillbeacallmessagetype.However,themessagetypecanbeanytype,sincesendcanbeusetotransmitanyvalueto<br />

aninport. callmessage,sinceallcallstatementswillgenerateinitializedcallmessages, willhavewhensent.Youmayomitinit(*)fromtheformaltypestateofa <strong>and</strong>usingsendtodeliveranuninitializedcallmessageispointless. Aninporttypedenitionspecies(1)atypename,calledthemessage Aninputportorinportisamessagequeuetowhichconnectionscanbe<br />

Theentrytypestateisthetypestatethatvaluesofthemessagetype

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!