Browse Source

Revert "Prototype Implementation for sgen with typesystem"

This reverts commit 7d5a7a62b82c4ffe99eed8afdfcc35d039d90c87.
Andreas Muelder 8 years ago
parent
commit
942c60669f
100 changed files with 1417 additions and 1303 deletions
  1. 0 11
      .project
  2. 1 4
      plugins/org.yakindu.base.expressions/META-INF/MANIFEST.MF
  3. 0 328
      plugins/org.yakindu.base.expressions/src/org/yakindu/base/expressions/interpreter/ExpressionsInterpreter.xtend
  4. 0 18
      plugins/org.yakindu.base.expressions/src/org/yakindu/base/expressions/interpreter/IStatementInterpreter.java
  5. 1 1
      plugins/org.yakindu.base.types/src/org/yakindu/base/types/inferrer/AbstractTypeSystemInferrer.java
  6. 3 3
      plugins/org.yakindu.sct.domain.generic.simulation/src/org/yakindu/sct/domain/generic/simulation/GenericSimulationModule.java
  7. 1 2
      plugins/org.yakindu.sct.generator.builder/META-INF/MANIFEST.MF
  8. 1 2
      plugins/org.yakindu.sct.generator.c/META-INF/MANIFEST.MF
  9. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/filesystem/DefaultFileSystemAccessFactory.java
  10. 10 6
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/impl/CoreLibraryDefaultFeatureValueProvider.java
  11. 2 2
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/impl/DefaultCoreLibraryHelper.java
  12. 1 2
      plugins/org.yakindu.sct.generator.cpp/META-INF/MANIFEST.MF
  13. 1 2
      plugins/org.yakindu.sct.generator.csharp/META-INF/MANIFEST.MF
  14. 1 3
      plugins/org.yakindu.sct.generator.genmodel.ui/META-INF/MANIFEST.MF
  15. 2 2
      plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/templates/SGenProposalCreator.xtend
  16. 3 4
      plugins/org.yakindu.sct.generator.genmodel/META-INF/MANIFEST.MF
  17. 1 8
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/GenerateSGen.mwe2
  18. 37 23
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/SGen.xtext
  19. 6 27
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/SGenRuntimeModule.java
  20. 0 45
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/scoping/SGenGlobalScopeProvider.java
  21. 1 5
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/scoping/SGenScopeProvider.java
  22. 0 30
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/typesystem/SGenTypeInferrer.java
  23. 33 33
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/validation/SGenJavaValidator.java
  24. 4 5
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/valueconverter/SGenValueConverter.java
  25. 1 2
      plugins/org.yakindu.sct.generator.java/META-INF/MANIFEST.MF
  26. 1 2
      plugins/org.yakindu.sct.generator.runner/META-INF/MANIFEST.MF
  27. 0 1
      plugins/org.yakindu.sct.generator.runner/src/org/yakindu/sct/generator/runner/RunnerModule.java
  28. 1 3
      plugins/org.yakindu.sct.model.sgen.edit/META-INF/MANIFEST.MF
  29. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_AssignmentExpression.gif
  30. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseAndExpression.gif
  31. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseOrExpression.gif
  32. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseXorExpression.gif
  33. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ConditionalExpression.gif
  34. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ElementReferenceExpression.gif
  35. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_FeatureCall.gif
  36. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalAndExpression.gif
  37. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalNotExpression.gif
  38. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalOrExpression.gif
  39. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalRelationExpression.gif
  40. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalAddSubtractExpression.gif
  41. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalMultiplyDivideExpression.gif
  42. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalUnaryExpression.gif
  43. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ParenthesizedExpression.gif
  44. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_PrimitiveValueExpression.gif
  45. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ShiftExpression.gif
  46. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_TypeCastExpression.gif
  47. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_VarRefExpression.gif
  48. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_AssignmentExpression.gif
  49. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseAndExpression.gif
  50. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseOrExpression.gif
  51. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseXorExpression.gif
  52. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ConditionalExpression.gif
  53. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ElementReferenceExpression.gif
  54. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_FeatureCall.gif
  55. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalAndExpression.gif
  56. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalNotExpression.gif
  57. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalOrExpression.gif
  58. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalRelationExpression.gif
  59. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalAddSubtractExpression.gif
  60. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalMultiplyDivideExpression.gif
  61. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalUnaryExpression.gif
  62. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ParenthesizedExpression.gif
  63. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_PrimitiveValueExpression.gif
  64. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ShiftExpression.gif
  65. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_TypeCastExpression.gif
  66. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_VarRefExpression.gif
  67. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/VarRefExpression.gif
  68. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/VariableDefinition.gif
  69. 0 8
      plugins/org.yakindu.sct.model.sgen.edit/plugin.properties
  70. 149 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/BoolLiteralItemProvider.java
  71. 3 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/DeprecatableElementItemProvider.java
  72. 12 1
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterItemProvider.java
  73. 4 80
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterValueItemProvider.java
  74. 12 1
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeItemProvider.java
  75. 0 23
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorModelItemProvider.java
  76. 149 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/IntLiteralItemProvider.java
  77. 2 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/LiteralItemProvider.java
  78. 149 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/RealLiteralItemProvider.java
  79. 71 23
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SGenItemProviderAdapterFactory.java
  80. 0 4
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SgenEditPlugin.java
  81. 39 35
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/VarRefExpressionItemProvider.java
  82. 0 252
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/VariableDefinitionItemProvider.java
  83. 0 6
      plugins/org.yakindu.sct.model.sgen/.project
  84. 1 4
      plugins/org.yakindu.sct.model.sgen/META-INF/MANIFEST.MF
  85. 22 10
      plugins/org.yakindu.sct.model.sgen/model/emf/sgen.ecore
  86. 25 14
      plugins/org.yakindu.sct.model.sgen/model/emf/sgen.genmodel
  87. 57 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/BoolLiteral.java
  88. 27 8
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/FeatureParameterValue.java
  89. 0 17
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/GeneratorModel.java
  90. 57 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/IntLiteral.java
  91. 26 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/Literal.java
  92. 57 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/RealLiteral.java
  93. 27 9
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/SGenFactory.java
  94. 202 131
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/SGenPackage.java
  95. 57 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/StringLiteral.java
  96. 0 50
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/VarRefExpression.java
  97. 0 52
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/VariableDefinition.java
  98. 153 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/BoolLiteralImpl.java
  99. 3 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/DeprecatableElementImpl.java
  100. 0 0
      plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/FeatureParameterValueImpl.java

+ 0 - 11
.project

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>statecharts</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>

+ 1 - 4
plugins/org.yakindu.base.expressions/META-INF/MANIFEST.MF

@@ -19,9 +19,7 @@ Require-Bundle: org.eclipse.xtext;visibility:=reexport,
  org.eclipse.xtext.common.types,
  org.yakindu.base.types,
  org.objectweb.asm;resolution:=optional,
- org.eclipse.xtext.xbase.lib,
- org.yakindu.sct.simulation.core,
- org.yakindu.sct.commons
+ org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.core.runtime;version="3.4.0",
  org.eclipse.xtext.xbase.lib
@@ -33,7 +31,6 @@ Export-Package: org.yakindu.base.expressions,
  org.yakindu.base.expressions.formatting,
  org.yakindu.base.expressions.generator,
  org.yakindu.base.expressions.inferrer,
- org.yakindu.base.expressions.interpreter,
  org.yakindu.base.expressions.parser.antlr,
  org.yakindu.base.expressions.parser.antlr.internal,
  org.yakindu.base.expressions.scoping,

+ 0 - 328
plugins/org.yakindu.base.expressions/src/org/yakindu/base/expressions/interpreter/ExpressionsInterpreter.xtend

