Research Article
An Improved Abstract State Machine Based Choreography Specification and Execution Algorithm for Semantic Web Services
Listing 2
runChoreography predicate.
(1) runChoreography(?goal, ?WS) :- | (2)proveGoalPost(?goal), !, | (3)watchln([Success! -?goal-and-?WS-are-choreographed!]). | (4)runChoreography(?goal, ?WS):- | (5)eraseModule(DeltaWM), | (6)runWsRules(?WS), | (7)runGoalRules(?goal), | (8) ( (contradictory(WM,DeltaWM), !, | (9)watchln(Choreography failed due to CONTRADICTION.) ) ∖or | (10)( ∖+ deltaMakesAChange(WM,DeltaWM), !, | (11)watchln(Choreography failed due to NO CHANGE.) ) ∖or | (12) ( mergeDeltaIntoWM, | (13) runChoreography(?goal,?WS) )). |
|