[Avida-SVN] r1574 - branches/uml/source/main

hjg at myxo.css.msu.edu hjg at myxo.css.msu.edu
Sat May 19 19:49:55 PDT 2007


Author: hjg
Date: 2007-05-19 22:49:55 -0400 (Sat, 19 May 2007)
New Revision: 1574

Modified:
   branches/uml/source/main/cOrganism.cc
   branches/uml/source/main/cOrganism.h
   branches/uml/source/main/cTaskLib.cc
   branches/uml/source/main/cUMLModel.cc
   branches/uml/source/main/cUMLStateDiagram.cc
Log:
Bug fix regarding ordering of models.


Modified: branches/uml/source/main/cOrganism.cc
===================================================================
--- branches/uml/source/main/cOrganism.cc	2007-05-20 01:48:33 UTC (rev 1573)
+++ branches/uml/source/main/cOrganism.cc	2007-05-20 02:49:55 UTC (rev 1574)
@@ -751,5 +751,42 @@
 	return val;
 }
 
+bool cOrganism::relativeJumpGuard(int amount)
+{ 
+	m_guard_index += amount; 
+	return true;
+}
+
+bool cOrganism::relativeJumpAction(int amount) 
+{ 
+	m_action_index += amount; 
+	return true;
+}
+
+bool cOrganism::relativeJumpTrigger(int amount) 
+{ 
+	m_trigger_index += amount; 
+	return true;
+}
   
+bool cOrganism::relativeJumpTransitionLabel(int amount) 
+{ 
+	m_trans_label_index += amount; 
+	return true;
+}
+
+bool cOrganism::relativeJumpOriginState(int amount) 
+{ 
+	m_orig_state_index += amount; 
+	return true;
+}
+
+bool cOrganism::relativeJumpDestinationState(int amount) 
+{ 
+	m_dest_state_index += amount; 
+	return true;
+}
+  
+  
+  
   
\ No newline at end of file

Modified: branches/uml/source/main/cOrganism.h
===================================================================
--- branches/uml/source/main/cOrganism.h	2007-05-20 01:48:33 UTC (rev 1573)
+++ branches/uml/source/main/cOrganism.h	2007-05-20 02:49:55 UTC (rev 1574)
@@ -324,12 +324,12 @@
   bool absoluteJumpDestinationState(int);
   bool absoluteJumpStateDiagram (int);
 
-  bool relativeJumpGuard(int amount) { m_guard_index += amount; return true;}
-  bool relativeJumpAction(int amount) { m_action_index += amount; return true;}
-  bool relativeJumpTrigger(int amount) { m_trigger_index += amount; return true;}
-  bool relativeJumpTransitionLabel(int amount) { m_trans_label_index += amount; return true;}
-  bool relativeJumpOriginState(int amount) { m_orig_state_index += amount; return true;}
-  bool relativeJumpDestinationState(int amount) { m_dest_state_index += amount; return true;}
+  bool relativeJumpGuard(int amount);
+  bool relativeJumpAction(int amount);
+  bool relativeJumpTrigger(int amount);
+  bool relativeJumpTransitionLabel(int amount);
+  bool relativeJumpOriginState(int amount);
+  bool relativeJumpDestinationState(int amount);
   bool relativeJumpStateDiagram (int); 
   
   bool addTransitionTotal();