@@ -1,328 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.base.expressions.interpreter
-
-import com.google.inject.Inject
-import java.util.List
-import org.yakindu.base.expressions.expressions.AssignmentExpression
-import org.yakindu.base.expressions.expressions.AssignmentOperator
-import org.yakindu.base.expressions.expressions.BitwiseAndExpression
-import org.yakindu.base.expressions.expressions.BitwiseOrExpression
-import org.yakindu.base.expressions.expressions.BitwiseXorExpression
-import org.yakindu.base.expressions.expressions.BoolLiteral
-import org.yakindu.base.expressions.expressions.ConditionalExpression
-import org.yakindu.base.expressions.expressions.DoubleLiteral
-import org.yakindu.base.expressions.expressions.ElementReferenceExpression
-import org.yakindu.base.expressions.expressions.Expression
-import org.yakindu.base.expressions.expressions.FeatureCall
-import org.yakindu.base.expressions.expressions.FloatLiteral
-import org.yakindu.base.expressions.expressions.IntLiteral
-import org.yakindu.base.expressions.expressions.LogicalAndExpression
-import org.yakindu.base.expressions.expressions.LogicalNotExpression
-import org.yakindu.base.expressions.expressions.LogicalOrExpression
-import org.yakindu.base.expressions.expressions.LogicalRelationExpression
-import org.yakindu.base.expressions.expressions.NullLiteral
-import org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression
-import org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpression
-import org.yakindu.base.expressions.expressions.NumericalUnaryExpression
-import org.yakindu.base.expressions.expressions.ParenthesizedExpression
-import org.yakindu.base.expressions.expressions.PrimitiveValueExpression
-import org.yakindu.base.expressions.expressions.ShiftExpression
-import org.yakindu.base.expressions.expressions.StringLiteral
-import org.yakindu.base.expressions.expressions.TypeCastExpression
-import org.yakindu.base.types.EnumerationType
-import org.yakindu.base.types.Enumerator
-import org.yakindu.base.types.Operation
-import org.yakindu.base.types.Type
-import org.yakindu.base.types.typesystem.GenericTypeSystem
-import org.yakindu.base.types.typesystem.ITypeSystem
-import org.yakindu.sct.simulation.core.sruntime.CompositeSlot
-import org.yakindu.sct.simulation.core.sruntime.ExecutionContext
-import org.yakindu.sct.simulation.core.sruntime.ExecutionEvent
-import org.yakindu.sct.simulation.core.sruntime.ExecutionVariable
-import org.yakindu.sct.simulation.core.sruntime.ReferenceSlot
-
-/**
- * 
- * @author andreas muelder - Initial contribution and API 
- * @authos axel terfloth - additions
- * 
- */
-class ExpressionsInterpreter extends AbstractStatementInterpreter implements IStatementInterpreter {
-
-	@Inject
-	protected extension ITypeSystem ts;
-	@Inject
-	protected extension IExecutionSlotResolver resolver
-	@Inject(optional=true)
-	protected IOperationMockup operationDelegate
-	@Inject(optional=true)
-	protected ExecutionContext context
-
-	override evaluateStatement(Expression statement, ExecutionContext context) {
-		this.context = context
-		statement.execute()
-	}
-
-	def dispatch Object execute(Expression statement) {
-		null
-	}
-
-	def dispatch Object execute(ConditionalExpression expression) {
-		if (expression.condition.execute as Boolean) {
-			return expression.trueCase.execute
-		} else {
-			return expression.falseCase.execute
-		}
-	}
-
-	def dispatch Object execute(BitwiseAndExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, CoreFunction::BIT_AND)
-	}
-
-	def dispatch Object execute(BitwiseOrExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, CoreFunction::BIT_OR)
-	}
-
-	def dispatch Object execute(BitwiseXorExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, CoreFunction::BIT_XOR)
-	}
-
-	def dispatch Object execute(LogicalRelationExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, expression.operator.getName())
-	}
-
-	def dispatch Object execute(NumericalAddSubtractExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, expression.operator.literal)
-	}
-
-	def dispatch Object execute(NumericalMultiplyDivideExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, expression.operator.getName())
-	}
-
-	def dispatch Object execute(ShiftExpression expression) {
-		executeBinaryCoreFunction(expression.leftOperand, expression.rightOperand, expression.operator.getName())
-	}
-
-	def dispatch Object execute(NumericalUnaryExpression expression) {
-		executeUnaryCoreFunction(expression.operand, expression.operator.getName())
-	}
-
-	def executeBinaryCoreFunction(Expression leftStatement, Expression rightStatement, String operator) {
-		var leftResult = leftStatement.execute().resolveReference
-		var rightResult = rightStatement.execute().resolveReference
-		return evaluate(operator, leftResult, rightResult)
-	}
-
-	def dispatch Object execute(LogicalAndExpression expression) {
-		var leftResult = execute(expression.leftOperand)
-		if (!leftResult as Boolean)
-			return false
-		var rightResult = execute(expression.rightOperand)
-		return leftResult as Boolean && rightResult as Boolean
-	}
-
-	def dispatch Object execute(LogicalOrExpression expression) {
-		var leftResult = execute(expression.leftOperand)
-		if (leftResult as Boolean)
-			return true
-		var rightResult = execute(expression.rightOperand)
-		return leftResult as Boolean || rightResult as Boolean
-	}
-
-	def dispatch Object execute(LogicalNotExpression expression) {
-		return ! (expression.operand.execute() as Boolean)
-	}
-
-	protected def Object resolveReference(Object element) {
-		if (element instanceof ReferenceSlot) {
-			return element.reference
-		}
-		return element
-	}
-
-	def dispatch Object execute(AssignmentExpression assignment) {
-		executeAssignment(assignment)
-	}
-
-	def dispatch Object execute(TypeCastExpression expression) {
-		var operand = expression.operand.execute
-		typeCast(operand, expression.type.originType)
-	}
-
-	def Object cast(Object value, Type type) {
-		typeCast(value, type.originType)
-	}
-
-	def protected dispatch Object typeCast(Long value, Type type) {
-		if(type instanceof EnumerationType) return value
-		if(ts.isSuperType(type, ts.getType(GenericTypeSystem.INTEGER))) return value
-		if(ts.isSuperType(type, ts.getType(GenericTypeSystem.REAL))) return Double.valueOf(value)
-		throw new IllegalArgumentException("unknown type " + type.name)
-	}
-
-	def protected dispatch Object typeCast(Float value, Type type) {
-		if(ts.isSuperType(type, ts.getType(GenericTypeSystem.INTEGER))) return value.longValue
-		if(ts.isSuperType(type, ts.getType(GenericTypeSystem.REAL))) return Double.valueOf(value)
-		throw new IllegalArgumentException("Invalid cast from Float to " + type.name)
-	}
-
-	def protected dispatch Object typeCast(Double value, Type type) {
-		if(ts.isSuperType(type, ts.getType(ITypeSystem.INTEGER))) return value.longValue
-		if(ts.isSuperType(type, ts.getType(ITypeSystem.REAL))) return Double.valueOf(value)
-		throw new IllegalArgumentException("Invalid cast from Double to " + type.name)
-	}
-
-	def protected dispatch Object typeCast(Boolean value, Type type) {
-		if(ts.isSuperType(type, ts.getType(ITypeSystem.BOOLEAN))) return value
-		throw new IllegalArgumentException("Invalid cast from Boolean to " + type.name)
-	}
-
-	def protected dispatch Object typeCast(String value, Type type) {
-		if(ts.isSuperType(type, ts.getType(ITypeSystem.STRING))) return value
-		throw new IllegalArgumentException("Invalid cast from String to " + type.name)
-	}
-
-	def protected dispatch Object typeCast(Enumerator value, Type type) {
-		if(ts.isSuperType(type, value.owningEnumeration)) return value
-		throw new IllegalArgumentException("Invalid cast from Enumerator to " + type.name)
-	}
-
-	def protected dispatch Object typeCast(Object value, Type type) {
-		if(ts.isSame(type, ts.getType(ITypeSystem.ANY))) return value
-		return value
-	}
-
-	def Object executeAssignment(AssignmentExpression assignment) {
-		var scopeVariable = context.resolve(assignment.varRef)
-		var result = assignment.expression.execute
-		if(result instanceof Enumerator) result = result.literalValue
-
-		if (assignment.operator == AssignmentOperator::ASSIGN) {
-			// Strong typing, use the type of the scopeVariable instead of using new runtime type
-			scopeVariable.value = if(result !== null) cast(result, scopeVariable.type) else null
-		} else {
-			var operator = AbstractStatementInterpreter::assignFunctionMap.get(assignment.operator.getName())
-			scopeVariable.value = if (result !== null)
-				cast(evaluate(operator, scopeVariable.getValue, result), scopeVariable.type)
-			else
-				null
-		}
-		scopeVariable.value
-	}
-
-	def dispatch Object execute(ParenthesizedExpression e) {
-		e.expression.execute()
-	}
-
-	def dispatch Object execute(PrimitiveValueExpression expression) {
-		return expression.value.valueLiteral
-	}
-
-	def dispatch valueLiteral(IntLiteral literal) {
-		return literal.value as long
-	}
-
-	def dispatch valueLiteral(BoolLiteral bool) {
-		return bool.value
-	}
-
-	def dispatch valueLiteral(DoubleLiteral literal) {
-		return literal.value
-	}
-
-	def dispatch valueLiteral(FloatLiteral literal) {
-		return literal.value
-	}
-
-	def dispatch valueLiteral(StringLiteral literal) {
-		return literal.value
-	}
-
-	def dispatch valueLiteral(NullLiteral literal) {
-		return null
-	}
-
-	def dispatch Object execute(ElementReferenceExpression expression) {
-		executeElementReferenceExpression(expression)
-	}
-
-	def executeElementReferenceExpression(ElementReferenceExpression expression) {
-		var parameter = expression.expressions.map(it|execute)
-		if (expression.operationCall || expression.reference instanceof Operation) {
-			if (operationDelegate !== null &&
-				operationDelegate.canExecute(expression.reference as Operation, parameter.toArray)) {
-				return (expression.reference as Operation).execute(parameter.toArray)
-			}
-		}
-		// for enumeration types return the literal value
-		if (expression.reference instanceof Enumerator) {
-			return new Long((expression.reference as Enumerator).literalValue)
-		}
-
-		val executionSlot = context.resolve(expression)
-		if (executionSlot instanceof ExecutionVariable)
-			return executionSlot.getValue
-		if (executionSlot instanceof ExecutionEvent)
-			return (executionSlot as ExecutionEvent).raised
-
-		// reference to an element with complex type is not reflected in an execution variable but in a composite slot
-		// TODO hide reference mechanism in resolver
-		if (executionSlot instanceof CompositeSlot)
-			return executionSlot
-
-		return null
-	}
-
-	def dispatch Object execute(FeatureCall call) {
-		executeFeatureCall(call)
-	}
-
-	def executeFeatureCall(FeatureCall call) {
-		if (call.operationCall || call.feature instanceof Operation) {
-			var parameter = call.expressions.map(it|execute)
-			if (call.feature instanceof Operation) {
-				var Operation operation = call.feature as Operation
-				if (operationDelegate !== null && operationDelegate.canExecute(operation, parameter)) {
-					return operation.execute(parameter)
-				}
-			}
-		} else if (call.getFeature() instanceof Enumerator) {
-			return new Long((call.getFeature() as Enumerator).literalValue)
-		}
-		var slot = context.resolve(call)
-		if (slot instanceof ExecutionVariable) {
-			return slot.getValue
-		}
-		if (slot instanceof CompositeSlot) {
-			return slot
-		}
-		if (slot instanceof ExecutionEvent) {
-			if (call.feature instanceof Operation) {
-				(slot as ExecutionEvent).raised = true
-			}
-			return (slot as ExecutionEvent).raised
-		}
-
-		println("No feature found for " + call.feature + " -> returning null")
-		return null;
-	}
-
-	def executeUnaryCoreFunction(Expression statement, String operator) {
-		var result = statement.execute()
-		return evaluate(operator, result);
-	}
-
-	def execute(Operation it, List<Object> params) {
-		operationDelegate.execute(it, params)
-	}
-
-}

+ 0 - 18
plugins/org.yakindu.base.expressions/src/org/yakindu/base/expressions/interpreter/IStatementInterpreter.java

@@ -1,18 +0,0 @@
-package org.yakindu.base.expressions.interpreter;
-
-import org.yakindu.base.expressions.expressions.Expression;
-import org.yakindu.sct.simulation.core.sruntime.ExecutionContext;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author andreas muelder - Initial contribution and API
- * 
- */
-@ImplementedBy(ExpressionsInterpreter.class)
-public interface IStatementInterpreter {
-	
-	public Object evaluateStatement(Expression statement, ExecutionContext context);
-
-}

+ 1 - 1
plugins/org.yakindu.base.types/src/org/yakindu/base/types/inferrer/AbstractTypeSystemInferrer.java

@@ -48,7 +48,7 @@ public abstract class AbstractTypeSystemInferrer implements ITypeSystemInferrer
 	protected ITypeSystem registry;
 
 	@Inject
-	protected TypeValidator typeValidator;
+	TypeValidator typeValidator;
 
 	protected IValidationIssueAcceptor acceptor;
 

+ 3 - 3
plugins/org.yakindu.sct.domain.generic.simulation/src/org/yakindu/sct/domain/generic/simulation/GenericSimulationModule.java

@@ -14,9 +14,6 @@ import org.eclipse.xtext.naming.IQualifiedNameProvider;
 import org.eclipse.xtext.resource.IResourceDescriptions;
 import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
 import org.eclipse.xtext.service.AbstractGenericModule;
-import org.yakindu.base.expressions.interpreter.IOperationMockup;
-import org.yakindu.base.expressions.interpreter.IStatementInterpreter;
-import org.yakindu.base.expressions.interpreter.JavaOperationMockup;
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
 import org.yakindu.base.types.typesystem.GenericTypeSystem;
 import org.yakindu.base.types.typesystem.ITypeSystem;
@@ -31,6 +28,9 @@ import org.yakindu.sct.simulation.core.sexec.container.ISimulationEngineFactory;
 import org.yakindu.sct.simulation.core.sexec.interpreter.DefaultExecutionFlowInterpreter;
 import org.yakindu.sct.simulation.core.sexec.interpreter.IEventRaiser;
 import org.yakindu.sct.simulation.core.sexec.interpreter.IExecutionFlowInterpreter;
+import org.yakindu.sct.simulation.core.sexec.interpreter.IOperationMockup;
+import org.yakindu.sct.simulation.core.sexec.interpreter.IStatementInterpreter;
+import org.yakindu.sct.simulation.core.sexec.interpreter.JavaOperationMockup;
 import org.yakindu.sct.simulation.core.sexec.interpreter.StextStatementInterpreter;
 import org.yakindu.sct.simulation.core.sruntime.ExecutionContext;
 import org.yakindu.sct.simulation.core.sruntime.impl.ExecutionContextImpl;

+ 1 - 2
plugins/org.yakindu.sct.generator.builder/META-INF/MANIFEST.MF

@@ -16,8 +16,7 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.ui.console,
  org.yakindu.sct.generator.core,
  org.eclipse.xtext.builder,
- org.eclipse.xtext.ui.shared,
- org.yakindu.sct.model.sgen
+ org.eclipse.xtext.ui.shared
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.generator.builder,

+ 1 - 2
plugins/org.yakindu.sct.generator.c/META-INF/MANIFEST.MF

@@ -9,8 +9,7 @@ Require-Bundle: org.yakindu.sct.model.sexec,
  org.yakindu.sct.generator.genmodel,
  org.yakindu.base.types,
  org.yakindu.sct.domain.generic,
- org.yakindu.sct.model.stext.lib,
- org.yakindu.sct.model.sgen
+ org.yakindu.sct.model.stext.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.yakindu.sct.generator.c,
  org.yakindu.sct.generator.c.features,

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/filesystem/DefaultFileSystemAccessFactory.java

@@ -52,7 +52,7 @@ public class DefaultFileSystemAccessFactory {
 
 	protected void initDefaultOutput(ISCTFileSystemAccess access, GeneratorEntry entry) {
 		access.setOutputPath(IFileSystemAccess.DEFAULT_OUTPUT,
-				helper.getTargetFolderValue(entry).getStringValue());
+				helper.getTargetFolderValue(entry).getExpression().toString());
 		access.getOutputConfigurations().get(IFileSystemAccess.DEFAULT_OUTPUT).setCreateOutputDirectory(true);
 	}
 

+ 10 - 6
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/impl/CoreLibraryDefaultFeatureValueProvider.java

@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
 import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.model.sgen.BoolLiteral;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
