OR Join Variants The OR join construct is analogous to the AND join in that it

Or join variants the or join construct is analogous

This preview shows page 43 - 46 out of 664 pages.

OR-Join Variants The OR-join construct is analogous to the AND-join, in that it synchronizes the execution threads in multiple incoming branches and merges them into a single execution thread in an outgoing branch; however, it has the important distinction that not all of the incoming branches may necessarily be active. In general, an OR- join is preceded by a corresponding OR-split earlier in a process that makes the decision about which branches will be activated. There are three distinct patterns that provide alternate approaches to implementing the OR-join: The Structured Synchronizing Merge , which requires that the process fragment between the OR-join and the corresponding preceding OR-split be structured
Image of page 43
2 The Language: Rationale and Fundamentals 31 in format (i.e., has “balanced” splits and joins). Once the preceding OR-split has fired, it provides information to the OR-join to indicate how many incom- ing branches are active and will require synchronization. The restriction of the pattern to a structured process simplifies the implementation of the OR-join; however, this has the consequence that it can only be used in a limited range of situations. The Local Synchronizing Merge , which requires that the OR-join be able to make a decision about when it should fire based on information available locally to it (a notion that is often termed “local semantics”). The approach allows the OR- join to operate in a wider range of processes, although it cannot be utilized in scenarios involving unstructured loops. The General Synchronizing Merge , where the OR-join can use any information available about the current process state, including an analysis of possible future states, to determine whether it should fire based on currently enabled branches or whether it should wait for any additional branches to complete before firing. Figure 2.4a–c illustrates the main differences between these OR-join variants. In Fig. 2.4a, the structured nature of the process in which the Structured Synchroniz- ing Merge operates is evident, as are the “bypass” branches corresponding to each branch. Figure 2.4b illustrates the Local Synchronizing Merge , which is able to func- tion in unstructured processes, including those involving loops, but relies on the use of local semantics and cannot be used on a general basis unlike the General number of enabled branches multi- choice sync merge multi- choice exclusive choice sync merge multi- choice exclusive choice sync merge merge merge merge Fig. 2.4 Synchronizing Merge pattern examples
Image of page 44
32 N. Russell and A. ter Hofstede Synchronizing Merge shown in Fig. 2.4c, implementing an unstructured process involving an OR-join that cannot be accommodated by either of the two preceding patterns.
Image of page 45
Image of page 46

You've reached the end of your free preview.

Want to read all 664 pages?

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes