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

hjg at myxo.css.msu.edu hjg at myxo.css.msu.edu
Fri Jun 15 06:27:23 PDT 2007


Author: hjg
Date: 2007-06-15 09:27:23 -0400 (Fri, 15 Jun 2007)
New Revision: 1681

Modified:
   branches/uml/source/main/cOrganism.cc
   branches/uml/source/main/cTaskLib.cc
   branches/uml/source/main/cUMLModel.cc
Log:
Added support for property checking with new instruction set. 


Modified: branches/uml/source/main/cOrganism.cc
===================================================================
--- branches/uml/source/main/cOrganism.cc	2007-06-15 01:49:25 UTC (rev 1680)
+++ branches/uml/source/main/cOrganism.cc	2007-06-15 13:27:23 UTC (rev 1681)
@@ -88,7 +88,7 @@
   
   if (m_world->GetConfig().NET_ENABLED.Get()) m_net = new cNetSupport();
   m_id = m_world->GetStats().GetTotCreatures();
-  m_state_diag = 0;
+  m_state_diag = 1;
   m_orig_state_index = 0;
   m_dest_state_index = 0;
   m_trigger_index = 0;

Modified: branches/uml/source/main/cTaskLib.cc
===================================================================
--- branches/uml/source/main/cTaskLib.cc	2007-06-15 01:49:25 UTC (rev 1680)
+++ branches/uml/source/main/cTaskLib.cc	2007-06-15 13:27:23 UTC (rev 1681)
@@ -2661,7 +2661,10 @@
 //	if (ctx.organism->currTrans(1, -1, -1, -1, -1, "^TempSensor.getOpState()")) {		
 //	if (ctx.organism->currTrans(1, -1, -1, -1, -1, 1)) {		
 //	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(-1, -1, -1, -1, 1))
-	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(0, 1, 1, 2, 3))
+// tagaaa
+//	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(0, 1, 1, 2, 3))
+// temp sensor
+	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(0, 1, 0, 0, 0))
 	{
 
 
@@ -2679,7 +2682,10 @@
 //	if (ctx.organism->currTrans(0, -1, -1, "setTempOpState", -1, -1)) {		
 //	if (ctx.organism->currTrans(1, -1, -1, 1, -1, -1)) {		
 //	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(-1, -1, 1, -1, -1))
-	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(1, 2, 0, 0, 0))
+// tagaaa
+//	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(1, 2, 0, 0, 0))
+// temp sensor
+	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(1, 2, 0, 0, 2))
 	{
 
 
@@ -2697,7 +2703,10 @@
 //	if (ctx.organism->currTrans(0, -1, -1, "getOpState", -1, -1)) {		
 //	if (ctx.organism->currTrans(0, -1, -1, 1, -1, -1)) {		
 //	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(-1, -1, 1, -1, -1))
-	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(2, 3, 0, 3, 1))
+// tagaaa
+//	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(2, 3, 0, 3, 1))
+// temp sensor
+	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(2, 3, 2, 0, 0))
 	{
 
 
@@ -2715,7 +2724,10 @@
 //	if (ctx.organism->currTrans(0, -1, -1, -1, -1, "op_state:=1")) {		
 //	if (ctx.organism->currTrans(0, -1, -1, -1, -1, 3)) {		
 //	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(-1, -1, -1, -1, 3))
-	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(3, 4, 2, 1, 2))
+// tagaaa
+//	if (ctx.organism->getUMLModel()->getStateDiagram(0)->findTrans(3, 4, 2, 1, 2))
+// temp sensor
+	if (ctx.organism->getUMLModel()->getStateDiagram(1)->findTrans(3, 1, 0, 0, 0))
 	{
 
 			ctx.task_success_complete += 1;	
@@ -2874,11 +2886,11 @@
 	*/
 
 // Check for task success...	
-/*	if (ctx->task_failed == 0) {
+	if (ctx.task_success_complete < 4) {
 		return 0;
 	}	
 	
-*/
+
 	m_world->GetStats().HydraAttempt();
 
 	double bonus = 0.0;
@@ -2949,7 +2961,7 @@
 	} else {
 	//	ctx->task_failed = ctx->task_failed && 1;
 //		ctx.task_success_complete += 1;
-//		m_world->GetStats().HydraPassed();
+		m_world->GetStats().HydraPassed();
 //		organism->setBonusInfo("hydra", 1.0); 
 		return 1.0;
 	}