@@ -32,7 +33,7 @@ import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
  * @author Alexander Nyßen - Additions for issue #191.
  */
 public class CoreLibraryDefaultFeatureValueProvider extends AbstractDefaultFeatureValueProvider {
-
+ 
 	public boolean isProviderFor(FeatureTypeLibrary library) {
 		return LIBRARY_NAME.equals(library.getName());
 	}
@@ -56,12 +57,11 @@ public class CoreLibraryDefaultFeatureValueProvider extends AbstractDefaultFeatu
 
 	public IStatus validateParameterValue(FeatureParameterValue parameterValue) {
 		String parameterName = parameterValue.getParameter().getName();
-		if (OUTLET_FEATURE_TARGET_PROJECT.equals(parameterName)
-				&& !access.projectExists(parameterValue.getStringValue()))
-			return error(String.format("The Project %s does not exist.", parameterValue.getStringValue()));
+		if (OUTLET_FEATURE_TARGET_PROJECT.equals(parameterName) && !access.projectExists(parameterValue.getStringValue()))
+			return error(String.format("The Project %s does not exist.", parameterValue.getExpression()));
 		if (OUTLET_FEATURE_TARGET_PROJECT.equals(parameterName) && access.projectExists(parameterValue.getStringValue())
 				&& !access.projectOpened(parameterValue.getStringValue()))
-			return error(String.format("The Project %s is not open.", parameterValue.getStringValue()));
+			return error(String.format("The Project %s is not open.", parameterValue.getExpression()));
 		if (OUTLET_FEATURE_TARGET_FOLDER.equals(parameterName)
 				|| OUTLET_FEATURE_LIBRARY_TARGET_FOLDER.equals(parameterName)
 				|| OUTLET_FEATURE_API_TARGET_FOLDER.equals(parameterName)) {
@@ -70,9 +70,13 @@ public class CoreLibraryDefaultFeatureValueProvider extends AbstractDefaultFeatu
 			String targetProjectName = targetProjectParam != null ? targetProjectParam.getStringValue() : null;
 			if (targetProjectName != null && !access.folderExists(targetProjectName, parameterValue.getStringValue())) {
 				return warning(String.format("The Folder %s does not exist in Project %s",
-						parameterValue.getStringValue(), targetProjectName));
+						parameterValue.getExpression(), targetProjectName));
 			}
 		}
+		if (DEBUG_FEATURE_DUMP_SEXEC.equals(parameterName)
+				&& !(parameterValue.getExpression() instanceof BoolLiteral)) {
+			return error("Illegal Value. Must be 'true' or 'false'");
+		}
 		return Status.OK_STATUS;
 	}
 }

+ 2 - 2
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/impl/DefaultCoreLibraryHelper.java

