A.3 Protocol Specifications
A.3.2 ECR Interaction Scenario 2 Protocol Specification
In the following two diagrams, the public view for coordinator and participant for IS2 is first of all specified without any special cases. The subsequent two diagrams contain a specification for special cases.
Note: The first message for a participant not requesting the ECR may be rolled_back_to_analysis, Notify_ECR_rolled_back_to_commen-ting or Notify_ECR_-canceled. This may occur if there is no early notification of the ECR (Notification of
ECR creation = FALSE) and cancel or rollback takes place before Request_ECR_-comments is sent.
Receive [(Change request
trig-gered by participant) AND (Coord-triggerable IN Kind of IS2 Support)]
Send
KindOfSubdialog = elem)
IS2 Protocol Specification: public view of coordinator (without special cases)
Receive
KindOfSubdialog = elem) [(NOT Change requesttriggeredbyparticipant)AND (coord-triggerableIN Kind of IS2 Support)]
Kinds of Subdialogs≡{“GENERAL_COMMENTS”,
“TECHNICAL_COMMENTS“, …}
« Concurrent »
Receive Respond_ECR_comments (Respond_Message_Header.
KindOfSubdialog = elem) [continue]
[false]
[true]
elem elem
[else]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
[false]
[true]
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<coop. spec. input>>
With Notification of ECR creation
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment Send
Request_ECR_comments (Request_Message_Header.
KindOfSubdialog = elem) [(NOT Change requesttriggeredbyparticipant)AND (coord-triggerableIN Kind of IS2 Support)]
Kinds of Subdialogs≡{“GENERAL_COMMENTS”,
“TECHNICAL_COMMENTS“, …}
« Concurrent »
Receive Respond_ECR_comments (Respond_Message_Header.
KindOfSubdialog = elem) [continue]
[false]
[true]
elem elem
[else]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
[false]
[true]
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<coop. spec. input>>
With Notification of ECR creation
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialogIN
Kinds of Subdialogs AND (Request_ECR_comments.KindOfSubdialog<>
“COMMERCIAL_COMMENTS” OR NOT With estimation based approval OR NOT ECR_Classification.description
<>”estimation based approval”)
Figure 36: IS2 Protocol Specification: public view of coordinator (without special cases)
ECM Recommendation Part 1 – ECR
Appendix A: ECR Interaction Scenario Protocol Specifications
Send Respond_ECR_
IS2 Protocol Specification: public view of participant (without special cases)
Receive
KindOfSubdialog = elem)
« Concurrent »
[continue]
KindOfSubdialog = elem)
Send Notify_ECR_
comment_repetition_desired (Notify_Message_Header.
KindOfSubdialog = elem) [accepted]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialog IN
Kinds of Subdialogs AND (Request_ECR_comments.KindOfSubdialog<>
“COMMERCIAL_COMMENTS” OR NOT With estimation based approval OR NOT ECR_Classification.description
<>”estimation based approval”)
Kinds of Subdialogs≡{“GENERAL_COMMENTS”,
“TECHNICAL_COMMENTS“, …}
[(Change request trig-gered by participant) AND (Coord-triggerable IN Kind of IS2 Support)]
[(NOT Change requesttriggeredbyparticipant)AND (coord-triggerableIN Kind of IS2 Support)]
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
Send Respond_ECR_
IS2 Protocol Specification: public view of participant (without special cases)
Receive
KindOfSubdialog = elem)
« Concurrent »
[continue]
IS2 Protocol Specification: public view of participant (without special cases)
Receive
KindOfSubdialog = elem)
« Concurrent »
[continue]
KindOfSubdialog = elem)
Send Notify_ECR_
comment_repetition_desired (Notify_Message_Header.
KindOfSubdialog = elem) [accepted]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialog IN
Kinds of Subdialogs AND (Request_ECR_comments.KindOfSubdialog<>
“COMMERCIAL_COMMENTS” OR NOT With estimation based approval OR NOT ECR_Classification.description
<>”estimation based approval”)
Kinds of Subdialogs≡{“GENERAL_COMMENTS”,
“TECHNICAL_COMMENTS“, …}
[(Change request trig-gered by participant) AND (Coord-triggerable IN Kind of IS2 Support)]
elem elem
KindOfSubdialog = elem)
Send Notify_ECR_
comment_repetition_desired (Notify_Message_Header.
KindOfSubdialog = elem) [accepted]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialog IN
Kinds of Subdialogs AND (Request_ECR_comments.KindOfSubdialog<>
“COMMERCIAL_COMMENTS” OR NOT With estimation based approval OR NOT ECR_Classification.description
<>”estimation based approval”)
Kinds of Subdialogs≡{“GENERAL_COMMENTS”,
“TECHNICAL_COMMENTS“, …}
[(Change request trig-gered by participant) AND (Coord-triggerable IN Kind of IS2 Support)]
[(NOT Change requesttriggeredbyparticipant)AND (coord-triggerableIN Kind of IS2 Support)]
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
<<decision input>>
<<coop.spec. input>>
Change request trig-gered by participant, Kind of IS2 Support
Figure 37: IS2 Protocol Specification: public view of participant (without special cases)
Receive
IS2 Protocol Specification: public view of coordinator (with special cases )
Send
KindOfSubdialog = elem)
« Concurrent »
Receive Respond_ECR_comments
(kindOfComment = elem) [continue]
[false]
[true]
elem elem
[else]
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
[false]
Rollback ECR to Analysis Rollback ECR to
Analysis
Send Notify_ECR_rolled back_to_analysis Send Notify_ECR_rolled
back_to_analysis R2R2
[accepted or
<<coop. spec. input>>
With Notification of ECR creation
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
Send Notify_ECR_update
[true]
Realizationas endlessloop! Branchterminatesafter completionof mainpath Realizationas endlessloop! Branchterminatesafter completionof mainpath
main_path
joinSpec
= main_path
[false]
Rollback ECR to Commenting Rollback ECR to
Commenting
Send Notify_ECR_rolled back_to_commenting Send Notify_ECR_rolled
back_to_commenting R2 Rollback ECR to
Analysis Rollback ECR to
Analysis
Send Notify_ECR_rolled back_to_analysis Send Notify_ECR_rolled
back_to_analysis R2R2
[accepted or
<<coop. spec. input>>
With Notification of ECR creation
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
Send Notify_ECR_update
[true]
Realizationas endlessloop! Branchterminatesafter completionof mainpath Realizationas endlessloop! Branchterminatesafter completionof mainpath
main_path
joinSpec
= main_path
[false]
Rollback ECR to Commenting Rollback ECR to
Commenting
Send Notify_ECR_rolled back_to_commenting Send Notify_ECR_rolled
back_to_commenting R2R2
<<coop.spec.
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialogIN Kinds of Subdialogs AND
(Request_ECR_comments.KindOfSubdialog<>
“COMMERCIAL_COMMENTS” OR NOT With estimation based approval
OR NOT ECR_Classification.description
<>”estimation based approval”)
Receive Notify_ECR_
comment_repetition_desired (Notify_Message_Header.
KindOfSubdialog = elem)
Kinds of Subdialogs≡{“GENERAL_COMMENTS”, …}
Figure 38: IS2 Protocol Specification: public view of coordinator (with special cases)
ECM Recommendation Part 1 – ECR
Appendix A: ECR Interaction Scenario Protocol Specifications
Send Respond_ECR_
IS2 Protocol Specification: public view of participant (with special cases)
Receive Notify_ECR_rejected
Receive Request_ECR_comments (Request_Message_Header .
KindOfSubdialog = elem)
« Concurrent »
[continue]
(kindOfComment = elem) R2
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
[revision_needed_back_to_commenting], [revision_needed_back_to_analysis]
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
[false]
Realizationas endlessloop! Branchterminatesafter completionof mainpath Realizationas endlessloop! Branchterminatesafter completionof mainpath
Receive
= main_path Receive
Notify_ECR_rolled
<<cooperation specific input>>
coordinator requests confirm.
<<cooperation specific input>>
coordinator requests confirm.
[revision_needed_back_to_commenting], [revision_needed_back_to_analysis]
<<coop. spec. input>>
With Notification of ECR creation
[true]
[false]
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
<<coop. spec. input>>
With Notification of ECR comment repetit.
[false]
Realizationas endlessloop! Branchterminatesafter completionof mainpath Realizationas endlessloop! Branchterminatesafter completionof mainpath
Receive
= main_path Receive
Notify_ECR_rolled
<<cooperation specific input>><<decision input>>
Request_ECR_comments.KindOfSubdialog IN Kinds of Subdialogs AND
(Request_ECR_comments.KindOfSubdialog <>
“COMMERCIAL_COMMENTS ” OR NOT With estimation based approval
OR NOT ECR_Classification.description
<>”estimation based approval ”)
Send Notify_ECR_
comment_repetition_desired (Notify_Message_Header .
KindOfSubdialog = elem)
Kinds of Subdialogs≡{“GENERAL_COMMENTS”, …}
Figure 39: IS2 Protocol Specification: public view of participant (with special cases)