@@ -2969,7 +2981,7 @@
 	if(system("/usr/bin/gcc -DMEMLIM=512 pan.c -o pan &> /dev/null")!=0) return 0.0;
 	if(system("./pan -a &> ./pan.out")!=0) return 0.0;
 	if(system("cat pan.out | perl -e 'while(<STDIN>) { if(/errors:\\s(\\d+)/) {exit($1);}}'")!=0) return 0.0;
-	if(system("cat pan.out | perl -e 'while(<STDIN>) { if(/unreached/) {exit(1);}}'")!=0) return 0.0;
+//	if(system("cat pan.out | perl -e 'while(<STDIN>) { if(/unreached/) {exit(1);}}'")!=0) return 0.0;
 	
 	
 	std::ostringstream strstrm;
@@ -2994,14 +3006,14 @@
 */	
 	
 	// check if the trigger is present
-//	if (organism->getStateDiagram()->findTrans(-1,-1,1,"*","*")){
+	if (organism->getStateDiagram()->findTrans(-1,-1,1,-1,-1)){
 		temp += 1;
 		
 		// check property
 		if (ctx.task_success_complete) {
 			temp1 += SpinCoprocess(ctx, "N1");
 		} 
-//	}
+	}
 	
 //	organism->setBonusInfo("spinn1", temp1); 
 	return temp1;

Modified: branches/uml/source/main/cUMLModel.cc
===================================================================
--- branches/uml/source/main/cUMLModel.cc	2007-06-15 01:49:25 UTC (rev 1680)
+++ branches/uml/source/main/cUMLModel.cc	2007-06-15 13:27:23 UTC (rev 1681)
@@ -83,8 +83,9 @@
 void cUMLModel::seedDiagrams()
 {
   self_bonus.clear();
- 
- // Used for simple example - expr0
+
+/* 
+ // Used for simple example - tagaaa model
  cUMLStateDiagram* temp = getStateDiagram(0);
  temp->addTransitionLabel(1, 2, 3);
  temp->addTransitionLabel(0, 0, 0);
@@ -127,8 +128,10 @@
  temp1->addTransitionLabel(2, 0, 3);
  temp1->addTransitionLabel(2, 1, 0);
  temp1->addTransitionLabel(1, 1, 1); 
+ */
+ 
  // Used for Temperature Sensor / MultiSensor example.
-/*    
+
   // For the first state diagram... 
   // Software Sensor
   cUMLStateDiagram* soft_sense = getStateDiagram(1);
@@ -156,11 +159,6 @@
   soft_sense->addAction("^TempSensor.getTempData()");
   
   
-  // null trans Init state to Idle state
-//  soft_sense->absoluteJumpDestinationState(1);
-//  soft_sense->addTransitionTotal(0, 1, 0, 0, 0);
-  
-  
   // Temperature Sensor
   cUMLStateDiagram* temp_sense = getStateDiagram(0);
 
@@ -195,7 +193,7 @@
   temp_sense->addAction("data:=200");
   // action 7
   temp_sense->addAction("data:=300");
-*/  
+
   
   
 }
@@ -344,9 +342,9 @@
 	
 	xmi = xmi_begin; 
 	
-	xmi += xmi_class1;
-	xmi += state_diagrams[0].getXMI();
-	xmi += xmi_class2;
+//	xmi += xmi_class1;
+//	xmi += state_diagrams[0].getXMI();
+//	xmi += xmi_class2;
 	xmi += state_diagrams[1].getXMI();
 
 	xmi += xmi_end;




More information about the Avida-cvs mailing list