J3/17-109 To: J3 From: John Reid & Bill Long Subject: CHANGE TEAM rewording Date: 2017 January 13 Discussion ---------- The first sentence of 11.1.5.2 Execution of a CHANGE TEAM construct says "The values of the on the active images of the team shall be those of team variables defined by synchronized executions of the same FORM TEAM statement (11.6.9) on all active images of the current team." This is incorrect when the have been defined by executions a FORM TEAM statement on a team that is a proper superset of the current team. Here is an example TYPE (TEAM_TYPE) OUTER, MIDDLE, INNER ... OUTER = GET_TEAM() FORM TEAM (MIDDLE, MOD(THIS_IMAGE(),2)==1) CHANGE TEAM (MIDDLE) ... FORM TEAM (INNER, MOD(THIS_IMAGE(),2)==1) CHANGE TEAM (INNER) ... END TEAM END TEAM If OUTER has at least 4 images, the teams will be properly nested, with MIDDLE having about half the images of OUTER and INNER having about half the images of MIDDLE. Now suppose the inner construct contains the construct CHANGE TEAM (MIDDLE) ... END TEAM without any further FORM TEAM statement for MIDDLE. The conditions in the sentence quoted at the start of this paper are satisfied, but we do not think it was intended for this to be allowed. This new construct would execute in teams that are proper supersets of their parent team. We need to require that the current team when the FORM TEAM statement was executed is the current team. The edit proposed will make the sentence read "The values of the on the active images of the team shall be those of team variables defined by synchronized executions of the same FORM TEAM statement (11.6.9) when the current team was the team that is now the current team." Edit to 17-007 -------------- [188:7] In 11.1.5.2 Execution of a CHANGE TEAM construct, para 1, sentence 1, change "on all active images of the current team." to "when the current team was the team that is now the current team."