Browse Source

Added support for operations in C++ generator. Refactoring of C++ SCT Unit generator.

markus.muehlbrandt@gmail.com 11 years ago
parent
commit
27933f4f17
27 changed files with 225 additions and 187 deletions
  1. 45 9
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/Naming.xtend
  2. 31 47
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineHeader.xtend
  3. 7 2
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineImplementation.xtend
  4. 2 2
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/AlwaysOncycleTest/AlwaysOncycleTest.cc
  5. 11 11
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/AssignmentAsExpressionTest/AssignmentAsExpressionTest.cc
  6. 8 8
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/BitExpressionsTest/BitExpressionsTest.cc
  7. 7 7
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/BooleanExpressionsTest/BooleanExpressionsTest.cc
  8. 7 7
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ChoiceTest/ChoiceTest.cc
  9. 2 2
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ConditionalExpressionTest/ConditionalExpressionTest.cc
  10. 7 7
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntryTest.cc
  11. 10 10
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/EntryExitSelfTransitionTest/EntryExitSelfTransitionTest.cc
  12. 6 6
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ExitOnSelfTransitionTest/ExitOnSelfTransitionTest.cc
  13. 10 10
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/GuardedEntryTest/GuardedEntryTest.cc
  14. 4 4
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/GuardedExitTest/GuardedExitTest.cc
  15. 2 2
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/InEventLifeCycleTest/InEventLifeCycleTest.cc
  16. 19 19
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/IntegerExpressionsTest/IntegerExpressionsTest.cc
  17. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LocalReactionsTest/LocalReactionsTest.cc
  18. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LogicalAndTestsTest/LogicalAndTestsTest.cc
  19. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LogicalOrTestsTest/LogicalOrTestsTest.cc
  20. 4 4
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/NamedInterfaceAccessTest/NamedInterfaceAccessTest.cc
  21. 4 4
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/OutEventLifeCycleTest/OutEventLifeCycleTest.cc
  22. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ParenthesisTest/ParenthesisTest.cc
  23. 2 2
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/StatechartLocalReactionsTest/StatechartLocalReactionsTest.cc
  24. 18 18
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/StringExpressionsTest/StringExpressionsTest.cc
  25. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/SyncJoinTest/SyncJoinTest.cc
  26. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ValuedEventsTest/ValuedEventsTest.cc
  27. 13 0
      test-plugins/org.yakindu.sct.generator.cpp.test/model/Copy of test.sgen

+ 45 - 9
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/Naming.xtend

@@ -10,16 +10,19 @@
 package org.yakindu.sct.generator.cpp
 
 import com.google.inject.Inject
+import org.yakindu.base.types.Parameter
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sexec.TimeEvent
+import org.yakindu.sct.model.sexec.naming.INamingService
 import org.yakindu.sct.model.sgraph.Event
 import org.yakindu.sct.model.stext.stext.EventDefinition
 import org.yakindu.sct.model.stext.stext.InterfaceScope
 import org.yakindu.sct.model.stext.stext.InternalScope
 import org.yakindu.sct.model.stext.stext.OperationDefinition
+import org.yakindu.sct.model.stext.stext.StatechartScope
 import org.yakindu.sct.model.stext.stext.VariableDefinition
