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.

12211.8.ProcessCreation<strong>and</strong>CommunicationOperations<br />

ingtheargumentsintothecallmessage,(3)sendingthecallmessageto theinputporttowhichtheoutputportisconnected,(4)waitingforthe nofunctioncallcanhaveanymodiableparameterexceptitsresult. arepartsofexpressions,<strong>and</strong>expressionsmaynotmodifytheiroper<strong>and</strong>s, procedurereturns4,youwillnotchangethevalueof3.)Sincefunctioncalls ables.Ifthesevariablesarepassedtomodiableparameters,themodica-<br />

tionsarelost.(Forexample,ifyoupass3toaninoutparameter,<strong>and</strong>the Thecallisexecutedby:(1)creatinganewcallmessagevalue;(2)mov-<br />

Itshouldbenotedthatexpressionsareevaluatedintotemporaryvari-<br />

callmessagetobereturned,(5)movingthecallmessagecomponentsback theneventuallythemessagewillbereceived. ismade,<strong>and</strong>thereceivingprocessrepeatedlyissuesreceivestatements, arereturnedinthesametypestatetheyweresent. ontheseoutputportsaremergedfairly.Thismeansthatifacallorsend intotheargumentvariables,(6)throwingawaythecallmessage. aportconnection,theDisconnectedexceptionisraised.Thearguments riedoutasinaregularcall,butadditionally,theexceptionisraisedinthe Ifthecallisreturnedwithanexception,thenalltheabovestepsarecar-<br />

Ifseveraloutputportsareconnectedtothesameinputport,thencalls<br />

caller.Thiscanonlyhappenifthereexistsadeclarationofthatexceptionin thecallmessagetypedenition.Thefullnamefortheexceptionincludesthe callmessagetype<strong>and</strong>theexceptionname|.. Iftheinputporthasbeenthrownaway,leavingtheoutputportwithout<br />

parametersareadded<strong>and</strong>dropped.Theseadds<strong>and</strong>dropsareappliedto betweentheentry<strong>and</strong>returntypestatesdeneswhichattributesofthe .Discardedisraisedinthecaller.Thecallmessageisreturned withtheparametersintheminimumtypestateasdenedinthecallmessage tatejustpriortothecall,fromtheentrytypestate,<strong>and</strong>fromthetypestate<br />

denedforthenormalorexceptionalreturnbeingmade.Thedierence Thetypestateafterexecutingacallstatementisderivedfromthetypes-<br />

Iftheprocessowningthecallmessagediscardsit,thentheexception<br />

theargumentsmatchingtheparameters. Forexample<br />

tionsampleinterface.Failure,thetypestatewillbefinit(p),init(a), constantparametersecond,itcannotretainitsattributeeven(b),which even(b),init(c)g.Sinceamatchestheconstantparameterfirst,it mayretainitsadditionalattributeeven(a).Sincebmatchesthenon-<br />

isdroppedpriortothecall.Onnormalreturnfromthecall,thetypestate willbefinit(p),init(a),even(a),init(b),init(d)g.Onexcep-<br />

typestatepriortothecallis:finit(p),init(a),even(a),init(b), callp(a,b,c,d);<br />

even(a),negative(a),init(b),init(c)g. Supposethetypeofpissampleoutport,denedabove.Supposethe

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

Saved successfully!

Ooh no, something went wrong!