Download Implementing Activity Structures Process Modeling On Top Of The
Transcript
47
Deactivate [?SO:AS_0]:
:
no_backward(?SO.clientID = CurrentClient)
{ }
(and no_backward(?SO.active = Inactive)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive)
no_chain(?SO.state4 = Inactive)
no_chain(?SO.state5 = Inactive));
Terminate [?SO:AS_0]:
:
(and no_backward(?SO.clientID = CurrentClient)
no_forward(?SO.active = Done))
{ }
(and no_backward(?SO.active = Terminated)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive)
no_chain(?SO.state4 = Inactive)
no_chain(?SO.state5 = Inactive));
Deactivate [?SO:AS_1]:
:
no_backward(?SO.clientID = CurrentClient)
{ }
(and no_backward(?SO.active = Inactive)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive));
Terminate [?SO:AS_1]:
:
(and no_backward(?SO.clientID = CurrentClient)
no_forward(?SO.active = Done))
{ }
(and no_backward(?SO.active = Terminated)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive));
Deactivate [?SO:AS_2]:
:
no_backward(?SO.clientID = CurrentClient)
{ }
(and no_backward(?SO.active = Inactive)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive));
Terminate [?SO:AS_2]:
:
(and no_backward(?SO.clientID = CurrentClient)
no_forward(?SO.active = Done))
{ }
(and no_backward(?SO.active = Terminated)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive));
Deactivate [?SO:AS_3]:
:
no_backward(?SO.clientID = CurrentClient)
{ }
(and no_backward(?SO.active = Inactive)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive)
no_chain(?SO.state4 = Inactive));
Terminate [?SO:AS_3]:
:
(and no_backward(?SO.clientID = CurrentClient)
no_forward(?SO.active = Done))
{ }
(and no_backward(?SO.active = Terminated)
no_forward(?SO.clientID = ResetClient)
no_chain(?SO.state0 = Inactive)
no_chain(?SO.state1 = Inactive)
no_chain(?SO.state2 = Inactive)
no_chain(?SO.state3 = Inactive)
no_chain(?SO.state4 = Inactive));
Attach [?SO:ACTIVITY_STRUCTURE]:
(forall ACTIVITY_STRUCTURE ?s suchthat (?s.as_string <> ResetUser))
:
(and no_chain(?SO.owner = CurrentUser)
no_chain(?s.clientID <> CurrentClient))
{ }
no_forward(?SO.clientID = CurrentClient);
Detach [?SO:ACTIVITY_STRUCTURE]:
:
no_chain(?SO.clientID = CurrentClient)
{ }
no_forward(?SO.clientID = ResetClient);
Unbind_doc [?SO:AS_3]:
(and (exists DOCUMENT ?doc suchthat (linkto [?root.doc ?doc]))
(exists test4 ?root suchthat (ancestor [?root ?SO])))
:
{ }
(unlink [?root.doc ?doc]);
Bind_doc [?doc:DOCUMENT, ?SO:AS_3]:
(exists test4 ?root suchthat (ancestor [?root ?SO]))
:
{ }
(linkto [?root.doc ?doc]);
Unbind_b [?SO:AS_3]:
(and (exists DOCFILE ?b suchthat (linkto [?root.b ?b]))
(exists test4 ?root suchthat (ancestor [?root ?SO])))
:
{ }
(unlink [?root.b ?b]);
Bind_b [?b:DOCFILE, ?SO:AS_3]:
(exists test4 ?root suchthat (ancestor [?root ?SO]))