[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