@@ -50,8 +50,8 @@ public class DefaultCoreLibraryHelper implements ICoreLibraryHelper {
 
 	@Override
 	public String getRelativeTargetFolder(GeneratorEntry entry) {
-		String projectFolderName = getTargetProjectValue(entry).getStringValue();
-		String targetFolderValue = getTargetFolderValue(entry).getStringValue();
+		String projectFolderName = getTargetProjectValue(entry).getExpression().toString();
+		String targetFolderValue = getTargetFolderValue(entry).getExpression().toString();
 		return projectFolderName + Path.SEPARATOR + targetFolderValue;
 	}
 

+ 1 - 2
plugins/org.yakindu.sct.generator.cpp/META-INF/MANIFEST.MF

@@ -8,8 +8,7 @@ Require-Bundle: org.yakindu.sct.model.sexec,
  org.yakindu.sct.generator.core,
  org.yakindu.sct.generator.genmodel,
  org.yakindu.sct.generator.c,
- org.yakindu.sct.model.stext.lib,
- org.yakindu.sct.model.sgen
+ org.yakindu.sct.model.stext.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.yakindu.sct.generator.cpp
 Bundle-Vendor: statecharts.org

+ 1 - 2
plugins/org.yakindu.sct.generator.csharp/META-INF/MANIFEST.MF

@@ -7,8 +7,7 @@ Require-Bundle: org.yakindu.sct.model.stext,
  org.yakindu.sct.generator.core,
  org.yakindu.sct.generator.genmodel,
  org.yakindu.sct.model.resource,
- org.eclipse.xpand,
- org.yakindu.sct.model.sgen
+ org.eclipse.xpand
 Bundle-Vendor: statecharts.org
 Export-Package: org.yakindu.sct.generator.csharp,
  org.yakindu.sct.generator.csharp.features

+ 1 - 3
plugins/org.yakindu.sct.generator.genmodel.ui/META-INF/MANIFEST.MF

@@ -27,9 +27,7 @@ Require-Bundle: org.yakindu.sct.generator.genmodel;visibility:=reexport,
  org.yakindu.base.xtext.utils.jface,
  org.yakindu.sct.ui,
  org.yakindu.sct.doc.user,
- org.yakindu.sct.generator.builder,
- org.yakindu.sct.model.sgen,
- org.yakindu.base.expressions.ui
+ org.yakindu.sct.generator.builder
 Import-Package: org.apache.commons.logging,
  org.apache.log4j,
  org.eclipse.jdt.core

+ 2 - 2
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/templates/SGenProposalCreator.xtend

@@ -38,9 +38,9 @@ class SGenProposalCreator {
 		
 	def value(FeatureConfiguration value, FeatureParameter param){
 		 var defaultValue = value.getParameterValue(param.name)
-		 if(defaultValue !== null) {
+		 if(defaultValue != null) {
 		 	if(param.parameterType.equals(ParameterTypes::STRING))
-		 		return ''' "«defaultValue.stringValue»" '''.toString
+		 		return ''' "«defaultValue.expression»" '''.toString
 		 	else
 		 		return defaultValue.expression
 		 }

+ 3 - 4
plugins/org.yakindu.sct.generator.genmodel/META-INF/MANIFEST.MF

@@ -17,10 +17,9 @@ Require-Bundle: org.eclipse.xtext;visibility:=reexport,
  org.eclipse.emf.common,
  org.antlr.runtime,
  org.eclipse.core.runtime,
- org.yakindu.base.types,
- org.yakindu.base.expressions,
- org.yakindu.sct.model.sgen,
- org.yakindu.sct.generator.core
+ org.yakindu.sct.generator.core;visibility:=reexport,
+ org.yakindu.sct.model.sgen;visibility:=reexport,
+ org.yakindu.base.types
 Import-Package: org.apache.log4j,
  org.apache.commons.logging,
  org.eclipse.xtext.xbase.lib

+ 1 - 8
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/GenerateSGen.mwe2

@@ -13,15 +13,8 @@ Workflow {
     bean = StandaloneSetup {
         scanClassPath = true
         platformUri = "${runtimeProject}/.."
+		registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
 		registerGenModelFile = "platform:/resource/org.yakindu.sct.model.sgen/model/emf/sgen.genmodel"
-		registerGenModelFile = "platform:/resource/org.yakindu.base.expressions/model/Expressions.genmodel"
-			registerGenModelFile = "platform:/resource/org.yakindu.base.types/model/base.genmodel"
-		registerGenModelFile = "platform:/resource/org.yakindu.base.types/model/types.genmodel"
-		
-		registerEcoreFile ="platform:/resource/org.yakindu.base.expressions/model/Expressions.ecore"
-		registerEcoreFile = "platform:/resource/org.yakindu.sct.model.sgen/model/emf/sgen.ecore"
-				registerEcoreFile ="platform:/resource/org.yakindu.base.types/model/base.ecore"
-		registerEcoreFile ="platform:/resource/org.yakindu.base.types/model/types.ecore"
     }
 
     component = DirectoryCleaner {

+ 37 - 23
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/SGen.xtext

@@ -8,41 +8,55 @@
  * Contributors:
  *     committers of YAKINDU - initial API and implementation
  */
-grammar org.yakindu.sct.generator.genmodel.SGen with org.yakindu.base.expressions.Expressions
+grammar org.yakindu.sct.generator.genmodel.SGen with org.eclipse.xtext.common.Terminals
 
 import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-import "http://www.yakindu.org/base/types/2.0.0" as types
-import "http://www.yakindu.org/sct/statechart/SGen"
+import "platform:/resource/org.yakindu.sct.model.sgen/model/emf/sgen.ecore" as gen
+import "platform:/resource/org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore" as sct
 
 /**
  * @author Andreas Muelder
  */
-GeneratorModel returns GeneratorModel:
-	'GeneratorModel' 'for' generatorId=GENERATOR_ID '{'
-	(variables+=VariableDefinition)*
+GeneratorModel returns gen::GeneratorModel:
+	'GeneratorModel' 'for' generatorId=QID '{'
 	(entries+=GeneratorEntry)*
 	'}';
-
-VariableDefinition:
-	{VariableDefinition} (const?='const' | 'var') ((readonly?='readonly')? & (external?='external')?) name=ID ':'
-	typeSpecifier=SimpleTypeSpecifier
-	('=' initialValue=Expression)?;
-
-SimpleTypeSpecifier returns types::TypeSpecifier:
-	{types::TypeSpecifier} type=[types::Type|ID];
-
-GeneratorEntry returns GeneratorEntry:
+ 
+GeneratorEntry returns gen::GeneratorEntry:
 	contentType=ID elementRef=[ecore::EObject|QID] '{'
 	(features+=FeatureConfiguration)*
 	'}';
-
-FeatureConfiguration returns FeatureConfiguration:
-	{FeatureConfiguration} 'feature' type=[FeatureType] '{'
+ 
+FeatureConfiguration returns gen::FeatureConfiguration:
+	{gen::FeatureConfiguration} 'feature' type=[gen::FeatureType] '{'
 	(parameterValues+=FeatureParameterValue)*
 	'}';
 
-FeatureParameterValue returns FeatureParameterValue:
-	{FeatureParameterValue} parameter=[FeatureParameter] '=' expression=Expression;
+FeatureParameterValue returns gen::FeatureParameterValue:
+	{gen::FeatureParameterValue} parameter=[gen::FeatureParameter] '=' expression=Literal;
+
+Literal returns gen::Literal:
+	BoolLiteral | IntLiteral | RealLiteral | StringLiteral;
+
+BoolLiteral returns gen::BoolLiteral:
+	{gen::BoolLiteral} value=BOOL;
+
+IntLiteral returns gen::IntLiteral:
+	{gen::IntLiteral} value=INT;
+
+RealLiteral returns gen::RealLiteral:
+	{gen::RealLiteral} value=FLOAT;
+
+StringLiteral returns gen::StringLiteral:
+	{gen::StringLiteral} value=STRING;
+
+terminal BOOL returns ecore::EBoolean:
+	'true' | 'false' | 'yes' | 'no';
+
+terminal FLOAT returns ecore::EFloat:
+	(INT '.' INT) ('e' ('-' | '+') INT)? ('f' | 'F' | 'd' | 'D')?;
+	
 
-GENERATOR_ID:
-	ID (('::' | '.') ID)*;
+QID:
+	ID (('::' | '.') ID)*; 
+	

+ 6 - 27
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/SGenRuntimeModule.java

@@ -12,25 +12,16 @@ package org.yakindu.sct.generator.genmodel;
 
 import org.eclipse.xtext.naming.IQualifiedNameProvider;
 import org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer;
-import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
-import org.yakindu.base.types.typesystem.GenericTypeSystem;
-import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.generator.genmodel.naming.GenModelQualifiedNameProvider;
-import org.yakindu.sct.generator.genmodel.scoping.SGenGlobalScopeProvider;
 import org.yakindu.sct.generator.genmodel.serializer.SGenCrossReferenceSerializer;
-import org.yakindu.sct.generator.genmodel.typesystem.SGenTypeInferrer;
-
-import com.google.inject.Binder;
 
+/**
+ * Use this class to register components to be used at runtime / without the
+ * Equinox extension registry.
+ */
 @SuppressWarnings("restriction")
-public class SGenRuntimeModule extends org.yakindu.sct.generator.genmodel.AbstractSGenRuntimeModule {
-
-	@Override
-	public void configure(Binder binder) {
-		super.configure(binder);
-		binder.bind(ITypeSystem.class).toInstance(getTypeSystem());
-	}
-
+public class SGenRuntimeModule extends
+		org.yakindu.sct.generator.genmodel.AbstractSGenRuntimeModule {
 	@Override
 	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
 		return GenModelQualifiedNameProvider.class;
@@ -39,16 +30,4 @@ public class SGenRuntimeModule extends org.yakindu.sct.generator.genmodel.Abstra
 	public Class<? extends ICrossReferenceSerializer> bindICrossReferenceSerializer() {
 		return SGenCrossReferenceSerializer.class;
 	}
-
-	protected ITypeSystem getTypeSystem() {
-		return GenericTypeSystem.getInstance();
-	}
-
-	public Class<? extends ITypeSystemInferrer> bindITypeSystemInferrer() {
-		return SGenTypeInferrer.class;
-	}
-
-	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return SGenGlobalScopeProvider.class;
-	}
 }

+ 0 - 45
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/scoping/SGenGlobalScopeProvider.java

@@ -1,45 +0,0 @@
-/**
- * Copyright (c) 2017 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.generator.genmodel.scoping;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xtext.naming.IQualifiedNameProvider;
-import org.eclipse.xtext.resource.IEObjectDescription;
-import org.eclipse.xtext.scoping.IScope;
-import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
-import org.yakindu.base.expressions.scoping.TypeSystemAwareScope;
-import org.yakindu.base.types.typesystem.ITypeSystem;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public class SGenGlobalScopeProvider extends DefaultGlobalScopeProvider {
-
-	@Inject
-	private ITypeSystem typeSystem;
-	@Inject
-	private IQualifiedNameProvider qualifiedNameProvider;
-
-	@Override
-	public IScope getScope(Resource resource, EReference reference, Predicate<IEObjectDescription> filter) {
-		if (reference.getEReferenceType() == org.yakindu.base.types.TypesPackage.Literals.TYPE) {
-			return new TypeSystemAwareScope(IScope.NULLSCOPE, typeSystem, qualifiedNameProvider,
-					reference.getEReferenceType());
-		}
-		return super.getScope(resource, reference, filter);
-	}
-
-}

+ 1 - 5
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/scoping/SGenScopeProvider.java

@@ -24,7 +24,6 @@ import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
 import org.eclipse.xtext.scoping.impl.FilteringScope;
 import org.eclipse.xtext.scoping.impl.SimpleScope;
-import org.yakindu.base.types.TypesPackage;
 import org.yakindu.sct.generator.core.extensions.GeneratorExtensions;
 import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
 import org.yakindu.sct.generator.core.extensions.ILibraryDescriptor;
@@ -55,9 +54,6 @@ public class SGenScopeProvider extends AbstractDeclarativeScopeProvider {
 
 	@Override
 	public IScope getScope(EObject context, EReference reference) {
-		if(reference.getEReferenceType() == TypesPackage.Literals.TYPE) {
-			return getDelegate().getScope(context, reference);
-		}
 		if (reference.getName().equals("type")) {
 			return scope_Type(context, reference);
 		}
@@ -69,7 +65,7 @@ public class SGenScopeProvider extends AbstractDeclarativeScopeProvider {
 		}
 		return super.getScope(context, reference);
 	}
-	
+
 	protected IScope scope_GeneratorEntry_elementRef(final EObject context,
 			final EReference reference) {
 		GeneratorModel generatorModel = (GeneratorModel) EcoreUtil2

+ 0 - 30
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/typesystem/SGenTypeInferrer.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2017 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.generator.genmodel.typesystem;
-
-import org.yakindu.base.expressions.expressions.NumericalAddSubtractExpression;
-import org.yakindu.base.expressions.inferrer.ExpressionsTypeInferrer;
-
-/**
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public class SGenTypeInferrer extends ExpressionsTypeInferrer {
-
-	@Override
-	public InferenceResult doInfer(NumericalAddSubtractExpression e) {
-		InferenceResult result1 = inferTypeDispatch(e.getLeftOperand());
-		InferenceResult result2 = inferTypeDispatch(e.getRightOperand());
-		assertCompatible(result1, result2, String.format(ARITHMETIC_OPERATORS, e.getOperator(), result1, result2));
-		return getCommonType(inferTypeDispatch(e.getLeftOperand()), inferTypeDispatch(e.getRightOperand()));
-	}
-
-}

+ 33 - 33
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/validation/SGenJavaValidator.java

@@ -21,17 +21,12 @@ import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.eclipse.xtext.EcoreUtil2;
 import org.eclipse.xtext.validation.Check;
 import org.yakindu.base.base.NamedElement;
-import org.yakindu.base.types.Type;
-import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
-import org.yakindu.base.types.inferrer.ITypeSystemInferrer.InferenceResult;
-import org.yakindu.base.types.typesystem.ITypeSystem;
-import org.yakindu.base.types.validation.IValidationIssueAcceptor;
-import org.yakindu.base.types.validation.TypeValidator;
 import org.yakindu.sct.generator.core.extensions.GeneratorExtensions;
 import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
 import org.yakindu.sct.generator.core.extensions.ILibraryDescriptor;
 import org.yakindu.sct.generator.core.extensions.LibraryExtensions;
 import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
+import org.yakindu.sct.model.sgen.BoolLiteral;
 import org.yakindu.sct.model.sgen.DeprecatableElement;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureParameter;
@@ -40,8 +35,12 @@ import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
 import org.yakindu.sct.model.sgen.GeneratorModel;
+import org.yakindu.sct.model.sgen.IntLiteral;
+import org.yakindu.sct.model.sgen.Literal;
 import org.yakindu.sct.model.sgen.ParameterTypes;
+import org.yakindu.sct.model.sgen.RealLiteral;
 import org.yakindu.sct.model.sgen.SGenPackage;
+import org.yakindu.sct.model.sgen.StringLiteral;
 
 import com.google.common.base.Function;
 import com.google.common.base.Predicate;
@@ -55,7 +54,7 @@ import com.google.inject.Injector;
  * @author andreas muelder - Initial contribution and API
  * 
  */
-public class SGenJavaValidator extends AbstractSGenJavaValidator implements IValidationIssueAcceptor {
+public class SGenJavaValidator extends AbstractSGenJavaValidator {
 
 	// Error messages
 	public static final String MISSING_REQUIRED_PARAMETER = "Missing required parameter.";
@@ -74,13 +73,7 @@ public class SGenJavaValidator extends AbstractSGenJavaValidator implements IVal
 	public static final String CODE_REQUIRED_FEATURE = "code_req_feature.";
 
 	@Inject
-	protected Injector injector;
-	@Inject
-	protected ITypeSystemInferrer inferrer;
-	@Inject
-	protected TypeValidator typeValidator;
-	@Inject
-	protected ITypeSystem typesystem;
+	private Injector injector;
 
 	@Check
 	public void checkContentType(GeneratorEntry entry) {
@@ -101,23 +94,25 @@ public class SGenJavaValidator extends AbstractSGenJavaValidator implements IVal
 	public void checkParameterValueType(final FeatureParameterValue parameterValue) {
 		if (parameterValue == null || parameterValue.getExpression() == null)
 			return;
-		InferenceResult valueResult = inferrer.infer(parameterValue.getExpression());
+		Literal value = parameterValue.getExpression();
 		ParameterTypes parameterType = parameterValue.getParameter().getParameterType();
-		typeValidator.assertAssignable(InferenceResult.from(mapType(parameterType)), valueResult, null, this);
-	}
-
-	public Type mapType(ParameterTypes type) {
-		switch (type) {
+		switch (parameterType) {
 		case BOOLEAN:
-			return typesystem.getType(ITypeSystem.BOOLEAN);
+			if (!(value instanceof BoolLiteral))
+				error(INCOMPATIBLE_TYPE_BOOLEAN_EXPECTED, SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION);
+			break;
 		case INTEGER:
-			return typesystem.getType(ITypeSystem.INTEGER);
+			if (!(value instanceof IntLiteral))
+				error(INCOMPATIBLE_TYPE_INTEGER_EXPECTED, SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION);
+			break;
 		case FLOAT:
-			return typesystem.getType(ITypeSystem.REAL);
+			if (!(value instanceof RealLiteral))
+				error(INCOMPATIBLE_TYPE_FLOAT_EXPECTED, SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION);
+			break;
 		case STRING:
-			return typesystem.getType(ITypeSystem.STRING);
-		default:
-			return typesystem.getType(ITypeSystem.ANY);
+			if (!(value instanceof StringLiteral))
+				error(INCOMPATIBLE_TYPE_STRING_EXPECTED, SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION);
+			break;
 		}
 	}
 
@@ -154,13 +149,14 @@ public class SGenJavaValidator extends AbstractSGenJavaValidator implements IVal
 					SGenPackage.Literals.GENERATOR_MODEL__GENERATOR_ID);
 		}
 	}
-
+	
 	@Check
 	public void checkEntriesExist(GeneratorModel model) {
-		if (model.getEntries() == null || model.getEntries().isEmpty()) {
+		if(model.getEntries() == null || model.getEntries().isEmpty()) {
 			warning(EMPTY_SGEN, null);
 		}
 	}
+	
 
 	@Check
 	public void checkDuplicateGeneratorEntryFeature(final FeatureConfiguration config) {
@@ -234,10 +230,14 @@ public class SGenJavaValidator extends AbstractSGenJavaValidator implements IVal
 		Iterable<ILibraryDescriptor> libraryDescriptors = LibraryExtensions
 				.getLibraryDescriptors(generatorDescriptor.getLibraryIDs());
 
-		Iterable<String> requiredParameters = transform(filter(concat(transform(
-				filter(concat(transform(transform(libraryDescriptors, getFeatureTypeLibrary()), getFeatureTypes())),
-						hasName(configuration.getType().getName())),
-				getParameter())), isRequiredParamter()), getName());
+		Iterable<String> requiredParameters = transform(
+				filter(concat(
+						transform(
+								filter(concat(transform(transform(libraryDescriptors, getFeatureTypeLibrary()),
+										getFeatureTypes())), hasName(configuration.getType().getName())),
+								getParameter())),
+						isRequiredParamter()),
+				getName());
 
 		List<String> configuredParameters = Lists.newArrayList();
 
@@ -260,7 +260,7 @@ public class SGenJavaValidator extends AbstractSGenJavaValidator implements IVal
 					SGenPackage.Literals.GENERATOR_ENTRY__ELEMENT_REF, parameter.getName());
 		}
 	}
-	
+
 	private Function<NamedElement, String> getName() {
 		return new Function<NamedElement, String>() {
 

+ 4 - 5
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/valueconverter/SGenValueConverter.java

@@ -10,26 +10,25 @@
  */
 package org.yakindu.sct.generator.genmodel.valueconverter;
 
+import org.eclipse.xtext.common.services.DefaultTerminalConverters;
 import org.eclipse.xtext.conversion.IValueConverter;
 import org.eclipse.xtext.conversion.ValueConverter;
 import org.eclipse.xtext.conversion.impl.AbstractIDValueConverter;
-import org.yakindu.base.expressions.terminals.ExpressionsValueConverterService;
 
 import com.google.inject.Inject;
-
 /**
  * 
  * @author andreas muelder - Initial contribution and API
  * 
  */
-public class SGenValueConverter extends ExpressionsValueConverterService {
+public class SGenValueConverter extends DefaultTerminalConverters {
 
 	@Inject
 	private AbstractIDValueConverter idValueConverter;
 
-	@ValueConverter(rule = "GENID")
+	@ValueConverter(rule = "QID")
 	public IValueConverter<String> ID() {
 		return idValueConverter;
 	}
-
+	
 }

+ 1 - 2
plugins/org.yakindu.sct.generator.java/META-INF/MANIFEST.MF

@@ -6,8 +6,7 @@ Bundle-Version: 3.0.1.qualifier
 Require-Bundle: org.yakindu.sct.model.stext,
  org.yakindu.sct.generator.core,
  org.yakindu.sct.generator.genmodel,
- org.yakindu.sct.model.stext.lib,
- org.yakindu.sct.model.sgen
+ org.yakindu.sct.model.stext.lib
 Bundle-Vendor: statecharts.org
 Export-Package: org.yakindu.sct.generator.java,
  org.yakindu.sct.generator.java.features,

+ 1 - 2
plugins/org.yakindu.sct.generator.runner/META-INF/MANIFEST.MF

@@ -10,7 +10,6 @@ Require-Bundle: org.eclipse.core.runtime,
  org.yakindu.sct.generator.genmodel,
  org.yakindu.sct.commons,
  org.eclipse.jdt.core,
- org.eclipse.emf.workspace,
- org.yakindu.sct.model.sgen
+ org.eclipse.emf.workspace
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy

+ 0 - 1
plugins/org.yakindu.sct.generator.runner/src/org/yakindu/sct/generator/runner/RunnerModule.java

@@ -28,4 +28,3 @@ public class RunnerModule implements IGeneratorModule {
 	}
 
 }
- 

+ 1 - 3
plugins/org.yakindu.sct.model.sgen.edit/META-INF/MANIFEST.MF

@@ -16,7 +16,5 @@ Require-Bundle: org.eclipse.core.runtime,
  org.yakindu.sct.model.sgraph.edit;visibility:=reexport,
  org.eclipse.xtext.xbase;visibility:=reexport,
  org.yakindu.base.types;visibility:=reexport,
- org.yakindu.base.types.edit;visibility:=reexport,
- org.yakindu.base.expressions;visibility:=reexport,
- org.yakindu.base.expressions.edit;visibility:=reexport
+ org.yakindu.base.types.edit;visibility:=reexport
 Bundle-ActivationPolicy: lazy

BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_AssignmentExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseAndExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseOrExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_BitwiseXorExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ConditionalExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_FeatureCall.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalAndExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalNotExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalOrExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_LogicalRelationExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalAddSubtractExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalMultiplyDivideExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_NumericalUnaryExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ParenthesizedExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_PrimitiveValueExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_ShiftExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_TypeCastExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_VarRefExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_AssignmentExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseAndExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseOrExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_BitwiseXorExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ConditionalExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ElementReferenceExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_FeatureCall.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalAndExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalNotExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalOrExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_LogicalRelationExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalAddSubtractExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalMultiplyDivideExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_NumericalUnaryExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ParenthesizedExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_PrimitiveValueExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_ShiftExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_TypeCastExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateVariableDefinition_initialValue_VarRefExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/VarRefExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/VariableDefinition.gif


+ 0 - 8
plugins/org.yakindu.sct.model.sgen.edit/plugin.properties

@@ -151,11 +151,3 @@ _UI_BoolLiteral_value_feature = Value
 _UI_IntLiteral_value_feature = Value
 _UI_RealLiteral_value_feature = Value
 _UI_StringLiteral_value_feature = Value
-_UI_DeprecatableElement_type = Deprecatable Element
-_UI_DeprecatableElement_deprecated_feature = Deprecated
-_UI_DeprecatableElement_comment_feature = Comment
-_UI_VarRefExpression_type = Var Ref Expression
-_UI_VarRefExpression_ref_feature = Ref
-_UI_VariableDefinition_type = Variable Definition
-_UI_GeneratorModel_variables_feature = Variables
-_UI_VariableDefinition_initialValue_feature = Initial Value

+ 149 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/BoolLiteralItemProvider.java

@@ -0,0 +1,149 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.BoolLiteral;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.BoolLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoolLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoolLiteralItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoolLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoolLiteral_value_feature", "_UI_BoolLiteral_type"),
+				 SGenPackage.Literals.BOOL_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BoolLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoolLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BoolLiteral boolLiteral = (BoolLiteral)object;
+		return getString("_UI_BoolLiteral_type") + " " + boolLiteral.isValue();
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BoolLiteral.class)) {
+			case SGenPackage.BOOL_LITERAL__VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}

+ 3 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/DeprecatableElementItemProvider.java

@@ -16,7 +16,9 @@ import java.util.List;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -27,6 +29,7 @@ import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
+
 import org.yakindu.sct.model.sgen.DeprecatableElement;
 import org.yakindu.sct.model.sgen.SGenPackage;
 

+ 12 - 1
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterItemProvider.java

@@ -18,7 +18,12 @@ import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.yakindu.base.base.provider.NamedElementItemProvider;
@@ -32,7 +37,13 @@ import org.yakindu.sct.model.sgen.SGenPackage;
  * @generated
  */
 public class FeatureParameterItemProvider
-	extends NamedElementItemProvider {
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->

+ 4 - 80
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterValueItemProvider.java

@@ -26,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.yakindu.base.expressions.expressions.ExpressionsFactory;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.SGenFactory;
 import org.yakindu.sct.model.sgen.SGenPackage;
@@ -175,97 +174,22 @@ public class FeatureParameterValueItemProvider extends ItemProviderAdapter
 		newChildDescriptors.add
 			(createChildParameter
 				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 SGenFactory.eINSTANCE.createVarRefExpression()));
+				 SGenFactory.eINSTANCE.createBoolLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createAssignmentExpression()));
+				 SGenFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createConditionalExpression()));
+				 SGenFactory.eINSTANCE.createRealLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createLogicalOrExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createLogicalAndExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createLogicalNotExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createBitwiseXorExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createBitwiseOrExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createBitwiseAndExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createLogicalRelationExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createShiftExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createNumericalAddSubtractExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createNumericalMultiplyDivideExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createNumericalUnaryExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createPrimitiveValueExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createFeatureCall()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createElementReferenceExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createParenthesizedExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
-				 ExpressionsFactory.eINSTANCE.createTypeCastExpression()));
+				 SGenFactory.eINSTANCE.createStringLiteral()));
 	}
 
 	/**

+ 12 - 1
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeItemProvider.java

@@ -19,7 +19,12 @@ import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.yakindu.base.base.provider.NamedElementItemProvider;
@@ -34,7 +39,13 @@ import org.yakindu.sct.model.sgen.SGenPackage;
  * @generated
  */
 public class FeatureTypeItemProvider
