@xfsp< executable , 1.0 >:

// timed system< moc: and % system > ThermostatSystem {
@header:
	@ufi = sys::ThermostatSystem;
	@description = "the result of the system compilation";
	@count = 16;

@instance:
	// The Parameters Machine Instance
	timed instance< id:0, multiplicity: [ 0, 1 ] > &exec::#PARAMETERS# inst::#PARAMETERS# /* < ref: 1 > */ {
	//@property:
		//@compiled = spec::ThermostatSystem;
		//@container = null;
	}

	// The System Machine Instance
	timed #prototype instance< id:0, multiplicity: [ 1 ] > &exec::ThermostatSystem prot::ThermostatSystem /* < ref: 2 > */ {
	//@property:
		//@compiled = spec::ThermostatSystem;
		//@container = null;
	}

@executable:
	timed executable< moc: and % system , id:0, instanciation: [ + ] > &spec::ThermostatSystem exec::#PARAMETERS# {
	@moe:
	}

	#prototype executable< moc: start % state , id:0, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q0 exec::ThermostatSystem.Thermostat.q0 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q0 prot::ThermostatSystem.Thermostat.q0;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q0.t1 t1 { /* < ref: 2 > */
			//@container = #prototype executable< moc: start % state , id:0, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q0 exec::ThermostatSystem.Thermostat.q0;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q0.t2 t2 { /* < ref: 2 > */
			//@container = #prototype executable< moc: start % state , id:0, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q0 exec::ThermostatSystem.Thermostat.q0;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q0.t3 t3 { /* < ref: 2 > */
			//@container = #prototype executable< moc: start % state , id:0, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q0 exec::ThermostatSystem.Thermostat.q0;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:1, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q1 exec::ThermostatSystem.Thermostat.q1 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q1 prot::ThermostatSystem.Thermostat.q1;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q1.t11 t11 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:1, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q1 exec::ThermostatSystem.Thermostat.q1;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q1.t12 t12 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:1, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q1 exec::ThermostatSystem.Thermostat.q1;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q1.t13 t13 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:1, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q1 exec::ThermostatSystem.Thermostat.q1;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:2, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q2 exec::ThermostatSystem.Thermostat.q2 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:3, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q2 prot::ThermostatSystem.Thermostat.q2;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q2.t21 t21 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:2, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q2 exec::ThermostatSystem.Thermostat.q2;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q2.t22 t22 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:2, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q2 exec::ThermostatSystem.Thermostat.q2;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:3, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q3 exec::ThermostatSystem.Thermostat.q3 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:4, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q3 prot::ThermostatSystem.Thermostat.q3;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q3.t31 t31 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:3, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q3 exec::ThermostatSystem.Thermostat.q3;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q3.t32 t32 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:3, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q3 exec::ThermostatSystem.Thermostat.q3;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q3.t33 t33 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:3, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q3 exec::ThermostatSystem.Thermostat.q3;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:4, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q4 exec::ThermostatSystem.Thermostat.q4 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:5, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q4 prot::ThermostatSystem.Thermostat.q4;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q4.t41 t41 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:4, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q4 exec::ThermostatSystem.Thermostat.q4;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q4.t42 t42 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:4, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q4 exec::ThermostatSystem.Thermostat.q4;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q4.t43 t43 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:4, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q4 exec::ThermostatSystem.Thermostat.q4;
		@moe:
		}
		transition< id:3 > &spec::ThermostatSystem.Thermostat.q4.t44 t44 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:4, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q4 exec::ThermostatSystem.Thermostat.q4;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:5, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q5 exec::ThermostatSystem.Thermostat.q5 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:6, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q5 prot::ThermostatSystem.Thermostat.q5;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q5.t51 t51 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:5, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q5 exec::ThermostatSystem.Thermostat.q5;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q5.t52 t52 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:5, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q5 exec::ThermostatSystem.Thermostat.q5;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:6, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q6 exec::ThermostatSystem.Thermostat.q6 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:7, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q6 prot::ThermostatSystem.Thermostat.q6;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q6.t61 t61 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:6, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q6 exec::ThermostatSystem.Thermostat.q6;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q6.t62 t62 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:6, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q6 exec::ThermostatSystem.Thermostat.q6;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q6.t63 t63 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:6, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q6 exec::ThermostatSystem.Thermostat.q6;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:7, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q7 exec::ThermostatSystem.Thermostat.q7 {
		//@container = #prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat;
		//@prototype = #prototype instance< id:8, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q7 prot::ThermostatSystem.Thermostat.q7;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Thermostat.q7.t71 t71 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:7, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q7 exec::ThermostatSystem.Thermostat.q7;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Thermostat.q7.t72 t72 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:7, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q7 exec::ThermostatSystem.Thermostat.q7;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Thermostat.q7.t73 t73 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:7, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q7 exec::ThermostatSystem.Thermostat.q7;
		@moe:
		}
		transition< id:3 > &spec::ThermostatSystem.Thermostat.q7.t74 t74 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:7, instanciation: [ * ] > &spec::ThermostatSystem.Thermostat.q7 exec::ThermostatSystem.Thermostat.q7;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: #STS % statemachine , id:8, instanciation: [ + ] > &spec::ThermostatSystem.Thermostat exec::ThermostatSystem.Thermostat {
		//@container = timed executable< moc: and % system , id:15, instanciation: [ + ] > &spec::ThermostatSystem exec::ThermostatSystem;
		//@prototype = #prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat prot::ThermostatSystem.Thermostat;
	@type:
		type type::ThermostatSystem.Thermostat.mode enum {
			//@compiled = spec::ThermostatSystem.Thermostat.mode;
		@property:
			@size = 1;   @data_size = 1;   @bit_size = 3;
		@symbol:
			public static const< id:0, ptr:enum > mode const::ThermostatSystem.Thermostat.mode.OFF 'OFF' /* < ref: 1 > */ {
				//@compiled = spec::ThermostatSystem.Thermostat.mode.OFF;
				//@container = exec::ThermostatSystem.Thermostat;
				@value = const::ThermostatSystem.Thermostat.mode.OFF;
			}
			public static const< id:1, ptr:enum > mode const::ThermostatSystem.Thermostat.mode.HEATING 'HEATING' /* < ref: 1 > */ {
				//@compiled = spec::ThermostatSystem.Thermostat.mode.HEATING;
				//@container = exec::ThermostatSystem.Thermostat;
				@value = const::ThermostatSystem.Thermostat.mode.HEATING;
			}
			public static const< id:2, ptr:enum > mode const::ThermostatSystem.Thermostat.mode.COOLING 'COOLING' /* < ref: 1 > */ {
				//@compiled = spec::ThermostatSystem.Thermostat.mode.COOLING;
				//@container = exec::ThermostatSystem.Thermostat;
				@value = const::ThermostatSystem.Thermostat.mode.COOLING;
			}
		}
	@variable:
		const< id:0, ptr:std > integer inst::ThermostatSystem.Thermostat.TMIN 'TMIN' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.TMIN;
			//@container = exec::ThermostatSystem.Thermostat;
			@value = 20;
		}
		const< id:0, ptr:std > integer inst::ThermostatSystem.Thermostat.TMAX 'TMAX' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.TMAX;
			//@container = exec::ThermostatSystem.Thermostat;
			@value = 25;
		}

		var< id:0, ptr:std > integer inst::ThermostatSystem.Thermostat.t 't' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.t;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		var< id:1, ptr:std > integer inst::ThermostatSystem.Thermostat.y 'y' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.y;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		var< id:2, ptr:std > integer inst::ThermostatSystem.Thermostat.z 'z' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.z;
			//@container = exec::ThermostatSystem.Thermostat;
		}
	@port:
		public port< id:0 , route:0 > input inst::ThermostatSystem.Thermostat.sens /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.sens;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:1 , route:1 > input inst::ThermostatSystem.Thermostat.equip /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.equip;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:2 , route:2 > input inst::ThermostatSystem.Thermostat.error /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.error;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:0 , route:0 > output inst::ThermostatSystem.Thermostat.screen /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.screen;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:1 , route:1 > output inst::ThermostatSystem.Thermostat.dt /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.dt;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:2 , route:2 > output inst::ThermostatSystem.Thermostat.test /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Thermostat.test;
			//@container = exec::ThermostatSystem.Thermostat;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
	@model:
		#model instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem.Thermostat model::ThermostatSystem.Thermostat.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat;
			//@container = exec::ThermostatSystem.Thermostat;
		}
	@instance:
		#static instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem.Thermostat prot::ThermostatSystem.Thermostat.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat;
			//@container = exec::ThermostatSystem.Thermostat;
			//@model = model::ThermostatSystem.Thermostat.$this;
		}
		#prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q0 prot::ThermostatSystem.Thermostat.q0 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q0;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q1 prot::ThermostatSystem.Thermostat.q1 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q1;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:3, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q2 prot::ThermostatSystem.Thermostat.q2 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q2;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:4, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q3 prot::ThermostatSystem.Thermostat.q3 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q3;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:5, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q4 prot::ThermostatSystem.Thermostat.q4 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q4;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:6, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q5 prot::ThermostatSystem.Thermostat.q5 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q5;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:7, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q6 prot::ThermostatSystem.Thermostat.q6 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q6;
			//@container = exec::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:8, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat.q7 prot::ThermostatSystem.Thermostat.q7 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat.q7;
			//@container = exec::ThermostatSystem.Thermostat;
		}
	@moe:
	}

	#prototype executable< moc: start % state , id:9, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s0 exec::ThermostatSystem.Equipment.s0 {
		//@container = #prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment;
		//@prototype = #prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s0 prot::ThermostatSystem.Equipment.s0;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Equipment.s0.e1 e1 { /* < ref: 2 > */
			//@container = #prototype executable< moc: start % state , id:9, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s0 exec::ThermostatSystem.Equipment.s0;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:10, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s1 exec::ThermostatSystem.Equipment.s1 {
		//@container = #prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment;
		//@prototype = #prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s1 prot::ThermostatSystem.Equipment.s1;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Equipment.s1.e11 e11 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:10, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s1 exec::ThermostatSystem.Equipment.s1;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Equipment.s1.e12 e12 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:10, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s1 exec::ThermostatSystem.Equipment.s1;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Equipment.s1.e13 e13 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:10, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s1 exec::ThermostatSystem.Equipment.s1;
		@moe:
		}
		transition< id:3 > &spec::ThermostatSystem.Equipment.s1.e14 e14 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:10, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s1 exec::ThermostatSystem.Equipment.s1;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:11, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s2 exec::ThermostatSystem.Equipment.s2 {
		//@container = #prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment;
		//@prototype = #prototype instance< id:3, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s2 prot::ThermostatSystem.Equipment.s2;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Equipment.s2.e21 e21 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:11, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s2 exec::ThermostatSystem.Equipment.s2;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Equipment.s2.e22 e22 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:11, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s2 exec::ThermostatSystem.Equipment.s2;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Equipment.s2.e23 e23 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:11, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s2 exec::ThermostatSystem.Equipment.s2;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:12, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s3 exec::ThermostatSystem.Equipment.s3 {
		//@container = #prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment;
		//@prototype = #prototype instance< id:4, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s3 prot::ThermostatSystem.Equipment.s3;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Equipment.s3.e31 e31 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:12, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s3 exec::ThermostatSystem.Equipment.s3;
		@moe:
		}
		transition< id:1 > &spec::ThermostatSystem.Equipment.s3.e32 e32 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:12, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s3 exec::ThermostatSystem.Equipment.s3;
		@moe:
		}
		transition< id:2 > &spec::ThermostatSystem.Equipment.s3.e33 e33 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:12, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s3 exec::ThermostatSystem.Equipment.s3;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: simple % state , id:13, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s4 exec::ThermostatSystem.Equipment.s4 {
		//@container = #prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment;
		//@prototype = #prototype instance< id:5, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s4 prot::ThermostatSystem.Equipment.s4;
	@transition:
		transition< id:0 > &spec::ThermostatSystem.Equipment.s4.e41 e41 { /* < ref: 2 > */
			//@container = #prototype executable< moc: simple % state , id:13, instanciation: [ * ] > &spec::ThermostatSystem.Equipment.s4 exec::ThermostatSystem.Equipment.s4;
		@moe:
		}
	@moe:
	}

	#prototype executable< moc: #STS % statemachine , id:14, instanciation: [ + ] > &spec::ThermostatSystem.Equipment exec::ThermostatSystem.Equipment {
		//@container = timed executable< moc: and % system , id:15, instanciation: [ + ] > &spec::ThermostatSystem exec::ThermostatSystem;
		//@prototype = #prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment prot::ThermostatSystem.Equipment;
	@variable:
		public const< id:3, ptr:std > integer inst::ThermostatSystem.Equipment.TIMEOUT 'TIMEOUT' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.TIMEOUT;
			//@container = exec::ThermostatSystem.Equipment;
			@value = 0;
		}

		var< id:0, ptr:std > integer inst::ThermostatSystem.Equipment.x 'x' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.x;
			//@container = exec::ThermostatSystem.Equipment;
		}
		var< id:1, ptr:std > boolean inst::ThermostatSystem.Equipment.isOn 'isOn' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.isOn;
			//@container = exec::ThermostatSystem.Equipment;
		}
		public volatile var< id:2, ptr:std > clock< integer > inst::ThermostatSystem.Equipment.c 'c' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.c;
			//@container = exec::ThermostatSystem.Equipment;
			@value = 0;
		}
	@port:
		public port< id:0 , route:0 > input inst::ThermostatSystem.Equipment.dt /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.dt;
			//@container = exec::ThermostatSystem.Equipment;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:0 , route:0 > output inst::ThermostatSystem.Equipment.equip /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.equip;
			//@container = exec::ThermostatSystem.Equipment;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
		public port< id:1 , route:1 > output inst::ThermostatSystem.Equipment.error /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.Equipment.error;
			//@container = exec::ThermostatSystem.Equipment;
		@parameter:
			parameter var< id:0, ptr:std > integer $0;
		}
	@model:
		#model instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem.Equipment model::ThermostatSystem.Equipment.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment;
			//@container = exec::ThermostatSystem.Equipment;
		}
	@instance:
		#static instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem.Equipment prot::ThermostatSystem.Equipment.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment;
			//@container = exec::ThermostatSystem.Equipment;
			//@model = model::ThermostatSystem.Equipment.$this;
		}
		#prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s0 prot::ThermostatSystem.Equipment.s0 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment.s0;
			//@container = exec::ThermostatSystem.Equipment;
		}
		#prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s1 prot::ThermostatSystem.Equipment.s1 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment.s1;
			//@container = exec::ThermostatSystem.Equipment;
		}
		#prototype instance< id:3, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s2 prot::ThermostatSystem.Equipment.s2 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment.s2;
			//@container = exec::ThermostatSystem.Equipment;
		}
		#prototype instance< id:4, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s3 prot::ThermostatSystem.Equipment.s3 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment.s3;
			//@container = exec::ThermostatSystem.Equipment;
		}
		#prototype instance< id:5, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment.s4 prot::ThermostatSystem.Equipment.s4 /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment.s4;
			//@container = exec::ThermostatSystem.Equipment;
		}
	@moe:
	}

	timed executable< moc: and % system , id:15, instanciation: [ + ] > &spec::ThermostatSystem exec::ThermostatSystem {
		//@prototype = timed #prototype instance< id:0, multiplicity: [ 1 ] > &exec::ThermostatSystem prot::ThermostatSystem;
	@variable:
		var< id:0, ptr:std > time< uinteger > inst::ThermostatSystem.$time '$time' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.$time;
			//@container = exec::ThermostatSystem;
		}
		unsafe var< id:1, ptr:std > time< uinteger > inst::ThermostatSystem.$delta '$delta' /* < ref: 2 > */ {
			//@compiled = spec::ThermostatSystem.$delta;
			//@container = exec::ThermostatSystem;
		}
	@model:
		timed #model instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem model::ThermostatSystem.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem;
			//@container = exec::ThermostatSystem;
		}
		#model instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat model::ThermostatSystem.Thermostat /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat;
			//@container = exec::ThermostatSystem;
		}
		#model instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment model::ThermostatSystem.Equipment /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment;
			//@container = exec::ThermostatSystem;
		}
	@instance:
		timed #static instance< id:0, multiplicity: [ 1 ], this > &exec::ThermostatSystem inst::ThermostatSystem.$this /* < ref: 1 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem;
			//@container = exec::ThermostatSystem;
			//@model = model::ThermostatSystem.$this;
		}
		#prototype instance< id:1, multiplicity: [ + ] > &exec::ThermostatSystem.Thermostat prot::ThermostatSystem.Thermostat /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Thermostat;
			//@container = exec::ThermostatSystem;
			//@model = model::ThermostatSystem.Thermostat;
		}
		#prototype instance< id:2, multiplicity: [ + ] > &exec::ThermostatSystem.Equipment prot::ThermostatSystem.Equipment /* < ref: 2 > */ {
		//@property:
			//@compiled = spec::ThermostatSystem.Equipment;
			//@container = exec::ThermostatSystem;
			//@model = model::ThermostatSystem.Equipment;
		}
	@moe:
	}

// }