-import org.yakindu.sct.model.sexec.naming.INamingService
+import org.yakindu.sct.model.sgraph.Scope
 
 class Naming extends org.yakindu.sct.generator.c.Naming {
 	
@@ -61,31 +64,64 @@ class Naming extends org.yakindu.sct.generator.c.Naming {
 		'timeEvents'
 	}
 	
+	def protected signature(OperationDefinition it)
+	'''
+		«type.targetLanguageName» «name.asEscapedIdentifier»(«FOR parameter : parameters SEPARATOR ', '»«parameter.type.targetLanguageName» «parameter.identifier»«ENDFOR»)'''
+		
+	def protected OCB_InterfaceSetter(StatechartScope scope) '''
+		void set«scope.interfaceOCBName»(«scope.interfaceOCBName»* operationCallback)'''
+	
+	def protected identifier(Parameter parameter) {
+		if (parameter.name.isKeyword) {
+			return parameter.name + "Arg"
+		}
+		else {
+			parameter.name
+		}
+	}
+	
 	override dispatch instance(InternalScope it) {
 		'iface' + interfaceName.asIdentifier.toFirstUpper	
 	}
 	
+	def OCB_Instance(Scope it) {
+		it.instance + "_OCB"
+	}
+	
 	def dispatch String getInterfaceName(InterfaceScope it) {  
 		if (name != null) {
-			return "SCI" + name.toFirstUpper()
+			return "SCI_" + name.toFirstUpper()
 		}
 		else {
-			return "SCInterface";
+			return "DefaultSCI";
 		}
 	}
 	
 	def dispatch String getInterfaceName(InternalScope it) {  
-		"InternalSCIScope"
+		"InternalSCI"
 	}
 	
-	def String getInterfaceOperationCallbackName(InterfaceScope it) {
-		interfaceName + "OperationCallback"
+	def dispatch String getSimpleName(InterfaceScope it) {  
+		if (name != null) {
+			return name
+		}
+		else {
+			return "default";
+		}
+	}
+	
+	def dispatch String getSimpleName(InternalScope it) {  
+		"internal"
 	}
 	
-	def String getInternalOperationCallbackName() {
-		"InternalOperationCallback"
+	def String getInterfaceOCBName(StatechartScope it) {
+		interfaceName + "_OCB"
 	}
 	
+//	def String getInternalOperationCallbackName() {
+//		"InternalOCB"
+//	}
+	
 	override asFunction(OperationDefinition it) {
 		name.asIdentifier.toFirstLower	
 	}
@@ -119,7 +155,7 @@ class Naming extends org.yakindu.sct.generator.c.Naming {
 	}
 	
 	override dispatch access (OperationDefinition it) 
-		'''«asFunction»'''
+		'''«scope.OCB_Instance»->«asFunction»'''
 		
 	override dispatch access(TimeEvent it)
 		'''«timeEventsInstance»[«indexOf»]'''

+ 31 - 47
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineHeader.xtend

@@ -11,12 +11,16 @@
 package org.yakindu.sct.generator.cpp
 
 import com.google.inject.Inject
+import java.util.List
+import org.eclipse.xtend2.lib.StringConcatenation
 import org.eclipse.xtext.generator.IFileSystemAccess
-import org.yakindu.base.types.Parameter
 import org.yakindu.sct.generator.c.GenmodelEntries
 import org.yakindu.sct.generator.c.Statemachine
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
+import org.yakindu.sct.model.sexec.Check
 import org.yakindu.sct.model.sexec.ExecutionFlow
+import org.yakindu.sct.model.sexec.Step
+import org.yakindu.sct.model.sexec.naming.INamingService
 import org.yakindu.sct.model.sgen.GeneratorEntry
 import org.yakindu.sct.model.sgraph.Scope
 import org.yakindu.sct.model.sgraph.Statechart
@@ -24,13 +28,8 @@ import org.yakindu.sct.model.stext.stext.Direction
 import org.yakindu.sct.model.stext.stext.EventDefinition
 import org.yakindu.sct.model.stext.stext.InterfaceScope
 import org.yakindu.sct.model.stext.stext.InternalScope
-import org.yakindu.sct.model.stext.stext.OperationDefinition
-import org.yakindu.sct.model.stext.stext.VariableDefinition
-import java.util.List
-import org.yakindu.sct.model.sexec.Step
-import org.yakindu.sct.model.sexec.Check
 import org.yakindu.sct.model.stext.stext.StatechartScope
-import org.yakindu.sct.model.sexec.naming.INamingService
+import org.yakindu.sct.model.stext.stext.VariableDefinition
 
 class StatemachineHeader extends Statemachine {
 	
@@ -69,7 +68,7 @@ class StatemachineHeader extends Statemachine {
 				
 				«statesEnumDecl»
 				
-				«FOR s : it.scopes»«s.createScope()»«ENDFOR»
+				«FOR s : it.scopes»«s.createPublicScope()»«ENDFOR»
 				
 				«publicFunctionPrototypes»
 				
@@ -101,19 +100,20 @@ class StatemachineHeader extends Statemachine {
 		return interfaces;
 	}
 	
-	def protected createScope(Scope scope) {
+	def protected createPublicScope(Scope scope) {
 		switch scope {
-			InterfaceScope: scope.createScope()
+			InterfaceScope: scope.createPublicScope()
 			InternalScope: scope.createPublicScope
 		}
 	}
 	
-	def protected createScope(InterfaceScope scope)
+	def protected createPublicScope(InterfaceScope scope)
 	'''
 		«scope.createInterface()»
 «««		«scope.createListenerInterface(entry)»
-		«scope.createOperationCallbackInterface»
+		«scope.createOCBInterface»
 		
+		/*! Returns an instance of the interface class '«scope.interfaceName»'. */
 		«scope.interfaceName»* get«scope.interfaceName»();
 		
 		«IF scope.defaultInterface»
@@ -123,9 +123,15 @@ class StatemachineHeader extends Statemachine {
 		«ENDIF»
 	'''
 	
+	def protected createPublicScope(InternalScope scope) {
+		'''
+			«scope.createOCBInterface»
+		'''
+	}
+	
 	def protected createInterface(StatechartScope scope)
 	'''
-		//! Inner class for «scope.interfaceName» interface scope.
+		//! Inner class for «scope.simpleName» interface scope.
 		class «scope.interfaceName» {
 			
 			public:
@@ -141,46 +147,23 @@ class StatemachineHeader extends Statemachine {
 		};
 	'''
 	
-	def protected createPublicScope(InternalScope scope) {
-		'''
-		«IF scope.hasOperations()»
-			class «internalOperationCallbackName» {
-				«FOR operation : scope.operations»
-					virtual «operation.asFunction»() = 0;
-				«ENDFOR»
-			}
-			
-			void set«internalOperationCallbackName»(«internalOperationCallbackName»* operationCallback);
-		«ENDIF»
-		'''
-	}
-	
-	def createOperationCallbackInterface(InterfaceScope scope) {
+	def createOCBInterface(StatechartScope scope) {
 		'''
+		
 		«IF scope.hasOperations»
+			//! Inner class for «scope.simpleName» interface scope operation callbacks.
+			class «scope.interfaceOCBName» {
+				public:
+					«FOR operation : scope.operations SEPARATOR StringConcatenation.DEFAULT_LINE_DELIMITER»
+						virtual «operation.signature» = 0;
+					«ENDFOR»
+			};
 			
-			public interface «scope.getInterfaceOperationCallbackName()» {
-			«FOR operation : scope.operations»
-				virtual «operation.signature» = 0;
-			«ENDFOR»
-			}
+			/*! Set the working instance of the operation callback interface '«scope.interfaceOCBName»'. */
+			«scope.OCB_InterfaceSetter»;
 		«ENDIF»
 		'''
 	}
-	
-	def protected signature(OperationDefinition it)
-	'''
-		«type.targetLanguageName» «name.asEscapedIdentifier»(«FOR parameter : parameters SEPARATOR ', '»«parameter.type.targetLanguageName» «parameter.identifier»«ENDFOR»)
-	'''
-	
-	def protected identifier(Parameter parameter) {
-		if (parameter.name.isKeyword) {
-			return parameter.name + "Arg"
-		}
-		else {
-			parameter.name
-		}
-	}
 
 	override statemachineTypeDecl(ExecutionFlow it) '''
 		//! the maximum number of orthogonal states defines the dimension of the state configuration vector.
@@ -201,6 +184,7 @@ class StatemachineHeader extends Statemachine {
 		
 		«FOR s : scopes.filter(typeof(StatechartScope))»
 			«s.interfaceName»* «s.instance»;
+			«IF s.hasOperations»«s.interfaceOCBName»* «s.OCB_Instance»«ENDIF»
 		«ENDFOR»
 	'''
 	

+ 7 - 2
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineImplementation.xtend

@@ -308,12 +308,17 @@ class StatemachineImplementation {
 					
 					«IF scope.defaultInterface»
 						void «module»::«variable.asSetter»(«variable.type.targetLanguageName» value) {
-						«variable.access» = value;
+							«variable.access» = value;
 						}
 						
 					«ENDIF»
 				«ENDIF»
-			«ENDFOR»
+			«ENDFOR»
+			«IF scope.hasOperations»
+				void «module»::«scope.OCB_InterfaceSetter» {
+					«scope.OCB_Instance» = operationCallback;
+				}
+			«ENDIF»
 		«ENDFOR»
 	'''
 	

+ 2 - 2
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/AlwaysOncycleTest/AlwaysOncycleTest.cc

@@ -17,13 +17,13 @@ TEST(StatemachineTest, alwaysOncycleTest) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(AlwaysOncycle::StateA));
-	while (statechart->getSCInterface()->get_value()< 5) {
+	while (statechart->getDefaultSCI()->get_value()< 5) {
 		statechart->runCycle();
 		EXPECT_TRUE(statechart->isActive(AlwaysOncycle::StateA));
 	}
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AlwaysOncycle::StateB));
-	while (statechart->getSCInterface()->get_value()< 5) {
+	while (statechart->getDefaultSCI()->get_value()< 5) {
 		statechart->runCycle();
 		EXPECT_TRUE(statechart->isActive(AlwaysOncycle::StateB));
 	}

+ 11 - 11
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/AssignmentAsExpressionTest/AssignmentAsExpressionTest.cc

@@ -17,33 +17,33 @@ TEST(StatemachineTest, simpleAssignment) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Add));
-	EXPECT_TRUE(statechart->getSCInterface()->get_b()== 5);
-	EXPECT_TRUE(statechart->getSCInterface()->get_a()== 9);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_b()== 5);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_a()== 9);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Subtract));
-	EXPECT_TRUE(statechart->getSCInterface()->get_d()== 6);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_d()== 6);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Multiply));
-	EXPECT_TRUE(statechart->getSCInterface()->get_e()== 15);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_e()== 15);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Divide));
-	EXPECT_TRUE(statechart->getSCInterface()->get_g()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_g()== 1);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Modulo));
-	EXPECT_TRUE(statechart->getSCInterface()->get_i()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_i()== 1);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::Shift));
-	EXPECT_TRUE(statechart->getSCInterface()->get_j()== 16);
-	EXPECT_TRUE(statechart->getSCInterface()->get_k()== 4);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_j()== 16);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_k()== 4);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::boolean_And));
-	EXPECT_TRUE(statechart->getSCInterface()->get_l()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_l()== 1);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::boolean_Or));
-	EXPECT_TRUE(statechart->getSCInterface()->get_p()== 15);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_p()== 15);
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(AssignmentAsExpression::boolean_Xor));
-	EXPECT_TRUE(statechart->getSCInterface()->get_u()== 12);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_u()== 12);
 	statechart->exit();
 	delete statechart;
 }

+ 8 - 8
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/BitExpressionsTest/BitExpressionsTest.cc

@@ -17,16 +17,16 @@ TEST(StatemachineTest, BitExpressions) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(BitExpressions::StateA));
-	EXPECT_TRUE(statechart->getSCInterface()->get_myBit1()== 5);
-	EXPECT_TRUE(statechart->getSCInterface()->get_myBit2()== 7);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myBit1()== 5);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myBit2()== 7);
 	statechart->raise_e1();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(BitExpressions::StateB));
-	EXPECT_TRUE(statechart->getSCInterface()->get_leftBitshift()== 10);
-	EXPECT_TRUE(statechart->getSCInterface()->get_rightBitshift()== 2);
-	EXPECT_TRUE(statechart->getSCInterface()->get_complementBitshift()== - 6 );
-	EXPECT_TRUE(statechart->getSCInterface()->get_bitwiseAnd()== 5);
-	EXPECT_TRUE(statechart->getSCInterface()->get_bitwiseOr()== 7);
-	EXPECT_TRUE(statechart->getSCInterface()->get_bitwiseXor()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_leftBitshift()== 10);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_rightBitshift()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_complementBitshift()== - 6 );
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_bitwiseAnd()== 5);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_bitwiseOr()== 7);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_bitwiseXor()== 2);
 	delete statechart;
 }

+ 7 - 7
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/BooleanExpressionsTest/BooleanExpressionsTest.cc

@@ -17,15 +17,15 @@ TEST(StatemachineTest, booleanExpressions) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(BooleanExpressions::StateA));
-	EXPECT_TRUE(statechart->getSCInterface()->get_myBool1()== true);
-	EXPECT_TRUE(statechart->getSCInterface()->get_myBool2()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myBool1()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myBool2()== false);
 	statechart->raise_e1();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(BooleanExpressions::StateB));
-	EXPECT_TRUE(statechart->getSCInterface()->get_and()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_or()== true);
-	EXPECT_TRUE(statechart->getSCInterface()->get_not()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_equal()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_notequal()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_and()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_or()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_not()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_equal()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_notequal()== true);
 	delete statechart;
 }

+ 7 - 7
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ChoiceTest/ChoiceTest.cc

@@ -17,7 +17,7 @@ TEST(StatemachineTest, elseChoiceUsingNonDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(true);
+	statechart->getDefaultSCI()->set_c(true);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::C));
@@ -28,7 +28,7 @@ TEST(StatemachineTest, elseChoiceUsingDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(false);
+	statechart->getDefaultSCI()->set_c(false);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::B));
@@ -39,7 +39,7 @@ TEST(StatemachineTest, defaultChoiceUsingNonDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(true);
+	statechart->getDefaultSCI()->set_c(true);
 	statechart->raise_g();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::C));
@@ -50,7 +50,7 @@ TEST(StatemachineTest, defaultChoiceUsingDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(false);
+	statechart->getDefaultSCI()->set_c(false);
 	statechart->raise_g();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::B));
@@ -61,7 +61,7 @@ TEST(StatemachineTest, uncheckedChoiceUsingNonDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(true);
+	statechart->getDefaultSCI()->set_c(true);
 	statechart->raise_f();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::C));
@@ -72,7 +72,7 @@ TEST(StatemachineTest, uncheckedChoiceUsingDefaultTransition) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(false);
+	statechart->getDefaultSCI()->set_c(false);
 	statechart->raise_f();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::B));
@@ -83,7 +83,7 @@ TEST(StatemachineTest, alwaysTrueTransitionInChoice) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Choice::A));
-	statechart->getSCInterface()->set_c(true);
+	statechart->getDefaultSCI()->set_c(true);
 	statechart->raise_h();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(Choice::C));

+ 2 - 2
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ConditionalExpressionTest/ConditionalExpressionTest.cc

@@ -17,10 +17,10 @@ TEST(StatemachineTest, ConditionalExpressionTest) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(ConditionalExpressions::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_condition()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_condition()== 1);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(ConditionalExpressions::B));
-	EXPECT_TRUE(statechart->getSCInterface()->get_condition()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_condition()== 2);
 	delete statechart;
 }

+ 7 - 7
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntryTest.cc

@@ -15,13 +15,13 @@
 TEST(StatemachineTest, enterToSubstate) {
 	DeepEntry* statechart = new DeepEntry();
 	statechart->init();
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 0);
-	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 0);
-	EXPECT_TRUE(statechart->getSCInterface()->get_z()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_y()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_z()== 0);
 	statechart->enter();
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 1);
-	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 1);
-	EXPECT_TRUE(statechart->getSCInterface()->get_z()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_y()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_z()== 2);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(DeepEntry::BB));
@@ -31,6 +31,6 @@ TEST(StatemachineTest, enterToSubstate) {
 	statechart->raise_f();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(DeepEntry::BB));
-	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_y()== 1);
 	delete statechart;
 }

+ 10 - 10
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/EntryExitSelfTransitionTest/EntryExitSelfTransitionTest.cc

@@ -17,13 +17,13 @@ TEST(StatemachineTest, SelfTransitionToChildState) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entries()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entries()== 1);
 	EXPECT_TRUE(statechart->isActive(EntryExitSelfTransition::B));
-	statechart->getSCInterface()->set_entries(0);
+	statechart->getDefaultSCI()->set_entries(0);
 	statechart->raise_e();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entries()== 1);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exits()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entries()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exits()== 1);
 	EXPECT_TRUE(statechart->isActive(EntryExitSelfTransition::C));
 	delete statechart;
 }
@@ -32,17 +32,17 @@ TEST(StatemachineTest, SelfTransitionFromChildState) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entries()== 1);
-	statechart->getSCInterface()->set_entries(0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entries()== 1);
+	statechart->getDefaultSCI()->set_entries(0);
 	statechart->raise_e1();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entries()== 0);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exits()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entries()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exits()== 0);
 	EXPECT_TRUE(statechart->isActive(EntryExitSelfTransition::C));
 	statechart->raise_e1();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(EntryExitSelfTransition::B));
-	EXPECT_TRUE(statechart->getSCInterface()->get_entries()== 1);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exits()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entries()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exits()== 1);
 	delete statechart;
 }

+ 6 - 6
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ExitOnSelfTransitionTest/ExitOnSelfTransitionTest.cc

@@ -17,15 +17,15 @@ TEST(StatemachineTest, ExitOnSelfTransitionTest) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(ExitOnSelfTransition::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_entryCount()== 1);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exitCount()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entryCount()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exitCount()== 0);
 	statechart->raise_e();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entryCount()== 2);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exitCount()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entryCount()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exitCount()== 1);
 	statechart->raise_f();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_entryCount()== 2);
-	EXPECT_TRUE(statechart->getSCInterface()->get_exitCount()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_entryCount()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_exitCount()== 2);
 	delete statechart;
 }

+ 10 - 10
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/GuardedEntryTest/GuardedEntryTest.cc

@@ -15,19 +15,19 @@
 TEST(StatemachineTest, EntryNotTakenOnStatechartEnter) {
 	GuardedEntry* statechart = new GuardedEntry();
 	statechart->init();
-	EXPECT_TRUE(statechart->getSCInterface()->get_guard()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guard()== false);
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_done()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_done()== false);
 	delete statechart;
 }
 TEST(StatemachineTest, EntryTakenOnStatechartEnter) {
 	GuardedEntry* statechart = new GuardedEntry();
 	statechart->init();
-	statechart->getSCInterface()->set_guard(true);
+	statechart->getDefaultSCI()->set_guard(true);
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_done()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_done()== true);
 	delete statechart;
 }
 TEST(StatemachineTest, EntryTakenInTransition) {
@@ -38,12 +38,12 @@ TEST(StatemachineTest, EntryTakenInTransition) {
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::B));
-	statechart->getSCInterface()->set_guard(true);
-	statechart->getSCInterface()->set_done(false);
+	statechart->getDefaultSCI()->set_guard(true);
+	statechart->getDefaultSCI()->set_done(false);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_done());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_done());
 	delete statechart;
 }
 TEST(StatemachineTest, EntryNotTakenInTransition) {
@@ -54,11 +54,11 @@ TEST(StatemachineTest, EntryNotTakenInTransition) {
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::B));
-	statechart->getSCInterface()->set_guard(false);
-	statechart->getSCInterface()->set_done(false);
+	statechart->getDefaultSCI()->set_guard(false);
+	statechart->getDefaultSCI()->set_done(false);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedEntry::A));
-	EXPECT_TRUE(!statechart->getSCInterface()->get_done());
+	EXPECT_TRUE(!statechart->getDefaultSCI()->get_done());
 	delete statechart;
 }

+ 4 - 4
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/GuardedExitTest/GuardedExitTest.cc

@@ -17,11 +17,11 @@ TEST(StatemachineTest, ExitTaken) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(GuardedExit::A));
-	EXPECT_TRUE(!statechart->getSCInterface()->get_guard());
+	EXPECT_TRUE(!statechart->getDefaultSCI()->get_guard());
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedExit::B));
-	EXPECT_TRUE(!statechart->getSCInterface()->get_done());
+	EXPECT_TRUE(!statechart->getDefaultSCI()->get_done());
 	delete statechart;
 }
 TEST(StatemachineTest, ExitNotTaken) {
@@ -29,10 +29,10 @@ TEST(StatemachineTest, ExitNotTaken) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(GuardedExit::A));
-	statechart->getSCInterface()->set_guard(true);
+	statechart->getDefaultSCI()->set_guard(true);
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(GuardedExit::B));
-	EXPECT_TRUE(statechart->getSCInterface()->get_done());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_done());
 	delete statechart;
 }

+ 2 - 2
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/InEventLifeCycleTest/InEventLifeCycleTest.cc

@@ -17,8 +17,8 @@ TEST(StatemachineTest, eventLifeCycle) {
 	statechart->init();
 	statechart->enter();
 	statechart->raise_e();
-	EXPECT_TRUE(statechart->getSCInterface()->get_i()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_i()== 0);
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_i()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_i()== 1);
 	delete statechart;
 }

+ 19 - 19
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/IntegerExpressionsTest/IntegerExpressionsTest.cc

@@ -17,26 +17,26 @@ TEST(StatemachineTest, integerExpressions) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(IntegerExpressions::StateA));
-	EXPECT_TRUE(statechart->getSCInterface()->get_myInt1()== 10);
-	EXPECT_TRUE(statechart->getSCInterface()->get_myInt2()== 5);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myInt1()== 10);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myInt2()== 5);
 	statechart->raise_e1();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_less()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_greater()== true);
-	EXPECT_TRUE(statechart->getSCInterface()->get_equalOrLess()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_equalOrGreater()== true);
-	EXPECT_TRUE(statechart->getSCInterface()->get_equal()== false);
-	EXPECT_TRUE(statechart->getSCInterface()->get_notEqual()== true);
-	EXPECT_TRUE(statechart->getSCInterface()->get_plus()== 15);
-	EXPECT_TRUE(statechart->getSCInterface()->get_minus()== 5);
-	EXPECT_TRUE(statechart->getSCInterface()->get_multiply()== 50);
-	EXPECT_TRUE(statechart->getSCInterface()->get_division()== 2);
-	EXPECT_TRUE(statechart->getSCInterface()->get_modulo()== 0);
-	EXPECT_TRUE(statechart->getSCInterface()->get_negat()== - 10 );
-	EXPECT_TRUE(statechart->getSCInterface()->get_multiAssign()== 20);
-	EXPECT_TRUE(statechart->getSCInterface()->get_divAssign()== 2);
-	EXPECT_TRUE(statechart->getSCInterface()->get_plusAssign()== 12);
-	EXPECT_TRUE(statechart->getSCInterface()->get_minusAssign()== - 8 );
-	EXPECT_TRUE(statechart->getSCInterface()->get_moduloAssign()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_less()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_greater()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_equalOrLess()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_equalOrGreater()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_equal()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_notEqual()== true);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_plus()== 15);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_minus()== 5);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_multiply()== 50);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_division()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_modulo()== 0);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_negat()== - 10 );
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_multiAssign()== 20);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_divAssign()== 2);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_plusAssign()== 12);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_minusAssign()== - 8 );
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_moduloAssign()== 0);
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LocalReactionsTest/LocalReactionsTest.cc

@@ -18,6 +18,6 @@ TEST(StatemachineTest, LocalReactionsTest) {
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(LocalReactions::A));
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 1);
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LogicalAndTestsTest/LogicalAndTestsTest.cc

@@ -17,6 +17,6 @@ TEST(StatemachineTest, operandEvaluationOrder) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 4 && statechart->getSCInterface()->get_b()) << "logical and expression was executed in wrong order..." ;
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 4 && statechart->getDefaultSCI()->get_b()) << "logical and expression was executed in wrong order..." ;
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/LogicalOrTestsTest/LogicalOrTestsTest.cc

@@ -17,6 +17,6 @@ TEST(StatemachineTest, operandEvaluationOrder) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 4 && statechart->getSCInterface()->get_b()) << "logical or expression was executed in wrong order..." ;
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 4 && statechart->getDefaultSCI()->get_b()) << "logical or expression was executed in wrong order..." ;
 	delete statechart;
 }

+ 4 - 4
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/NamedInterfaceAccessTest/NamedInterfaceAccessTest.cc

@@ -17,12 +17,12 @@ TEST(StatemachineTest, SafeOpenSuccess) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	statechart->getSCIUser()->raise_numberPressed(3);
+	statechart->getSCI_User()->raise_numberPressed(3);
 	statechart->runCycle();
-	statechart->getSCIUser()->raise_numberPressed(7);
+	statechart->getSCI_User()->raise_numberPressed(7);
 	statechart->runCycle();
-	statechart->getSCIUser()->raise_numberPressed(5);
+	statechart->getSCI_User()->raise_numberPressed(5);
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCISafe()->isRaised_open());
+	EXPECT_TRUE(statechart->getSCI_Safe()->isRaised_open());
 	delete statechart;
 }

+ 4 - 4
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/OutEventLifeCycleTest/OutEventLifeCycleTest.cc

@@ -18,7 +18,7 @@ TEST(StatemachineTest, availableAfterCycle) {
 	statechart->enter();
 	statechart->raise_e();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->isRaised_f());
+	EXPECT_TRUE(statechart->getDefaultSCI()->isRaised_f());
 	delete statechart;
 }
 TEST(StatemachineTest, availableWithinCycle) {
@@ -27,7 +27,7 @@ TEST(StatemachineTest, availableWithinCycle) {
 	statechart->enter();
 	statechart->raise_e();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->getSCInterface()->get_f_available_in_cycle());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_f_available_in_cycle());
 	delete statechart;
 }
 TEST(StatemachineTest, unvailableWithin2ndCycle) {
@@ -37,7 +37,7 @@ TEST(StatemachineTest, unvailableWithin2ndCycle) {
 	statechart->raise_e();
 	statechart->runCycle();
 	statechart->runCycle();
-	EXPECT_TRUE(!statechart->getSCInterface()->get_f_available_in_next_cycle());
+	EXPECT_TRUE(!statechart->getDefaultSCI()->get_f_available_in_next_cycle());
 	delete statechart;
 }
 TEST(StatemachineTest, unvailableAfter2ndCycle) {
@@ -47,6 +47,6 @@ TEST(StatemachineTest, unvailableAfter2ndCycle) {
 	statechart->raise_e();
 	statechart->runCycle();
 	statechart->runCycle();
-	EXPECT_TRUE(!statechart->getSCInterface()->isRaised_f());
+	EXPECT_TRUE(!statechart->getDefaultSCI()->isRaised_f());
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ParenthesisTest/ParenthesisTest.cc

@@ -17,6 +17,6 @@ TEST(StatemachineTest, simple) {
 	statechart->init();
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(Parenthesis::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_erg()== 8);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_erg()== 8);
 	delete statechart;
 }

+ 2 - 2
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/StatechartLocalReactionsTest/StatechartLocalReactionsTest.cc

@@ -18,9 +18,9 @@ TEST(StatemachineTest, statechartLocalReactionsTest) {
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(StatechartLocalReactions::S1));
 	EXPECT_TRUE(statechart->isActive(StatechartLocalReactions::a));
-	while (statechart->getSCInterface()->get_myInt()< 10) {
+	while (statechart->getDefaultSCI()->get_myInt()< 10) {
 		EXPECT_TRUE(statechart->isActive(StatechartLocalReactions::a));
-		if (statechart->getSCInterface()->get_myInt()%2== 0) {
+		if (statechart->getDefaultSCI()->get_myInt()%2== 0) {
 					EXPECT_TRUE(statechart->isActive(StatechartLocalReactions::S1));
 				  }
 				else {

+ 18 - 18
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/StringExpressionsTest/StringExpressionsTest.cc

@@ -15,37 +15,37 @@
 TEST(StatemachineTest, StringExpressionsTest) {
 	StringExpressions* statechart = new StringExpressions();
 	statechart->init();
-	EXPECT_TRUE(strcmp(statechart->getSCInterface()->get_quotedStringX(), "\"X\"") == 0);
-	EXPECT_TRUE(strcmp(statechart->getSCInterface()->get_quotedStringY(), "\"Y\"") == 0);
+	EXPECT_TRUE(strcmp(statechart->getDefaultSCI()->get_quotedStringX(), "\"X\"") == 0);
+	EXPECT_TRUE(strcmp(statechart->getDefaultSCI()->get_quotedStringY(), "\"Y\"") == 0);
 	statechart->enter();
 	EXPECT_TRUE(statechart->isActive(StringExpressions::AssignmentChecked));
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(StringExpressions::VarToVarCompareSucceeded));
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringNotEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarNotEqual());
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(StringExpressions::VarToConstCompareSucceeded));
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringNotEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarNotEqual());
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(StringExpressions::ConstToVarCompareSucceeded));
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringNotEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarNotEqual());
 	statechart->raise_e();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(StringExpressions::ConstToConstCompareSucceeded));
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_guardStringNotEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarEqual());
-	EXPECT_TRUE(statechart->getSCInterface()->get_stringVarNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_guardStringNotEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarEqual());
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_stringVarNotEqual());
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/SyncJoinTest/SyncJoinTest.cc

@@ -95,6 +95,6 @@ TEST(StatemachineTest, doubleEntryActionBug) {
 	statechart->raise_jd();
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(SyncJoin::A));
-	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 1);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 1);
 	delete statechart;
 }

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ValuedEventsTest/ValuedEventsTest.cc

@@ -19,6 +19,6 @@ TEST(StatemachineTest, valuedEventsTest) {
 	statechart->runCycle();
 	EXPECT_TRUE(statechart->isActive(ValuedEvents::A));
 	EXPECT_TRUE(statechart->isActive(ValuedEvents::C));
-	EXPECT_TRUE(statechart->getSCInterface()->get_myVar()== 42);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myVar()== 42);
 	delete statechart;
 }

+ 13 - 0
test-plugins/org.yakindu.sct.generator.cpp.test/model/Copy of test.sgen

@@ -0,0 +1,13 @@
+GeneratorModel for sctunit::cpp {
+test NamedInterfaceAccess{
+		
+		feature Outlet{ 
+			targetProject = "org.yakindu.sct.generator.cpp.test" 
+			targetFolder = "test-gen"			
+		}		
+		
+		feature JUnitWrapper {
+			WrapToJUnit =  "true"
+		}			
+	}		
+}