/***************************************************
 ** @author   STF 409
 ** @version  0.0.1
 ** @purpose  1:11.2, Define template variables in different scopes
 ** @verdict  pass accept, noexecution
 ***************************************************/
module Syn_1102_TemplateVars_001 {
    type component GeneralComp {
        var template integer vc_i1 := omit;
    }

    altstep a_Syn_1102_TemplateVars_001() runs on GeneralComp {
      var integer v_j := 12;
      [] any timer.timeout {
          var template integer v_k := ?;
      }
    }

    function f_Syn_1102_TemplateVars_001() runs on GeneralComp {
        var template integer v_i := *;
    }

    testcase TC_Syn_1102_TemplateVars_001() runs on GeneralComp {
        var template integer v_i := (1, 2, 3);
    }

    control {
        var template integer v_i := (1..2);
    }
}