-	extends NamedElementItemProvider {
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->

+ 0 - 23
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorModelItemProvider.java

@@ -68,7 +68,6 @@ public class GeneratorModelItemProvider
 			super.getPropertyDescriptors(object);
 
 			addGeneratorIdPropertyDescriptor(object);
-			addVariablesPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -95,28 +94,6 @@ public class GeneratorModelItemProvider
 				 null));
 	}
 
-	/**
-	 * This adds a property descriptor for the Variables feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addVariablesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GeneratorModel_variables_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_GeneratorModel_variables_feature", "_UI_GeneratorModel_type"),
-				 SGenPackage.Literals.GENERATOR_MODEL__VARIABLES,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
 	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or

+ 149 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/IntLiteralItemProvider.java

@@ -0,0 +1,149 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.IntLiteral;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.IntLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntLiteralItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_IntLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntLiteral_value_feature", "_UI_IntLiteral_type"),
+				 SGenPackage.Literals.INT_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns IntLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		IntLiteral intLiteral = (IntLiteral)object;
+		return getString("_UI_IntLiteral_type") + " " + intLiteral.getValue();
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(IntLiteral.class)) {
+			case SGenPackage.INT_LITERAL__VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}

+ 2 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/LiteralItemProvider.java

@@ -16,7 +16,9 @@ import java.util.List;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;

+ 149 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/RealLiteralItemProvider.java

@@ -0,0 +1,149 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.RealLiteral;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.RealLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RealLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RealLiteralItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RealLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RealLiteral_value_feature", "_UI_RealLiteral_type"),
+				 SGenPackage.Literals.REAL_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns RealLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RealLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		RealLiteral realLiteral = (RealLiteral)object;
+		return getString("_UI_RealLiteral_type") + " " + realLiteral.getValue();
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(RealLiteral.class)) {
+			case SGenPackage.REAL_LITERAL__VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}

+ 71 - 23
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SGenItemProviderAdapterFactory.java

@@ -262,72 +262,118 @@ public class SGenItemProviderAdapterFactory extends SGenAdapterFactory implement
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.DeprecatableElement} instances.
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.BoolLiteral} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected DeprecatableElementItemProvider deprecatableElementItemProvider;
+	protected BoolLiteralItemProvider boolLiteralItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.DeprecatableElement}.
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.BoolLiteral}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createDeprecatableElementAdapter() {
-		if (deprecatableElementItemProvider == null) {
-			deprecatableElementItemProvider = new DeprecatableElementItemProvider(this);
+	public Adapter createBoolLiteralAdapter() {
+		if (boolLiteralItemProvider == null) {
+			boolLiteralItemProvider = new BoolLiteralItemProvider(this);
 		}
 
-		return deprecatableElementItemProvider;
+		return boolLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.IntLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntLiteralItemProvider intLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.IntLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntLiteralAdapter() {
+		if (intLiteralItemProvider == null) {
+			intLiteralItemProvider = new IntLiteralItemProvider(this);
+		}
+
+		return intLiteralItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.VarRefExpression} instances.
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.RealLiteral} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected VarRefExpressionItemProvider varRefExpressionItemProvider;
+	protected RealLiteralItemProvider realLiteralItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.VarRefExpression}.
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.RealLiteral}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createVarRefExpressionAdapter() {
-		if (varRefExpressionItemProvider == null) {
-			varRefExpressionItemProvider = new VarRefExpressionItemProvider(this);
+	public Adapter createRealLiteralAdapter() {
+		if (realLiteralItemProvider == null) {
+			realLiteralItemProvider = new RealLiteralItemProvider(this);
 		}
 
-		return varRefExpressionItemProvider;
+		return realLiteralItemProvider;
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.VariableDefinition} instances.
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.StringLiteral} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected VariableDefinitionItemProvider variableDefinitionItemProvider;
+	protected StringLiteralItemProvider stringLiteralItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.VariableDefinition}.
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.StringLiteral}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createVariableDefinitionAdapter() {
-		if (variableDefinitionItemProvider == null) {
-			variableDefinitionItemProvider = new VariableDefinitionItemProvider(this);
+	public Adapter createStringLiteralAdapter() {
+		if (stringLiteralItemProvider == null) {
+			stringLiteralItemProvider = new StringLiteralItemProvider(this);
 		}
 
-		return variableDefinitionItemProvider;
+		return stringLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.DeprecatableElement} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeprecatableElementItemProvider deprecatableElementItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.DeprecatableElement}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDeprecatableElementAdapter() {
+		if (deprecatableElementItemProvider == null) {
+			deprecatableElementItemProvider = new DeprecatableElementItemProvider(this);
+		}
+
+		return deprecatableElementItemProvider;
 	}
 
 	/**
@@ -437,9 +483,11 @@ public class SGenItemProviderAdapterFactory extends SGenAdapterFactory implement
 		if (generatorEntryItemProvider != null) generatorEntryItemProvider.dispose();
 		if (featureParameterValueItemProvider != null) featureParameterValueItemProvider.dispose();
 		if (featureTypeLibraryItemProvider != null) featureTypeLibraryItemProvider.dispose();
+		if (boolLiteralItemProvider != null) boolLiteralItemProvider.dispose();
+		if (intLiteralItemProvider != null) intLiteralItemProvider.dispose();
+		if (realLiteralItemProvider != null) realLiteralItemProvider.dispose();
+		if (stringLiteralItemProvider != null) stringLiteralItemProvider.dispose();
 		if (deprecatableElementItemProvider != null) deprecatableElementItemProvider.dispose();
-		if (varRefExpressionItemProvider != null) varRefExpressionItemProvider.dispose();
-		if (variableDefinitionItemProvider != null) variableDefinitionItemProvider.dispose();
 	}
 
 }

+ 0 - 4
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SgenEditPlugin.java

@@ -13,8 +13,6 @@ package org.yakindu.sct.model.sgen.provider;
 import org.eclipse.emf.common.EMFPlugin;
 import org.eclipse.emf.common.util.ResourceLocator;
 import org.yakindu.base.base.provider.BaseEditPlugin;
-import org.yakindu.base.expressions.expressions.provider.ExpressionsEditPlugin;
-import org.yakindu.base.types.provider.TypesEditPlugin;
 
 /**
  * This is the central singleton for the Sgen edit plugin.
@@ -48,8 +46,6 @@ public final class SgenEditPlugin extends EMFPlugin {
 		super
 		  (new ResourceLocator [] {
 		     BaseEditPlugin.INSTANCE,
-		     ExpressionsEditPlugin.INSTANCE,
-		     TypesEditPlugin.INSTANCE,
 		   });
 	}
 

+ 39 - 35
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/VarRefExpressionItemProvider.java

@@ -1,5 +1,13 @@
-/**
- */
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
 package org.yakindu.sct.model.sgen.provider;
 
 
@@ -9,32 +17,40 @@ import java.util.List;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
-import org.eclipse.emf.common.util.ResourceLocator;
-
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
-import org.yakindu.base.expressions.expressions.provider.ExpressionItemProvider;
-
 import org.yakindu.sct.model.sgen.SGenPackage;
