Operator ASSI DATE 99/07/09 Opérateur ASSI -------------- 1st possibility _________________ RES1 ... RESn = ASSI IASSIS INS1 ... INSP; Description : _____________ The ASSIstant operator grants to the assistant IASSIS (ENTIER) the elementary instruction : RES1 ... RESn = INS1 ... INSP; If the parallel version of Castem is used, the instruction will be ended as soon as the assistant take it's work. The use of the results will wait for their availibility. Example 1: _______ MAT1 = ASSIS 1 MATER MODEL1 YOUNG 1E5 NU 0.3; The assistant number 1 will execute : MAT1 = MATER MODEL1 YOUNG 1E5 NU 0.3; Castem will execute the following instructions without waiting for the creation of the field MAT1 by the assistant 1. If an other instruction use MAT1, it will be blocked waiting the availibility of MAT1 (on the master or on an assistant). 2nd possibility _________________ RES1 ... RESn = ASSI 'TOUS' INS1 ... INSP; Description : _____________ If the same instruction is executed on several assistants but with different data, it suffices to use the option 'TOUS' and to stock data to distribute in the form tables of subtype ESCLAVE where data associated to the assistant I are found in the indication I. The results are stocked in tables of subtype ESCLAVE. Example 2 : ___________ TMAT1 = 'ASSI' 'TOUS' MATER TMODL1 'YOUNG' 1E5 'NU' 0.3 ; TMODL1 : table of subtype ESCLAVE TMODL1 . i : model associated to the assistant i TMAT1 : table of subtype ESCLAVE TMAT1 . i : result associated to the assistant i Example 3 : ___________ TMODL1 = 'TABLE' ESCLAVE ; TMODL1 . 1 = MODL1 ; TMODL1 . 3 = MODL2 ; TMODL1 . 4 = MODL4 ; * Declaration of 2 assistants 'OPTI' 'ASSI' 2 ; TMAT1 = ASSI 'TOUS' 'MATER' TMODL1 'YOUNG' 1E5 'NU' 0.3 ; the preceding instruction is equivalent to next instructions : TMAT1 = 'TABLE' ESCLAVE ; TMAT1 . 1 = ASSI 1 'MATER' TMODL1 . 1 'YOUNG' 1E5 'NU' 0.3 ; TMAT1 . 3 = 'MATER' TMODL1 . 3 'YOUNG' 1E5 'NU' 0.3 ; TMAT1 . 4 = ASSI 1 'MATER' TMODL1 . 4 'YOUNG' 1E5 'NU' 0.3 ; Remarks : ___________ During the utilization of the option 'TOUS', all ESCLAVES tables existent in the instruction have to have the same indices. It is very strongly dissuaded to transfer tables to a assistant i because these objects can be modified during the operation. It is possible to make work the master as an assistant (the umber of assistant that is associated it is 0). It is possible to define an IASSIS greater than the number declared assistant NBASS (opti assi nbass;). The operation will be transferred on the assistant I defined by I= modulo (IASSIS, nbass + 1) (the master playing also the function of an assistant). These last two properties allow to test a parallel GIBIANE program on a sequential machine by defining 0 assistant ('OPTI' 'ASSI' 0;).