09-186r2 To: J3 From: Van Snyder/ Bill Long Subject: SYNC problems, especially SYNC MEMORY Date: 2009 May 7 Reference: 09-007r1 1. Discussion Various wording changes that correct or clarify the text on segments and SYNC MEMORY are proposed. 2. Edits [130:12-13 6.7.1.2p3]------------------------------------------------------ Editor: Replace "each" by "every" twice. [189:17 8.5.1p1]-------------------------------------------------------- Editor: Delete "as". [189:18 8.5.1p2]-------------------------------------------------------- The first sentence is untrue, since SYNC MEMORY does not on its own affect the execution ordering between images. Other than SYNC MEMORY, it's not the statement but execution of it that affects execution order between images. The fact that they divide the execution sequence on each image into segments should be mentioned here instead of in 8.5.5. Editor: Replace the first sentence of p2 with "An image control statement divides the execution sequence on an image into segments (8.5.2)." [192:5-6 8.5.5p1]------------------------------------------------------- How can a segment be divided into two segments? SYNC MEMORY is already defined to be a segment boundary so the two segments are just sitting there anyway. It's just too weird to say "divides what would otherwise be a single segment into two segments." Editor: Replace "provides a means of dividing a segment on an image into two segments" with "defines the boundary between two segments on an image". [193/194 - NOTE 8.39]-------------------------------------------------- It would be clearer to have the description in 8.5.5p3 use the same segment labels as the example in Note 8.39. Changes to the Note are provided: In the 8th line of the example program segment in Note 8.39, replace "! Preceding segment" with "! Segment " In the 10th line, replace "segment " with "segment " In the 14th line, replace "segment " with "segment " In the 18th line, replace "Subsequent segment" with "Segment ". Replace the first para after the program text with: "The DO WHILE loop does not complete until VAL is defined with the value false. This is the cooperative synchronization that provides the dependency that image Q does not complete the segment until the CALL statement in segment completes. This ensures that the execution of segment on image P precedes execution of segment on image Q." In the third paragraph, delete the first sentence, "The definition ... of segment ." At the end of the third paragraph, replace "" with "".