-import org.yakindu.sct.model.sgen.VarRefExpression;
+import org.yakindu.sct.model.sgen.StringLiteral;
 
 /**
- * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.VarRefExpression} object.
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.StringLiteral} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class VarRefExpressionItemProvider extends ExpressionItemProvider {
+public class StringLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public VarRefExpressionItemProvider(AdapterFactory adapterFactory) {
+	public StringLiteralItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -49,25 +65,25 @@ public class VarRefExpressionItemProvider extends ExpressionItemProvider {
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addRefPropertyDescriptor(object);
+			addValuePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Ref feature.
+	 * This adds a property descriptor for the Value feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addRefPropertyDescriptor(Object object) {
+	protected void addValuePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_VarRefExpression_ref_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_VarRefExpression_ref_feature", "_UI_VarRefExpression_type"),
-				 SGenPackage.Literals.VAR_REF_EXPRESSION__REF,
+				 getString("_UI_StringLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_StringLiteral_value_feature", "_UI_StringLiteral_type"),
+				 SGenPackage.Literals.STRING_LITERAL__VALUE,
 				 true,
 				 false,
 				 false,
@@ -77,14 +93,14 @@ public class VarRefExpressionItemProvider extends ExpressionItemProvider {
 	}
 
 	/**
-	 * This returns VarRefExpression.gif.
+	 * This returns StringLiteral.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/VarRefExpression"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/StringLiteral"));
 	}
 
 	/**
@@ -95,12 +111,11 @@ public class VarRefExpressionItemProvider extends ExpressionItemProvider {
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((VarRefExpression)object).getRef();
+		String label = ((StringLiteral)object).getValue();
 		return label == null || label.length() == 0 ?
-			getString("_UI_VarRefExpression_type") :
-			getString("_UI_VarRefExpression_type") + " " + label;
+			getString("_UI_StringLiteral_type") :
+			getString("_UI_StringLiteral_type") + " " + label;
 	}
-	
 
 	/**
 	 * This handles model notifications by calling {@link #updateChildren} to update any cached
@@ -113,8 +128,8 @@ public class VarRefExpressionItemProvider extends ExpressionItemProvider {
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(VarRefExpression.class)) {
-			case SGenPackage.VAR_REF_EXPRESSION__REF:
+		switch (notification.getFeatureID(StringLiteral.class)) {
+			case SGenPackage.STRING_LITERAL__VALUE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
@@ -133,15 +148,4 @@ public class VarRefExpressionItemProvider extends ExpressionItemProvider {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return SgenEditPlugin.INSTANCE;
-	}
-
 }

+ 0 - 252
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/VariableDefinitionItemProvider.java

@@ -1,252 +0,0 @@
-/**
- */
-package org.yakindu.sct.model.sgen.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.yakindu.base.expressions.expressions.ExpressionsFactory;
-
-import org.yakindu.base.types.provider.PropertyItemProvider;
-
-import org.yakindu.sct.model.sgen.SGenFactory;
-import org.yakindu.sct.model.sgen.SGenPackage;
-import org.yakindu.sct.model.sgen.VariableDefinition;
-
-/**
- * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.VariableDefinition} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class VariableDefinitionItemProvider extends PropertyItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public VariableDefinitionItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns VariableDefinition.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/VariableDefinition"));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((VariableDefinition)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_VariableDefinition_type") :
-			getString("_UI_VariableDefinition_type") + " " + label;
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(VariableDefinition.class)) {
-			case SGenPackage.VARIABLE_DEFINITION__INITIAL_VALUE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 SGenFactory.eINSTANCE.createVarRefExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createAssignmentExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createConditionalExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createLogicalOrExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createLogicalAndExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createLogicalNotExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createBitwiseXorExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createBitwiseOrExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createBitwiseAndExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createLogicalRelationExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createShiftExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createNumericalAddSubtractExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createNumericalMultiplyDivideExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createNumericalUnaryExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createPrimitiveValueExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createFeatureCall()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createElementReferenceExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createParenthesizedExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SGenPackage.Literals.VARIABLE_DEFINITION__INITIAL_VALUE,
-				 ExpressionsFactory.eINSTANCE.createTypeCastExpression()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return SgenEditPlugin.INSTANCE;
-	}
-
-}

+ 0 - 6
plugins/org.yakindu.sct.model.sgen/.project

@@ -5,11 +5,6 @@
 	<projects>
 	</projects>
 	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
 		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
@@ -29,7 +24,6 @@
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 	</natures>
 	<filteredResources>
 		<filter>

+ 1 - 4
plugins/org.yakindu.sct.model.sgen/META-INF/MANIFEST.MF

@@ -11,12 +11,9 @@ Export-Package: org.yakindu.sct.model.sgen,
  org.yakindu.sct.model.sgen.impl,
  org.yakindu.sct.model.sgen.util
 Require-Bundle: org.eclipse.core.runtime,
- org.yakindu.base.expressions;visibility:=reexport,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.yakindu.sct.model.sgraph;visibility:=reexport,
- org.yakindu.sct.model.sgen;visibility:=reexport,
  org.eclipse.emf.ecore.xmi;visibility:=reexport,
  org.yakindu.base.types;visibility:=reexport,
- com.google.inject;visibility:=reexport,
- org.yakindu.sct.simulation.core
+ com.google.inject;visibility:=reexport
 Bundle-ActivationPolicy: lazy

+ 22 - 10
plugins/org.yakindu.sct.model.sgen/model/emf/sgen.ecore

@@ -5,8 +5,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
         eType="#//GeneratorEntry" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="generatorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
-        eType="#//VariableDefinition" containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="GeneratorConfiguration">
     <eStructuralFeatures xsi:type="ecore:EReference" name="configurations" upperBound="-1"
@@ -50,10 +48,18 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="contentType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="FeatureParameterValue">
+    <eOperations name="setValue">
+      <eParameters name="string" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eOperations>
+    <eOperations name="setValue">
+      <eParameters name="boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    </eOperations>
+    <eOperations name="getStringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eOperations name="getBooleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="#//FeatureParameter"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="featureConfiguration" eType="#//FeatureConfiguration"
         changeable="false" eOpposite="#//FeatureConfiguration/parameterValues"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Literal"
         containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="FeatureTypeLibrary">
@@ -67,16 +73,22 @@
     <eLiterals name="BOOLEAN"/>
     <eLiterals name="INTEGER" value="3"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/>
+  <eClassifiers xsi:type="ecore:EClass" name="BoolLiteral" eSuperTypes="#//Literal">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Literal">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//Literal">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DeprecatableElement">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" lowerBound="1"
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="VarRefExpression" eSuperTypes="../../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ref" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="VariableDefinition" eSuperTypes="../../../org.yakindu.base.types/model/types.ecore#//Property">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="initialValue" eType="ecore:EClass ../../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression"
-        containment="true"/>
-  </eClassifiers>
 </ecore:EPackage>

+ 25 - 14
plugins/org.yakindu.sct.model.sgen/model/emf/sgen.genmodel

@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.yakindu.sct.model.sgen/src" modelPluginID="org.yakindu.sct.model.sgen"
-    modelName="Sgen" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
-    copyrightFields="false" usedGenPackages="../../../org.yakindu.base.types/model/base.genmodel#//base ../../../org.yakindu.base.expressions/model/Expressions.genmodel#//expressions ../../../org.yakindu.base.types/model/types.genmodel#//types">
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.yakindu.sct.model.sgen/src"
+    modelPluginID="org.yakindu.sct.model.sgen" modelName="Sgen" importerID="org.eclipse.emf.importer.ecore"
+    complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../../org.yakindu.base.types/model/base.genmodel#//base">
   <foreignModel>sgen.ecore</foreignModel>
   <genPackages prefix="SGen" basePackage="org.yakindu.sct.model" disposableProviderFactory="true"
-      ecorePackage="sgen.ecore#/">
+      loadInitialization="true" ecorePackage="sgen.ecore#/">
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="sgen.ecore#//ParameterTypes">
       <genEnumLiterals ecoreEnumLiteral="sgen.ecore#//ParameterTypes/STRING"/>
       <genEnumLiterals ecoreEnumLiteral="sgen.ecore#//ParameterTypes/FLOAT"/>
@@ -43,26 +44,36 @@
       <genOperations ecoreOperation="sgen.ecore#//GeneratorEntry/getFeatureConfiguration">
         <genParameters ecoreParameter="sgen.ecore#//GeneratorEntry/getFeatureConfiguration/featureName"/>
       </genOperations>
-      <genOperations ecoreOperation="sgen.ecore#//GeneratorEntry/getFeatureParameterValue">
-        <genParameters ecoreParameter="sgen.ecore#//GeneratorEntry/getFeatureParameterValue/featureName"/>
-        <genParameters ecoreParameter="sgen.ecore#//GeneratorEntry/getFeatureParameterValue/paramName"/>
-      </genOperations>
     </genClasses>
     <genClasses ecoreClass="sgen.ecore#//FeatureParameterValue">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sgen.ecore#//FeatureParameterValue/parameter"/>
       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference sgen.ecore#//FeatureParameterValue/featureConfiguration"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sgen.ecore#//FeatureParameterValue/expression"/>
+      <genOperations ecoreOperation="sgen.ecore#//FeatureParameterValue/setValue">
+        <genParameters ecoreParameter="sgen.ecore#//FeatureParameterValue/setValue/string"/>
+      </genOperations>
+      <genOperations ecoreOperation="sgen.ecore#//FeatureParameterValue/setValue.1">
+        <genParameters ecoreParameter="sgen.ecore#//FeatureParameterValue/setValue.1/boolean"/>
+      </genOperations>
+      <genOperations ecoreOperation="sgen.ecore#//FeatureParameterValue/getStringValue"/>
+      <genOperations ecoreOperation="sgen.ecore#//FeatureParameterValue/getBooleanValue"/>
     </genClasses>
     <genClasses ecoreClass="sgen.ecore#//FeatureTypeLibrary">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sgen.ecore#//FeatureTypeLibrary/types"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//FeatureTypeLibrary/name"/>
     </genClasses>
-    <genClasses ecoreClass="sgen.ecore#//DeprecatableElement">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//DeprecatableElement/deprecated"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//DeprecatableElement/comment"/>
+    <genClasses image="false" ecoreClass="sgen.ecore#//Literal"/>
+    <genClasses ecoreClass="sgen.ecore#//BoolLiteral">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//BoolLiteral/value"/>
+    </genClasses>
+    <genClasses ecoreClass="sgen.ecore#//IntLiteral">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//IntLiteral/value"/>
+    </genClasses>
+    <genClasses ecoreClass="sgen.ecore#//RealLiteral">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//RealLiteral/value"/>
     </genClasses>
-    <genClasses ecoreClass="sgen.ecore#//VarRefExpression">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//VarRefExpression/ref"/>
+    <genClasses ecoreClass="sgen.ecore#//StringLiteral">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sgen.ecore#//StringLiteral/value"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>

+ 57 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/BoolLiteral.java

@@ -0,0 +1,57 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bool Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sgen.BoolLiteral#isValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.yakindu.sct.model.sgen.SGenPackage#getBoolLiteral()
+ * @model
+ * @generated
+ */
+public interface BoolLiteral extends Literal {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(boolean)
+	 * @see org.yakindu.sct.model.sgen.SGenPackage#getBoolLiteral_Value()
+	 * @model
+	 * @generated
+	 */
+	boolean isValue();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.BoolLiteral#isValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #isValue()
+	 * @generated
+	 */
+	void setValue(boolean value);
+
+} // BoolLiteral

+ 27 - 8
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/FeatureParameterValue.java

@@ -11,7 +11,6 @@
 package org.yakindu.sct.model.sgen;
 
 import org.eclipse.emf.ecore.EObject;
-import org.yakindu.base.expressions.expressions.Expression;
 
 /**
  * <!-- begin-user-doc --> A representation of the model object '
@@ -88,12 +87,12 @@ public interface FeatureParameterValue extends EObject {
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Expression</em>' containment reference.
-	 * @see #setExpression(Expression)
+	 * @see #setExpression(Literal)
 	 * @see org.yakindu.sct.model.sgen.SGenPackage#getFeatureParameterValue_Expression()
 	 * @model containment="true"
 	 * @generated
 	 */
-	Expression getExpression();
+	Literal getExpression();
 
 	/**
 	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.FeatureParameterValue#getExpression <em>Expression</em>}' containment reference.
@@ -103,15 +102,35 @@ public interface FeatureParameterValue extends EObject {
 	 * @see #getExpression()
 	 * @generated
 	 */
-	void setExpression(Expression value);
+	void setExpression(Literal value);
 
-	boolean getBooleanValue();
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	void setValue(String string);
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	void setValue(boolean boolean_);
 
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
 	String getStringValue();
 
-	void setValue(String string);
-	
-	void setValue(Boolean string);
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	boolean getBooleanValue();
 	
 
 } // FeatureParameterValue

+ 0 - 17
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/GeneratorModel.java