Modified: branches/uml/source/main/cTaskLib.cc
===================================================================
--- branches/uml/source/main/cTaskLib.cc	2007-05-20 01:48:33 UTC (rev 1573)
+++ branches/uml/source/main/cTaskLib.cc	2007-05-20 02:49:55 UTC (rev 1574)
@@ -2645,8 +2645,8 @@
 double cTaskLib::Task_Trans1(cTaskContext& ctx) const
 {
 	double bonus = 0.0;
-//	if (ctx.organism->currTrans(0, -1, -1, -1, -1, "^TempSensor.getOpState()")) {		
-	if (ctx.organism->currTrans(0, -1, -1, -1, -1, 1)) {		
+//	if (ctx.organism->currTrans(1, -1, -1, -1, -1, "^TempSensor.getOpState()")) {		
+	if (ctx.organism->currTrans(1, -1, -1, -1, -1, 1)) {		
 
 
 		ctx.task_success_complete = 1;	
@@ -2661,7 +2661,7 @@
 {
 	double bonus = 0.0;
 //	if (ctx.organism->currTrans(0, -1, -1, "setTempOpState", -1, -1)) {		
-	if (ctx.organism->currTrans(0, -1, -1, 1, -1, -1)) {		
+	if (ctx.organism->currTrans(1, -1, -1, 1, -1, -1)) {		
 
 
 			ctx.task_success_complete += 1;	
@@ -2675,8 +2675,8 @@
 double cTaskLib::Task_Trans3(cTaskContext& ctx) const
 {
 	double bonus = 0.0;
-//	if (ctx.organism->currTrans(1, -1, -1, "getOpState", -1, -1)) {		
-	if (ctx.organism->currTrans(1, -1, -1, 1, -1, -1)) {		
+//	if (ctx.organism->currTrans(0, -1, -1, "getOpState", -1, -1)) {		
+	if (ctx.organism->currTrans(0, -1, -1, 1, -1, -1)) {		
 
 
 			bonus = 1.0;
@@ -2690,8 +2690,8 @@
 double cTaskLib::Task_Trans4(cTaskContext& ctx) const
 {
 	double bonus = 0.0;
-//	if (ctx.organism->currTrans(1, -1, -1, -1, -1, "op_state:=1")) {		
-	if (ctx.organism->currTrans(1, -1, -1, -1, -1, 3)) {		
+//	if (ctx.organism->currTrans(0, -1, -1, -1, -1, "op_state:=1")) {		
+	if (ctx.organism->currTrans(0, -1, -1, -1, -1, 3)) {		
 
 			ctx.task_success_complete += 1;	
 			bonus = 1.0;
@@ -2704,8 +2704,8 @@
 double cTaskLib::Task_Trans5(cTaskContext& ctx) const
 {
 	double bonus = 0.0;
-//	if (ctx.organism->currTrans(1, -1, -1, -1, -1, "^SoftwareSensor.setTempOpState(op_state)")) {		
-	if (ctx.organism->currTrans(1, -1, -1, -1, -1, 1)) {		
+//	if (ctx.organism->currTrans(0, -1, -1, -1, -1, "^SoftwareSensor.setTempOpState(op_state)")) {		
+	if (ctx.organism->currTrans(0, -1, -1, -1, -1, 1)) {		
 
 
 			ctx.task_success_complete += 1;	

Modified: branches/uml/source/main/cUMLModel.cc
===================================================================
--- branches/uml/source/main/cUMLModel.cc	2007-05-20 01:48:33 UTC (rev 1573)
+++ branches/uml/source/main/cUMLModel.cc	2007-05-20 02:49:55 UTC (rev 1574)
@@ -151,12 +151,17 @@
 	int s0_nt = getStateDiagram(0)->numTrans();
 	int s1_nt = getStateDiagram(1)->numTrans();
 
+	cUMLStateDiagram* temp_sense = getStateDiagram(0);
+	cUMLStateDiagram* soft_sense = getStateDiagram(1);
+
+
 	// Check if the model meets the sequence diagram
-	bonus += checkForSequenceDiagram1();
+//	bonus += checkForSequenceDiagram1();
 		
 		
 	// Check if the model can be correctly formalized
-	if (bonus >= 5.0) {
+//	if (bonus >= 5.0) {
+	if (temp_sense->findTrans(-1, -1, -1, -1, 1)) {
 		self_bonus["hydra_attempt"] = 1;
 		mod_bonus = formalizeModel();
 		self_bonus["hydra_pass"] = mod_bonus;		
@@ -174,15 +179,15 @@
 
 	// additional bonus for creating transitions...
 	if (s0_nt <= 2) { 
-		bonus += (s0_nt / 2);
+		bonus += (s0_nt / 4);
 	} else {
-		bonus += 1;
+		bonus += .5;
 	}
 	
 	if (s1_nt <= 2) { 
-		bonus += (s1_nt / 2);
+		bonus += (s1_nt / 4);
 	} else {
-		bonus += 1;
+		bonus += .5;
 	}
 	
 	
@@ -197,8 +202,8 @@
 	double temp_bonus = 0.0;
 
 	
-	cUMLStateDiagram* soft_sense = getStateDiagram(0);
-	cUMLStateDiagram* temp_sense = getStateDiagram(1);
+	cUMLStateDiagram* soft_sense = getStateDiagram(1);
+	cUMLStateDiagram* temp_sense = getStateDiagram(0);
 	
 	int nt = soft_sense->numTrans() + temp_sense->numTrans();
 /*	// reward if number of transitions is greater than 10

Modified: branches/uml/source/main/cUMLStateDiagram.cc
===================================================================
--- branches/uml/source/main/cUMLStateDiagram.cc	2007-05-20 01:48:33 UTC (rev 1573)
+++ branches/uml/source/main/cUMLStateDiagram.cc	2007-05-20 02:49:55 UTC (rev 1574)
@@ -313,6 +313,10 @@
 	} 
 
 	// Initialize the indices
+	if (o > 0 || d > 0) { 
+		 o = 0;
+	}
+		
 	absoluteMoveIndex(states, orig_state_index, o);
 	absoluteMoveIndex(states, dest_state_index, d);
 	absoluteMoveIndex(triggers, trigger_index, t);




More information about the Avida-cvs mailing list