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.

lowestentrycondition(message,port):Thispreconditionappears intotheformaltypestateappearinginip'stypedenitiontoyield therequiredattributes.Allotherattributesinvolvingmessageorits subcomponents. onlyinthesendoperation.Letipbetheinputporttypeassociated withtheportoper<strong>and</strong>,whichisanoutputport.Substitutemessage AppendixB.<strong>Hermes</strong>Operations157<br />

lowestpostcondition(message):Thispreconditionappearsonlywith<br />

polymorphprecondition(oper<strong>and</strong>):Thispreconditionappearsonly maltypestateintoyieldtherequiredattributes.Allotherattributes involvingmessageoritscomponentsareforbidden. tionformessagedeterminesthepreconditions;inthelattercase,the typestateassociatedwiththeexceptionbeingreturneddetermines thepreconditions.Ineithercase,messageissubstitutedintothefor-<br />

thereturn<strong>and</strong>return-exceptionoperations.Intheformercase,<br />

withthewrapoperation.Ifaformaltypestateisspeciedinthe thenormalexittypestateappearinginthecallmessagetypedeni-<br />

assertable():Thispreconditionappearsonlywiththeassertoperation.Iftheconstraintbeingassertedisalreadypresent,thenthis<br />

substitutingoper<strong>and</strong>intotheformaltypestate<strong>and</strong>forbidallother operation,thenthepreconditionrequiretheattributesobtainedby stateisgiven,thispreconditionhasnoeect.2 attributesinvolvingoper<strong>and</strong>oritssubcomponents.Ifnoformaltype-<br />

B.4.2ContextPreconditions variablesotherthantypestate. Thefollowingpreconditionfunctionstestcontext-dependentpropertiesof preconditionhasnoeect.Otherwise,substituteactualarguments forformalparametersinthetypestateappearingwiththeconstraint<br />

var(oper<strong>and</strong>):Thevalueofoper<strong>and</strong>valuemaychangeasaresultof denitiontoyieldtherequiredattributes.Therearenoforbidden<br />

theoperation.Itmustnotbeconstantinthecurrentscope(e.g.via<br />

stateinawrapstatement,sothispreconditionneverhasanyeect. 2Notethatitisimpossible,withthecurrentsyntax,tospecifyaformaltype-<br />

pos(oper<strong>and</strong>):oper<strong>and</strong>mustbetheselectorvariableinan\active" scopeincludesthecurrentoperation,orisassociatedwithaninspect inspectorfor...inspectstatement). theconstantlistinacallmessagedenition,orinthebodyofan selectorinvolvinganorderedtable.Anactiveselectorisonewhose

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

Saved successfully!

Ooh no, something went wrong!