@@ -24,7 +24,6 @@ import org.eclipse.emf.ecore.EObject;
  * <ul>
  *   <li>{@link org.yakindu.sct.model.sgen.GeneratorModel#getEntries <em>Entries</em>}</li>
  *   <li>{@link org.yakindu.sct.model.sgen.GeneratorModel#getGeneratorId <em>Generator Id</em>}</li>
- *   <li>{@link org.yakindu.sct.model.sgen.GeneratorModel#getVariables <em>Variables</em>}</li>
  * </ul>
  *
  * @see org.yakindu.sct.model.sgen.SGenPackage#getGeneratorModel()
@@ -74,20 +73,4 @@ public interface GeneratorModel extends EObject {
 	 */
 	void setGeneratorId(String value);
 
-	/**
-	 * Returns the value of the '<em><b>Variables</b></em>' containment reference list.
-	 * The list contents are of type {@link org.yakindu.sct.model.sgen.VariableDefinition}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Variables</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Variables</em>' containment reference list.
-	 * @see org.yakindu.sct.model.sgen.SGenPackage#getGeneratorModel_Variables()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<VariableDefinition> getVariables();
-
 } // GeneratorModel

+ 57 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/IntLiteral.java

@@ -0,0 +1,57 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Int Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sgen.IntLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.yakindu.sct.model.sgen.SGenPackage#getIntLiteral()
+ * @model
+ * @generated
+ */
+public interface IntLiteral extends Literal {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(int)
+	 * @see org.yakindu.sct.model.sgen.SGenPackage#getIntLiteral_Value()
+	 * @model
+	 * @generated
+	 */
+	int getValue();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.IntLiteral#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(int value);
+
+} // IntLiteral

+ 26 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/Literal.java

@@ -0,0 +1,26 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.yakindu.sct.model.sgen.SGenPackage#getLiteral()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Literal extends EObject {
+} // Literal

+ 57 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/RealLiteral.java

@@ -0,0 +1,57 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Real Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sgen.RealLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.yakindu.sct.model.sgen.SGenPackage#getRealLiteral()
+ * @model
+ * @generated
+ */
+public interface RealLiteral extends Literal {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(float)
+	 * @see org.yakindu.sct.model.sgen.SGenPackage#getRealLiteral_Value()
+	 * @model
+	 * @generated
+	 */
+	float getValue();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.RealLiteral#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(float value);
+
+} // RealLiteral

+ 27 - 9
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/SGenFactory.java

@@ -102,31 +102,49 @@ public interface SGenFactory extends EFactory {
 	FeatureTypeLibrary createFeatureTypeLibrary();
 
 	/**
-	 * Returns a new object of class '<em>Deprecatable Element</em>'.
+	 * Returns a new object of class '<em>Bool Literal</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Deprecatable Element</em>'.
+	 * @return a new object of class '<em>Bool Literal</em>'.
 	 * @generated
 	 */
-	DeprecatableElement createDeprecatableElement();
+	BoolLiteral createBoolLiteral();
+
+	/**
+	 * Returns a new object of class '<em>Int Literal</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Int Literal</em>'.
+	 * @generated
+	 */
+	IntLiteral createIntLiteral();
 
 	/**
-	 * Returns a new object of class '<em>Var Ref Expression</em>'.
+	 * Returns a new object of class '<em>Real Literal</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Var Ref Expression</em>'.
+	 * @return a new object of class '<em>Real Literal</em>'.
 	 * @generated
 	 */
-	VarRefExpression createVarRefExpression();
+	RealLiteral createRealLiteral();
 
 	/**
-	 * Returns a new object of class '<em>Variable Definition</em>'.
+	 * Returns a new object of class '<em>String Literal</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Variable Definition</em>'.
+	 * @return a new object of class '<em>String Literal</em>'.
 	 * @generated
 	 */
-	VariableDefinition createVariableDefinition();
+	StringLiteral createStringLiteral();
+
+	/**
+	 * Returns a new object of class '<em>Deprecatable Element</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Deprecatable Element</em>'.
+	 * @generated
+	 */
+	DeprecatableElement createDeprecatableElement();
 
 	/**
 	 * Returns the package supported by this factory.

+ 202 - 131
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/SGenPackage.java

@@ -16,8 +16,6 @@ import org.eclipse.emf.ecore.EEnum;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
 import org.yakindu.base.base.BasePackage;
-import org.yakindu.base.expressions.expressions.ExpressionsPackage;
-import org.yakindu.base.types.TypesPackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -95,15 +93,6 @@ public interface SGenPackage extends EPackage {
 	 */
 	int GENERATOR_MODEL__GENERATOR_ID = 1;
 
-	/**
-	 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERATOR_MODEL__VARIABLES = 2;
-
 	/**
 	 * The number of structural features of the '<em>Generator Model</em>' class.
 	 * <!-- begin-user-doc -->
@@ -111,7 +100,7 @@ public interface SGenPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int GENERATOR_MODEL_FEATURE_COUNT = 3;
+	int GENERATOR_MODEL_FEATURE_COUNT = 2;
 
 	/**
 	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.GeneratorConfigurationImpl <em>Generator Configuration</em>}' class.
@@ -455,169 +444,172 @@ public interface SGenPackage extends EPackage {
 
 
 	/**
-	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl <em>Deprecatable Element</em>}' class.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.LiteralImpl <em>Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl
-	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getDeprecatableElement()
+	 * @see org.yakindu.sct.model.sgen.impl.LiteralImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getLiteral()
 	 * @generated
 	 */
-	int DEPRECATABLE_ELEMENT = 8;
+	int LITERAL = 8;
 
 	/**
-	 * The feature id for the '<em><b>Deprecated</b></em>' attribute.
+	 * The number of structural features of the '<em>Literal</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DEPRECATABLE_ELEMENT__DEPRECATED = 0;
+	int LITERAL_FEATURE_COUNT = 0;
 
 	/**
-	 * The feature id for the '<em><b>Comment</b></em>' attribute.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.BoolLiteralImpl <em>Bool Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sgen.impl.BoolLiteralImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getBoolLiteral()
 	 * @generated
-	 * @ordered
 	 */
-	int DEPRECATABLE_ELEMENT__COMMENT = 1;
+	int BOOL_LITERAL = 9;
 
 	/**
-	 * The number of structural features of the '<em>Deprecatable Element</em>' class.
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DEPRECATABLE_ELEMENT_FEATURE_COUNT = 2;
+	int BOOL_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.VarRefExpressionImpl <em>Var Ref Expression</em>}' class.
+	 * The number of structural features of the '<em>Bool Literal</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.yakindu.sct.model.sgen.impl.VarRefExpressionImpl
-	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getVarRefExpression()
 	 * @generated
+	 * @ordered
 	 */
-	int VAR_REF_EXPRESSION = 9;
+	int BOOL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Ref</b></em>' attribute.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.IntLiteralImpl <em>Int Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sgen.impl.IntLiteralImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getIntLiteral()
 	 * @generated
-	 * @ordered
 	 */
-	int VAR_REF_EXPRESSION__REF = ExpressionsPackage.EXPRESSION_FEATURE_COUNT + 0;
+	int INT_LITERAL = 10;
 
 	/**
-	 * The number of structural features of the '<em>Var Ref Expression</em>' class.
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VAR_REF_EXPRESSION_FEATURE_COUNT = ExpressionsPackage.EXPRESSION_FEATURE_COUNT + 1;
+	int INT_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.VariableDefinitionImpl <em>Variable Definition</em>}' class.
+	 * The number of structural features of the '<em>Int Literal</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.yakindu.sct.model.sgen.impl.VariableDefinitionImpl
-	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getVariableDefinition()
 	 * @generated
+	 * @ordered
 	 */
-	int VARIABLE_DEFINITION = 10;
+	int INT_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.RealLiteralImpl <em>Real Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sgen.impl.RealLiteralImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getRealLiteral()
 	 * @generated
-	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__TYPE = TypesPackage.PROPERTY__TYPE;
+	int REAL_LITERAL = 11;
 
 	/**
-	 * The feature id for the '<em><b>Type Specifier</b></em>' containment reference.
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__TYPE_SPECIFIER = TypesPackage.PROPERTY__TYPE_SPECIFIER;
+	int REAL_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * The number of structural features of the '<em>Real Literal</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__NAME = TypesPackage.PROPERTY__NAME;
+	int REAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.StringLiteralImpl <em>String Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sgen.impl.StringLiteralImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getStringLiteral()
 	 * @generated
-	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__ID = TypesPackage.PROPERTY__ID;
+	int STRING_LITERAL = 12;
 
 	/**
-	 * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__ANNOTATIONS = TypesPackage.PROPERTY__ANNOTATIONS;
+	int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Const</b></em>' attribute.
+	 * The number of structural features of the '<em>String Literal</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__CONST = TypesPackage.PROPERTY__CONST;
+	int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl <em>Deprecatable Element</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl
+	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getDeprecatableElement()
 	 * @generated
-	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__READONLY = TypesPackage.PROPERTY__READONLY;
+	int DEPRECATABLE_ELEMENT = 13;
 
 	/**
-	 * The feature id for the '<em><b>External</b></em>' attribute.
+	 * The feature id for the '<em><b>Deprecated</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__EXTERNAL = TypesPackage.PROPERTY__EXTERNAL;
+	int DEPRECATABLE_ELEMENT__DEPRECATED = 0;
 
 	/**
-	 * The feature id for the '<em><b>Initial Value</b></em>' containment reference.
+	 * The feature id for the '<em><b>Comment</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION__INITIAL_VALUE = TypesPackage.PROPERTY_FEATURE_COUNT + 0;
+	int DEPRECATABLE_ELEMENT__COMMENT = 1;
 
 	/**
-	 * The number of structural features of the '<em>Variable Definition</em>' class.
+	 * The number of structural features of the '<em>Deprecatable Element</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE_DEFINITION_FEATURE_COUNT = TypesPackage.PROPERTY_FEATURE_COUNT + 1;
+	int DEPRECATABLE_ELEMENT_FEATURE_COUNT = 2;
 
 	/**
 	 * The meta object id for the '{@link org.yakindu.sct.model.sgen.ParameterTypes <em>Parameter Types</em>}' enum.
@@ -627,7 +619,7 @@ public interface SGenPackage extends EPackage {
 	 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getParameterTypes()
 	 * @generated
 	 */
-	int PARAMETER_TYPES = 11;
+	int PARAMETER_TYPES = 14;
 
 
 	/**
@@ -662,17 +654,6 @@ public interface SGenPackage extends EPackage {
 	 */
 	EAttribute getGeneratorModel_GeneratorId();
 
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.yakindu.sct.model.sgen.GeneratorModel#getVariables <em>Variables</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Variables</em>'.
-	 * @see org.yakindu.sct.model.sgen.GeneratorModel#getVariables()
-	 * @see #getGeneratorModel()
-	 * @generated
-	 */
-	EReference getGeneratorModel_Variables();
-
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.GeneratorConfiguration <em>Generator Configuration</em>}'.
 	 * <!-- begin-user-doc -->
@@ -931,78 +912,130 @@ public interface SGenPackage extends EPackage {
 	EAttribute getFeatureTypeLibrary_Name();
 
 	/**
-	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.DeprecatableElement <em>Deprecatable Element</em>}'.
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.Literal <em>Literal</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Deprecatable Element</em>'.
-	 * @see org.yakindu.sct.model.sgen.DeprecatableElement
+	 * @return the meta object for class '<em>Literal</em>'.
+	 * @see org.yakindu.sct.model.sgen.Literal
 	 * @generated
 	 */
-	EClass getDeprecatableElement();
+	EClass getLiteral();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.DeprecatableElement#isDeprecated <em>Deprecated</em>}'.
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.BoolLiteral <em>Bool Literal</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Deprecated</em>'.
-	 * @see org.yakindu.sct.model.sgen.DeprecatableElement#isDeprecated()
-	 * @see #getDeprecatableElement()
+	 * @return the meta object for class '<em>Bool Literal</em>'.
+	 * @see org.yakindu.sct.model.sgen.BoolLiteral
 	 * @generated
 	 */
-	EAttribute getDeprecatableElement_Deprecated();
+	EClass getBoolLiteral();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.DeprecatableElement#getComment <em>Comment</em>}'.
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.BoolLiteral#isValue <em>Value</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Comment</em>'.
-	 * @see org.yakindu.sct.model.sgen.DeprecatableElement#getComment()
-	 * @see #getDeprecatableElement()
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.yakindu.sct.model.sgen.BoolLiteral#isValue()
+	 * @see #getBoolLiteral()
 	 * @generated
 	 */
-	EAttribute getDeprecatableElement_Comment();
+	EAttribute getBoolLiteral_Value();
+
+	/**
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.IntLiteral <em>Int Literal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Int Literal</em>'.
+	 * @see org.yakindu.sct.model.sgen.IntLiteral
+	 * @generated
+	 */
+	EClass getIntLiteral();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.IntLiteral#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.yakindu.sct.model.sgen.IntLiteral#getValue()
+	 * @see #getIntLiteral()
+	 * @generated
+	 */
+	EAttribute getIntLiteral_Value();
 
 	/**
-	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.VarRefExpression <em>Var Ref Expression</em>}'.
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.RealLiteral <em>Real Literal</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Var Ref Expression</em>'.
-	 * @see org.yakindu.sct.model.sgen.VarRefExpression
+	 * @return the meta object for class '<em>Real Literal</em>'.
+	 * @see org.yakindu.sct.model.sgen.RealLiteral
 	 * @generated
 	 */
-	EClass getVarRefExpression();
+	EClass getRealLiteral();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.VarRefExpression#getRef <em>Ref</em>}'.
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.RealLiteral#getValue <em>Value</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Ref</em>'.
-	 * @see org.yakindu.sct.model.sgen.VarRefExpression#getRef()
-	 * @see #getVarRefExpression()
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.yakindu.sct.model.sgen.RealLiteral#getValue()
+	 * @see #getRealLiteral()
 	 * @generated
 	 */
-	EAttribute getVarRefExpression_Ref();
+	EAttribute getRealLiteral_Value();
 
 	/**
-	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.VariableDefinition <em>Variable Definition</em>}'.
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.StringLiteral <em>String Literal</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Variable Definition</em>'.
-	 * @see org.yakindu.sct.model.sgen.VariableDefinition
+	 * @return the meta object for class '<em>String Literal</em>'.
+	 * @see org.yakindu.sct.model.sgen.StringLiteral
 	 * @generated
 	 */
-	EClass getVariableDefinition();
+	EClass getStringLiteral();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.yakindu.sct.model.sgen.VariableDefinition#getInitialValue <em>Initial Value</em>}'.
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.StringLiteral#getValue <em>Value</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Initial Value</em>'.
-	 * @see org.yakindu.sct.model.sgen.VariableDefinition#getInitialValue()
-	 * @see #getVariableDefinition()
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.yakindu.sct.model.sgen.StringLiteral#getValue()
+	 * @see #getStringLiteral()
 	 * @generated
 	 */
-	EReference getVariableDefinition_InitialValue();
+	EAttribute getStringLiteral_Value();
+
+	/**
+	 * Returns the meta object for class '{@link org.yakindu.sct.model.sgen.DeprecatableElement <em>Deprecatable Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Deprecatable Element</em>'.
+	 * @see org.yakindu.sct.model.sgen.DeprecatableElement
+	 * @generated
+	 */
+	EClass getDeprecatableElement();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.DeprecatableElement#isDeprecated <em>Deprecated</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Deprecated</em>'.
+	 * @see org.yakindu.sct.model.sgen.DeprecatableElement#isDeprecated()
+	 * @see #getDeprecatableElement()
+	 * @generated
+	 */
+	EAttribute getDeprecatableElement_Deprecated();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.yakindu.sct.model.sgen.DeprecatableElement#getComment <em>Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Comment</em>'.
+	 * @see org.yakindu.sct.model.sgen.DeprecatableElement#getComment()
+	 * @see #getDeprecatableElement()
+	 * @generated
+	 */
+	EAttribute getDeprecatableElement_Comment();
 
 	/**
 	 * Returns the meta object for enum '{@link org.yakindu.sct.model.sgen.ParameterTypes <em>Parameter Types</em>}'.
@@ -1062,14 +1095,6 @@ public interface SGenPackage extends EPackage {
 		 */
 		EAttribute GENERATOR_MODEL__GENERATOR_ID = eINSTANCE.getGeneratorModel_GeneratorId();
 
-		/**
-		 * The meta object literal for the '<em><b>Variables</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GENERATOR_MODEL__VARIABLES = eINSTANCE.getGeneratorModel_Variables();
-
 		/**
 		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.GeneratorConfigurationImpl <em>Generator Configuration</em>}' class.
 		 * <!-- begin-user-doc -->
@@ -1277,66 +1302,112 @@ public interface SGenPackage extends EPackage {
 		EAttribute FEATURE_TYPE_LIBRARY__NAME = eINSTANCE.getFeatureTypeLibrary_Name();
 
 		/**
-		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl <em>Deprecatable Element</em>}' class.
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.LiteralImpl <em>Literal</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl
-		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getDeprecatableElement()
+		 * @see org.yakindu.sct.model.sgen.impl.LiteralImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getLiteral()
 		 * @generated
 		 */
-		EClass DEPRECATABLE_ELEMENT = eINSTANCE.getDeprecatableElement();
+		EClass LITERAL = eINSTANCE.getLiteral();
 
 		/**
-		 * The meta object literal for the '<em><b>Deprecated</b></em>' attribute feature.
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.BoolLiteralImpl <em>Bool Literal</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
+		 * @see org.yakindu.sct.model.sgen.impl.BoolLiteralImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getBoolLiteral()
 		 * @generated
 		 */
-		EAttribute DEPRECATABLE_ELEMENT__DEPRECATED = eINSTANCE.getDeprecatableElement_Deprecated();
+		EClass BOOL_LITERAL = eINSTANCE.getBoolLiteral();
 
 		/**
-		 * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute DEPRECATABLE_ELEMENT__COMMENT = eINSTANCE.getDeprecatableElement_Comment();
+		EAttribute BOOL_LITERAL__VALUE = eINSTANCE.getBoolLiteral_Value();
 
 		/**
-		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.VarRefExpressionImpl <em>Var Ref Expression</em>}' class.
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.IntLiteralImpl <em>Int Literal</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.yakindu.sct.model.sgen.impl.VarRefExpressionImpl
-		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getVarRefExpression()
+		 * @see org.yakindu.sct.model.sgen.impl.IntLiteralImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getIntLiteral()
 		 * @generated
 		 */
-		EClass VAR_REF_EXPRESSION = eINSTANCE.getVarRefExpression();
+		EClass INT_LITERAL = eINSTANCE.getIntLiteral();
 
 		/**
-		 * The meta object literal for the '<em><b>Ref</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute VAR_REF_EXPRESSION__REF = eINSTANCE.getVarRefExpression_Ref();
+		EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value();
 
 		/**
-		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.VariableDefinitionImpl <em>Variable Definition</em>}' class.
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.RealLiteralImpl <em>Real Literal</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.yakindu.sct.model.sgen.impl.VariableDefinitionImpl
-		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getVariableDefinition()
+		 * @see org.yakindu.sct.model.sgen.impl.RealLiteralImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getRealLiteral()
 		 * @generated
 		 */
-		EClass VARIABLE_DEFINITION = eINSTANCE.getVariableDefinition();
+		EClass REAL_LITERAL = eINSTANCE.getRealLiteral();
 
 		/**
-		 * The meta object literal for the '<em><b>Initial Value</b></em>' containment reference feature.
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference VARIABLE_DEFINITION__INITIAL_VALUE = eINSTANCE.getVariableDefinition_InitialValue();
+		EAttribute REAL_LITERAL__VALUE = eINSTANCE.getRealLiteral_Value();
+
+		/**
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.StringLiteralImpl <em>String Literal</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.yakindu.sct.model.sgen.impl.StringLiteralImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getStringLiteral()
+		 * @generated
+		 */
+		EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
+
+		/**
+		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl <em>Deprecatable Element</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.yakindu.sct.model.sgen.impl.DeprecatableElementImpl
+		 * @see org.yakindu.sct.model.sgen.impl.SGenPackageImpl#getDeprecatableElement()
+		 * @generated
+		 */
+		EClass DEPRECATABLE_ELEMENT = eINSTANCE.getDeprecatableElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Deprecated</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPRECATABLE_ELEMENT__DEPRECATED = eINSTANCE.getDeprecatableElement_Deprecated();
+
+		/**
+		 * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPRECATABLE_ELEMENT__COMMENT = eINSTANCE.getDeprecatableElement_Comment();
 
 		/**
 		 * The meta object literal for the '{@link org.yakindu.sct.model.sgen.ParameterTypes <em>Parameter Types</em>}' enum.

+ 57 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/StringLiteral.java

@@ -0,0 +1,57 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sgen.StringLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.yakindu.sct.model.sgen.SGenPackage#getStringLiteral()
+ * @model
+ * @generated
+ */
+public interface StringLiteral extends Literal {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.yakindu.sct.model.sgen.SGenPackage#getStringLiteral_Value()
+	 * @model
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.StringLiteral#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+} // StringLiteral

+ 0 - 50
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/VarRefExpression.java

@@ -1,50 +0,0 @@
-/**
- */
-package org.yakindu.sct.model.sgen;
-
-import org.yakindu.base.expressions.expressions.Expression;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Var Ref Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.yakindu.sct.model.sgen.VarRefExpression#getRef <em>Ref</em>}</li>
- * </ul>
- *
- * @see org.yakindu.sct.model.sgen.SGenPackage#getVarRefExpression()
- * @model
- * @generated
- */
-public interface VarRefExpression extends Expression {
-	/**
-	 * Returns the value of the '<em><b>Ref</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Ref</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Ref</em>' attribute.
-	 * @see #setRef(String)
-	 * @see org.yakindu.sct.model.sgen.SGenPackage#getVarRefExpression_Ref()
-	 * @model
-	 * @generated
-	 */
-	String getRef();
-
-	/**
-	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.VarRefExpression#getRef <em>Ref</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Ref</em>' attribute.
-	 * @see #getRef()
-	 * @generated
-	 */
-	void setRef(String value);
-
-} // VarRefExpression

+ 0 - 52
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/VariableDefinition.java

@@ -1,52 +0,0 @@
-/**
- */
-package org.yakindu.sct.model.sgen;
-
-import org.yakindu.base.expressions.expressions.Expression;
-
-import org.yakindu.base.types.Property;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Variable Definition</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.yakindu.sct.model.sgen.VariableDefinition#getInitialValue <em>Initial Value</em>}</li>
- * </ul>
- *
- * @see org.yakindu.sct.model.sgen.SGenPackage#getVariableDefinition()
- * @model
- * @generated
- */
-public interface VariableDefinition extends Property {
-	/**
-	 * Returns the value of the '<em><b>Initial Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Initial Value</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Initial Value</em>' containment reference.
-	 * @see #setInitialValue(Expression)
-	 * @see org.yakindu.sct.model.sgen.SGenPackage#getVariableDefinition_InitialValue()
-	 * @model containment="true"
-	 * @generated
-	 */
-	Expression getInitialValue();
-
-	/**
-	 * Sets the value of the '{@link org.yakindu.sct.model.sgen.VariableDefinition#getInitialValue <em>Initial Value</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Initial Value</em>' containment reference.
-	 * @see #getInitialValue()
-	 * @generated
-	 */
-	void setInitialValue(Expression value);
-
-} // VariableDefinition

+ 153 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/BoolLiteralImpl.java

@@ -0,0 +1,153 @@
+/** 
+ * Copyright (c) 2015 committers of YAKINDU and others. 
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0 
+ * which accompanies this distribution, and is available at 
+ * http://www.eclipse.org/legal/epl-v10.html 
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ *
+*/
+package org.yakindu.sct.model.sgen.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.yakindu.sct.model.sgen.BoolLiteral;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Bool Literal</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.yakindu.sct.model.sgen.impl.BoolLiteralImpl#isValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BoolLiteralImpl extends LiteralImpl implements BoolLiteral {
+	/**
+	 * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean VALUE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean value = VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoolLiteralImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return SGenPackage.Literals.BOOL_LITERAL;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(boolean newValue) {
+		boolean oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SGenPackage.BOOL_LITERAL__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case SGenPackage.BOOL_LITERAL__VALUE:
+				return isValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case SGenPackage.BOOL_LITERAL__VALUE:
+				setValue((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case SGenPackage.BOOL_LITERAL__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case SGenPackage.BOOL_LITERAL__VALUE:
+				return value != VALUE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public String toString() {
+		return String.valueOf(value);
+	}
+
+} // BoolLiteralImpl

+ 3 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/DeprecatableElementImpl.java

@@ -11,9 +11,12 @@
 package org.yakindu.sct.model.sgen.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.yakindu.sct.model.sgen.DeprecatableElement;
 import org.yakindu.sct.model.sgen.SGenPackage;
 

+ 0 - 0
plugins/org.yakindu.sct.model.sgen/src/org/yakindu/sct/model/sgen/impl/FeatureParameterValueImpl.java


Some files were not shown because too many files changed in this diff