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.

emove(element,table) TypeRules: AppendixB.<strong>Hermes</strong>Operations185<br />

Preconditions: table2table<br />

init(table)<br />

elementtypeof(table) Exceptions:Depletion,NotFound<br />

SpecialRules:Thestatementqualierisaselector.Theresultvariable SeealsoSpecialRules var(element) var(table) Postconditions:<br />

typeoftheelementvariableidentiedintheselectormustbetheelementtypeoftable.Theentrytypestatefortheselectoristheentry<br />

typestateoftheremovestatement.Thetypestateonnormalexitfrom identiedinthatselectormustbeoftypepredefined!boolean<strong>and</strong> musthavetheinitattributeonnormalexitfromtheselector.The SeealsoSpecialRules killconstraints(table) moveelementts(table,element)<br />

Description:Removeanelementfromtablethatsatisestheselector Qualier:selector identiedintheinstructionqualier,<strong>and</strong>storeitinelement.Iftableis ordered,removetherstsuchelement. theremovestatementiscomputedbyapplyingthepostconditionrules listedabovetothenormalexittypestateoftheselector,minusanyattributesinvolvingtheresultorelementvariable.SeeSectionfora<br />

return(callmessage) discussionofhowtypestatesarecomputedforselectors.<br />

TypeRules: Preconditions: callmessage2callmessage lowestpostcondition(callmessage) Exceptions:Depletion Seex11.6,p.111<br />

Description:Returncallmessagetotheprocessthatoriginallysentit, Qualier:absent withoutraisingauserexception. var(callmessage) Postconditions: makeuninit(callmessage) Seex11.8,p.123

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

Saved successfully!

Ooh no, something went wrong!