• No results found

ECR Interaction Scenario 2 Protocol Specification

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)