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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

copy(source,destination):Foreachattributeinvolvingsourceora makecase(varcomp):Addtheattributecase(variant,varcomp),where subcomponent,substitutedestinationforsource<strong>and</strong>addtheresultingattribute.Dropanyotherattributeinvolvingdestinationorits<br />

subcomponents.Dropallconstraintattributesofvariablesofwhich AppendixB.<strong>Hermes</strong>Operations159 destinationisasubcomponent.<br />

makechecked(oper<strong>and</strong>):Ifoper<strong>and</strong>'stypeispredefined!program, killvariant(varcomp):Dropallattributesinvolvingthevariantof dropcomponents(variant):Dropanycaseattributeinvolvingvariant,<strong>and</strong>allattributesinvolvingacomponentofvariant.<br />

whichvarcompisacomponent,aswellasallattributesinvolvingits subcomponents. variantisthevariableofwhichvarcompisacomponent.<br />

moveelementts(table,element):Substituteelementintotheelement whichelementisasubcomponent. subcomponents.Dropallconstraintattributesinvolvingvariablesof sultingattributes.Dropallotherattributesinvolvingelementorits formaltypestateassociatedwiththetable'stype,<strong>and</strong>addthere-<br />

addtheattributecheckeddefinitions(oper<strong>and</strong>). addtheattributechecked(oper<strong>and</strong>);ifoper<strong>and</strong>'stypeispredefined!definitionsmodule,<br />

polymorphts(oper<strong>and</strong>):Thispostconditionappearsonlywiththe moveentryts(port,message):Substitutemessageintotheentryformaltypestateassociatedwithport's(inputport)type,<strong>and</strong>addthe<br />

unwrapoperation.Substituteoper<strong>and</strong>intotheformaltypestateap-<br />

itssubcomponents.Dropallconstraintattributesinvolvingvariables pearingintheunwrapstatement,<strong>and</strong>addtheresultingattributes. resultingattributes.Dropallotherattributesinvolvingmessageor ofwhichmessageisasubcomponent.<br />

killconstraints(oper<strong>and</strong>):Dropallconstraintattributesinvolving asserted():Thispostconditionappearsonlywiththeassertoperation.Addtheattributenamedintheassertstatement.<br />

Dropallotherattributesinvolvingoper<strong>and</strong>oritssubcomponents. asubcomponent. oper<strong>and</strong>oranyvariablesofwhichoper<strong>and</strong>isasubcomponent. Dropallconstraintattributesinvolvingvariablesofwhichoper<strong>and</strong>is

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

Saved successfully!

Ooh no, something went wrong!