[Avida-SVN] r3157 - in branches/interrupt: source/cpu source/main tests/interruptModel_quorumSensing tests/interruptModel_quorumSensing/expected tests/interruptModel_quorumSensing/expected/data

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Sun Feb 22 18:18:40 PST 2009


Author: beckma24
Date: 2009-02-22 21:18:40 -0500 (Sun, 22 Feb 2009)
New Revision: 3157

Added:
   branches/interrupt/tests/interruptModel_quorumSensing/expected/
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/average.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/count.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_average.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_compete.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_interrupt.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_repl.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_totalAvgEnergy.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/dominant.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/germline.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction_histogram.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/message.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/stats.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks_exe.dat
   branches/interrupt/tests/interruptModel_quorumSensing/expected/data/time.dat
Modified:
   branches/interrupt/source/cpu/cHardwareCPU.cc
   branches/interrupt/source/cpu/cHardwareCPU.h
   branches/interrupt/source/main/cOrganism.cc
   branches/interrupt/source/main/cOrganism.h
Log:
added msg-handler-type# instructions that denote the start of an interrupt handler for an active message

Modified: branches/interrupt/source/cpu/cHardwareCPU.cc
===================================================================
--- branches/interrupt/source/cpu/cHardwareCPU.cc	2009-02-23 01:41:35 UTC (rev 3156)
+++ branches/interrupt/source/cpu/cHardwareCPU.cc	2009-02-23 02:18:40 UTC (rev 3157)
@@ -120,6 +120,11 @@
 
 // push interrupt arguments into registers, i.e. MSG contents are placed in BX & CX, nothing for movement
 bool cLocalThread::initializeInterruptState(const cString& handlerHeadInstructionString) {
+	if(!interrupted) {
+		//Save current state
+		saveState();
+	}
+	
 	//Jump all heads 1 instruction passed msg-handler
 	cInstruction label_inst = hardware->GetInstSet().GetInst(handlerHeadInstructionString);
 	
@@ -143,34 +148,46 @@
 			for(int i = 0; i < NUM_HEADS; i++) {
 				hardware->GetHead(i,m_id).Set(search_head.GetPosition());
 			}
+			interrupted = true;
 			return true;
 		}
 		search_head++;
 	}
+	interrupted = false;
 	return false;
 }
 
 void cLocalThread::interruptContextSwitch(int interruptType) {
 	// note: movement interrupts cannot be blocked, just message interrupts
-	// note: movements within an interrupt handler do not cause another interrupt (REALLY?)
+	// note: movements within an interrupt handler does not cause another interrupt (REALLY?)
 	// note: interrupt handlers can be jumped into and out of
   // TODO: config arg to disallow jumping into and out of interrupt handler
 	
 	if(!interrupted && interruptType != cLocalThread::INTERRUPT_COMPLETE) { //normal -> interrupt
 		//Save current state
-		saveState();
-		interrupted = true;
+//		saveState();
+//		interrupted = true;
+
+		cString msgHandlerString;
 		
 		switch (interruptType) {
 			case cLocalThread::MSG_INTERRUPT:
-				if(initializeInterruptState("msg-handler")) {
+
+				int messageType = hardware->GetOrganism()->PeekRetrieveMessageType();
+				if(messageType == -1) {
+					msgHandlerString.Set("msg-handler");
+				} else {
+					msgHandlerString.Set("msg-handler-type%d", messageType);
+				}
+
+				if(initializeInterruptState(msgHandlerString)) {
 					hardware->IP().Retreat();
 					hardware->Inst_RetrieveMessage(m_world->GetDefaultContext());
 					hardware->IP().Advance();
 				}
 				break;
 			case cLocalThread::MOVE_INTERRUPT:
-				if(initializeInterruptState("moved_handler")) {
+				if(initializeInterruptState("moved-handler")) {
 					; // perform movement interrupt initialization here
 				}
 				break;
@@ -182,7 +199,16 @@
 	}
 	else if(interrupted && interruptType == cLocalThread::INTERRUPT_COMPLETE) { // currently interrupted	
 		if(hardware->GetOrganism()->NumQueuedMessages() > 0) { // more messages to process
-			if(initializeInterruptState("msg-handler")) {
+
+			cString msgHandlerString;
+			int messageType = hardware->GetOrganism()->PeekRetrieveMessageType();
+			if(messageType == -1) {
+				msgHandlerString.Set("msg-handler");
+			} else {
+				msgHandlerString.Set("msg-handler-type%d", messageType);
+			}
+			
+			if(initializeInterruptState(msgHandlerString)) {
 				hardware->IP().Retreat();
 				hardware->Inst_RetrieveMessage(m_world->GetDefaultContext());
 				hardware->IP().Advance();
@@ -635,6 +661,15 @@
 		
 		// Interrupt
     tInstLibEntry<tMethod>("msg-handler", &cHardwareCPU::Inst_MSG_Handler),
+		tInstLibEntry<tMethod>("msg-handler-type0", &cHardwareCPU::Inst_MSG_Handler_Type0),
+		tInstLibEntry<tMethod>("msg-handler-type1", &cHardwareCPU::Inst_MSG_Handler_Type1),
+		tInstLibEntry<tMethod>("msg-handler-type2", &cHardwareCPU::Inst_MSG_Handler_Type2),
+		tInstLibEntry<tMethod>("msg-handler-type3", &cHardwareCPU::Inst_MSG_Handler_Type3),
+		tInstLibEntry<tMethod>("msg-handler-type4", &cHardwareCPU::Inst_MSG_Handler_Type4),
+		tInstLibEntry<tMethod>("msg-handler-type5", &cHardwareCPU::Inst_MSG_Handler_Type5),
+		tInstLibEntry<tMethod>("msg-handler-type6", &cHardwareCPU::Inst_MSG_Handler_Type6),
+		tInstLibEntry<tMethod>("msg-handler-type7", &cHardwareCPU::Inst_MSG_Handler_Type7),
+		
     tInstLibEntry<tMethod>("moved-handler", &cHardwareCPU::Inst_Moved_Handler), // not well tested.
 		tInstLibEntry<tMethod>("end-handler", &cHardwareCPU::Inst_End_Handler),
 		
@@ -6187,6 +6222,46 @@
 	return moveInstructionHeadToInterruptEnd();
 }
 
+bool cHardwareCPU::Inst_MSG_Handler_Type0(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type1(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type2(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type3(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type4(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type5(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type6(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
+bool cHardwareCPU::Inst_MSG_Handler_Type7(cAvidaContext& ctx) {
+	m_advance_ip = false;
+	return moveInstructionHeadToInterruptEnd();
+}
+
 bool cHardwareCPU::Inst_Moved_Handler(cAvidaContext& ctx) {
 	m_advance_ip = false;
 	return moveInstructionHeadToInterruptEnd();

Modified: branches/interrupt/source/cpu/cHardwareCPU.h
===================================================================
--- branches/interrupt/source/cpu/cHardwareCPU.h	2009-02-23 01:41:35 UTC (rev 3156)
+++ branches/interrupt/source/cpu/cHardwareCPU.h	2009-02-23 02:18:40 UTC (rev 3157)
@@ -709,8 +709,16 @@
   bool Inst_Alarm_Label(cAvidaContext& ctx);
   bool Jump_To_Alarm_Label(int jump_label);
 
-  // interrupt		
+  // interrupt
 	bool Inst_MSG_Handler(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type0(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type1(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type2(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type3(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type4(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type5(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type6(cAvidaContext& ctx);
+	bool Inst_MSG_Handler_Type7(cAvidaContext& ctx);
 	bool Inst_Moved_Handler(cAvidaContext& ctx);
 	bool Inst_End_Handler(cAvidaContext& ctx);
 	bool moveInstructionHeadToInterruptEnd();

Modified: branches/interrupt/source/main/cOrganism.cc
===================================================================
--- branches/interrupt/source/main/cOrganism.cc	2009-02-23 01:41:35 UTC (rev 3156)
+++ branches/interrupt/source/main/cOrganism.cc	2009-02-23 02:18:40 UTC (rev 3157)
@@ -898,6 +898,25 @@
   }
 }
 
+int cOrganism::PeekRetrieveMessageType() {
+  InitMessaging();
+	
+  assert(m_msg->retrieve_index <= m_msg->received.size());
+	
+  // Return null if no new messages have been received
+  if (m_msg->retrieve_index == m_msg->received.size())
+		assert(false); // no message
+	
+	const cOrgMessage* msg;
+  if (m_world->GetConfig().ORGANISMS_REMEMBER_MESSAGES.Get()) {
+    // Return the type of next unretrieved message
+    msg = &m_msg->received.at(m_msg->retrieve_index);
+  } else {
+    // Not remembering messages, return the type from the front of the message queue.
+    msg = &m_msg->received.front();
+  }
+	return msg->GetMessageType();
+}
 
 void cOrganism::Move(cAvidaContext& ctx)
 {

Modified: branches/interrupt/source/main/cOrganism.h
===================================================================
--- branches/interrupt/source/main/cOrganism.h	2009-02-23 01:41:35 UTC (rev 3156)
+++ branches/interrupt/source/main/cOrganism.h	2009-02-23 02:18:40 UTC (rev 3157)
@@ -393,6 +393,8 @@
   void ReceiveMessage(cOrgMessage& msg);
   //! Called when this organism attempts to move a received message into its CPU.
   const cOrgMessage* RetrieveMessage();
+	//! Returns message type of next message that will can be retrieved
+	int PeekRetrieveMessageType();
   //! Returns the list of all messsages received by this organism.
   const message_list_type& GetReceivedMessages() { InitMessaging(); return m_msg->received; }
   //! Returns the list of all messages sent by this organism.

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/average.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/average.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/average.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,25 @@
+# Avida Average Data
+# Sun Feb 22 20:42:13 2009
+#  1: Update
+#  2: Merit
+#  3: Gestation Time
+#  4: Fitness
+#  5: Repro Rate?
+#  6: Size
+#  7: Copied Size
+#  8: Executed Size
+#  9: Abundance
+# 10: Proportion of organisms that gave birth in this update
+# 11: Proportion of Breed True Organisms
+# 12: Genotype Depth
+# 13: Generation
+# 14: Neutral Metric
+# 15: Lineage Label
+# 16: True Replication Rate (based on births/update, time-averaged)
+
+0 643387.096774 50.000000 0.709677 0.000000 50.000000 50.000000 50.000000 31.000000 1.000000 1.000000 0.000000 0.709677 0.218400 0.000000 0.000000 
+100 0 47.45 1 0 50.15 50.15 47.45 38.4615 0.682 0.682 0 20 0.662448 -1 0 
+200 0 37.05 1 0 50.15 50.15 37.05 45.4545 0.042 0.042 0 20 0.778223 -1 0 
+300 0 38.8168 0.987919 0 50.1579 50.1579 38.2105 39.5833 0.0484211 0.0484211 0 20 0.626699 -1 0 
+400 0 40.0975 0.996657 0 51.375 51.375 39.9025 40 0.055 0.055 0 20 1.33024 -1 0 
+500 45.0188 42.1491 0.988998 0 51.3636 51.3636 41.4618 39.2857 0.850909 0.850909 0 14.48 1.56921 -1 0 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/count.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/count.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/count.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,25 @@
+# Avida count data
+# Sun Feb 22 20:42:13 2009
+#  1: update
+#  2: number of insts executed this update
+#  3: number of organisms
+#  4: number of different genotypes
+#  5: number of different threshold genotypes
+#  6: number of different species
+#  7: number of different threshold species
+#  8: number of different lineages
+#  9: number of births in this update
+# 10: number of deaths in this update
+# 11: number of breed true
+# 12: number of breed true organisms?
+# 13: number of no-birth organisms
+# 14: number of single-threaded organisms
+# 15: number of multi-threaded organisms
+# 16: number of modified organisms
+
+0 1000 31 1 1 0 0 0 31 0 31 31 20 31 0 0 
+100 13868 500 13 3 0 0 0 341 821 341 500 257 500 0 0 
+200 0 500 11 3 0 0 0 21 501 21 500 250 500 0 0 
+300 0 475 12 2 0 0 0 23 478 23 475 243 475 0 0 
+400 0 400 10 3 0 0 0 22 402 22 400 207 400 0 0 
+500 13750 275 7 3 0 0 0 234 489 234 275 141 275 0 0 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_average.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_average.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_average.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,68 @@
+# Avida Average Deme Data
+# Sun Feb 22 20:42:13 2009
+#  1: Update
+#  2: Count
+#  3: Age
+#  4: Births
+#  5: Organisms
+#  6: Generation
+#  7: Births (at last replication)
+#  8: Organisms (at last replication)
+#  9: Merit
+# 10: Gestation Time
+# 11: Time Used (normalized by org fitness)
+# 12: Generations between current and last founders
+# 13: Events killed
+# 14: Attempts to kill event
+
+0 20 0.000000 0.550000 1.550000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 
+19 20 19 274.5 25 0 0 0 1 0 0 0 0 0 
+20 20 20 292 25 0 0 0 1 0 0 0 0 0 
+39 20 18 276 25 1.95 41.8713 10.735 1 5915.4 inf 0 0 0 
+40 20 19 291.95 25 1.95 43 11.0244 1 5915.4 inf 0 0 0 
+59 19 18 268.842 25 3.84211 53.0976 14.2111 1 5196.32 inf 0 0 0 
+60 19 19 291.947 25 3.84211 53.4768 14.3212 1 5196.32 inf 0 0 0 
+79 20 18 291.85 25 5.4 65.1599 15.716 1 4719.9 inf 0 0 0 
+80 20 19 291.85 25 5.4 65.6219 15.7711 1 4719.9 inf 0 0 0 
+99 20 18 277.6 25 7.15 66.9175 16.8471 1 4926 inf 0 0 0 
+100 20 19 293.55 25 7.15 66.9721 16.8924 1 4926 inf 0 0 0 
+119 20 18 260.45 25 8.3 74.8455 17.8007 1 7957.55 inf 0 0 0 
+120 20 19 281.7 25 8.3 75.191 17.8405 1 7957.55 inf 0 0 0 
+139 20 18 278.7 25 9.6 80.4125 18.4892 1 6826.2 inf 0 0 0 
+140 20 19 292.35 25 9.6 80.6481 18.5185 1 6826.2 inf 0 0 0 
+159 20 18 292.1 25 10.95 95.4467 19.2911 1 11771.7 inf 0 0 0 
+160 20 19 292.1 25 10.95 96.1284 19.3267 1 11771.7 inf 0 0 0 
+179 20 18 293.95 25 12.65 96.7556 19.8004 1 4277.8 inf 0 0 0 
+180 20 19 293.95 25 12.65 96.7849 19.8226 1 4277.8 inf 0 0 0 
+199 20 18 289.15 25 15.1 94.6662 19.9729 1 3708.1 inf 0 0 0 
+200 20 19 289.15 25 15.1 94.5659 19.98 1 3708.1 inf 0 0 0 
+219 20 18 290.9 25 16.6 95.1447 20.3108 1 5346.05 inf 0 0 0 
+220 20 19 290.9 25 16.6 95.1724 20.3267 1 5346.05 inf 0 0 0 
+239 20 18 293.2 25 18.3 93.4405 20.4119 1 3891.55 inf 0 0 0 
+240 20 19 293.2 25 18.3 93.3569 20.416 1 3891.55 inf 0 0 0 
+259 19 18 293.947 25 20.7368 89.9534 20.4776 1 2544.42 inf 0 0 0 
+260 19 19 293.947 25 20.7368 89.794 20.4803 1 2544.42 inf 0 0 0 
+279 19 18 292.316 25 22.6842 94.9644 20.6111 1 7742.11 inf 0 0 0 
+280 19 19 292.316 25 22.6842 95.2231 20.6173 1 7742.11 inf 0 0 0 
+299 19 18 291 25 23.2632 102.432 20.8078 1 12449.8 inf 0 0 0 
+300 19 19 291 25 23.2632 102.792 20.817 1 12449.8 inf 0 0 0 
+319 18 18 291.222 25 25.1111 102.278 20.8806 1 4843.11 inf 0 0 0 
+320 18 19 291.222 25 25.1111 102.265 20.8847 1 4843.11 inf 0 0 0 
+339 19 18 292.421 25 26.4211 106.651 21.0167 1 11487.3 inf 0 0 0 
+340 19 19 292.421 25 26.4211 106.874 21.0242 1 11487.3 inf 0 0 0 
+359 19 18 293.579 25 27.5789 107.613 21.0772 1 7309.37 inf 0 0 0 
+360 19 19 293.579 25 27.5789 107.655 21.081 1 7309.37 inf 0 0 0 
+379 18 18 293.222 25 29.6111 109.273 21.1833 1 7703.39 inf 0 0 0 
+380 18 19 293.222 25 29.6111 109.364 21.1892 1 7703.39 inf 0 0 0 
+399 16 18 291.25 25 32.375 107.498 21.1808 1 4446.69 inf 0 0 0 
+400 16 19 291.25 25 32.375 107.43 21.1824 1 4446.69 inf 0 0 0 
+419 14 18 292.214 25 35.3571 107.887 21.1298 1 6419.36 inf 0 0 0 
+420 14 19 292.214 25 35.3571 107.951 21.1304 1 6419.36 inf 0 0 0 
+439 13 18 289.769 25 37.6154 108.46 21.0181 1 6826 inf 0 0 0 
+440 13 19 289.769 25 37.6154 108.533 21.0184 1 6826 inf 0 0 0 
+459 15 18 290.933 25 39.0667 105.729 20.802 1 1996.07 inf 0 0 0 
+460 15 19 290.933 25 39.0667 105.615 20.7952 1 1996.07 inf 0 0 0 
+479 12 18 229.75 25 40.0833 106.095 20.7319 1 9206.17 inf 0 0 0 
+480 12 19 248.833 25 40.0833 106.178 20.7348 1 9206.17 inf 0 0 0 
+499 11 18 177.909 25 40.5455 104.886 20.53 1 6326.09 5.57649 0 0 0 
+500 11 19 197.182 25 40.5455 104.893 20.53 1 6326.09 5.57649 0 0 0 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_compete.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_compete.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_compete.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,31 @@
+# Avida compete demes data
+# Sun Feb 22 20:42:13 2009
+#  1: Update [update]
+#  2: Avg. deme fitness [avgfit]
+
+0 0.000000 
+20 1.00002 
+40 1.00002 
+60 1.00002 
+80 1.00002 
+100 1.00002 
+120 1.00003 
+140 1.00002 
+160 1.00002 
+180 1.00002 
+200 1.00002 
+220 1.00002 
+240 1.00002 
+260 1.00002 
+280 1.00002 
+300 1.00002 
+320 1.00002 
+340 1.00002 
+360 1.00002 
+380 1.00002 
+400 1.00002 
+420 1.00002 
+440 1.00001 
+460 1.00002 
+480 1.00008 
+500 1.00062 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_interrupt.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_interrupt.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_interrupt.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,11 @@
+# Interrupt model stats averaged over all demes
+# Assumes each organism only contains a single thread!
+# Sun Feb 22 20:42:24 2009
+#  1: Update
+#  2: Organisms interrupted per deme
+
+99 0.000000 
+199 0 
+299 0 
+399 0 
+499 0.1 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_repl.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_repl.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_repl.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,35 @@
+# Avida deme replication data
+# Sun Feb 22 20:42:13 2009
+#  1: Update [update]
+#  2: Number of deme replications [numrepl]
+#  3: Mean deme gestation time [gesttime]
+#  4: Mean number of births within replicated demes [numbirths]
+#  5: Mean heritable merit of replicated demes [merit]
+#  6: Mean generation of replicated demes [generation]
+
+0 0 0.000000 0.000000 0.000000 0.000000 
+20 16 15.75 218.875 1 0.4375 
+40 16 16.25 237.312 1 2.25 
+60 15 14.6667 214.733 1 4 
+80 16 15 218.812 1 5.625 
+100 15 17.3333 253.867 1 7.06667 
+120 15 17.3333 244.267 1 8.13333 
+140 13 20 291 1 9.76923 
+160 16 18.75 272.938 1 11.0625 
+180 16 12.5 183.938 1 13.6875 
+200 16 18.75 271.75 1 15.0625 
+220 16 15 218.375 1 16.8125 
+240 17 14.1176 206.176 1 19.0588 
+260 14 18.5714 273.429 1 21.2143 
+280 13 20 291.846 1 22.4615 
+300 16 15.375 217.938 1 24.0625 
+320 14 19.0714 271.071 1 25.5 
+340 15 16.4 235.733 1 26.6 
+360 15 17.8 253.6 1 28.2667 
+380 16 14.625 201.625 1 30.6875 
+400 14 14.7857 186.857 1 33.5714 
+420 14 14.9286 166.857 1 35.6429 
+440 16 13.125 163.5 1 37.125 
+460 13 13.5385 155.769 1 38.3077 
+480 14 15.1429 123.643 1 38.6429 
+500 14 14.5714 84.2857 1 39.8571 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_totalAvgEnergy.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_totalAvgEnergy.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/deme_totalAvgEnergy.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,31 @@
+# Average energy for demes in the population
+# Sun Feb 22 20:42:13 2009
+#  1: update
+#  2: Total Average Energy
+
+0 99509045.000000 
+20 1e+08 
+40 1e+08 
+60 1e+08 
+80 1e+08 
+100 1e+08 
+120 1e+08 
+140 1e+08 
+160 1e+08 
+180 1e+08 
+200 1e+08 
+220 1e+08 
+240 1e+08 
+260 1e+08 
+280 1e+08 
+300 1e+08 
+320 1e+08 
+340 1e+08 
+360 1e+08 
+380 1e+08 
+400 1e+08 
+420 1e+08 
+440 1e+08 
+460 1e+08 
+480 1e+08 
+500 1e+08 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/dominant.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/dominant.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/dominant.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,25 @@
+# Avida Dominant Data
+# Sun Feb 22 20:42:13 2009
+#  1: Update
+#  2: Average Merit of the Dominant Genotype
+#  3: Average Gestation Time of the Dominant Genotype
+#  4: Average Fitness of the Dominant Genotype
+#  5: Repro Rate?
+#  6: Size of Dominant Genotype
+#  7: Copied Size of Dominant Genotype
+#  8: Executed Size of Dominant Genotype
+#  9: Abundance of Dominant Genotype
+# 10: Number of Births
+# 11: Number of Dominant Breed True?
+# 12: Dominant Gene Depth
+# 13: Dominant Breed In
+# 14: Max Fitness?
+# 15: Genotype ID of Dominant Genotype
+# 16: Name of the Dominant Genotype
+
+0 497500.000000 50.000000 1.000000 0.020000 50 50.000000 50.000000 31 11 11 0 0 1.000000 1 050-aaaaa 
+100 10178.4 50 1 0.02 50 50 50 75 53 53 0 0 1 33 050-aaaaq 
+200 10463.9 25 1 0.04 50 50 25 125 0 0 0 0 1 87 050-aaacj 
+300 10119.8 52 1 0.0192308 52 52 52 100 0 0 0 0 1 125 052-aaaaf 
+400 10265.4 51.8509 0.993997 0.0193365 53 53 51.4581 125 0 0 0 0 1.06 168 053-aaaab 
+500 10955.4 25 1 0.04 50 50 25 75 66 66 0 0 1.06122 188 050-aaadv 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/germline.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/germline.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/germline.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,31 @@
+# Avida germline data
+# Sun Feb 22 20:42:13 2009
+#  1: Update [update]
+#  2: Mean germline generation of replicated germlines [replgen]
+
+0 0.000000 
+20 1.5 
+40 2.4375 
+60 3.06667 
+80 3.875 
+100 4.4 
+120 5.33333 
+140 5.69231 
+160 6.375 
+180 7.625 
+200 8.5 
+220 9.0625 
+240 9.94118 
+260 10.7857 
+280 11.3846 
+300 12.6875 
+320 13.2857 
+340 14.2 
+360 15.4 
+380 16.25 
+400 17.1429 
+420 17.4286 
+440 18.0625 
+460 18.5385 
+480 19.2857 
+500 19.5 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,20 @@
+# Avida instruction execution data
+# Sun Feb 22 20:42:13 2009
+#  1: Update
+#  2: nop-A
+#  3: nop-B
+#  4: nop-C
+#  5: nop-X
+#  6: repro
+#  7: send-msg
+#  8: msg-handler
+#  9: end-handler
+# 10: rotate-left-one
+# 11: rotate-right-one
+
+0 0 0 0 1078 22 0 0 0 0 0 
+100 275 175 25 22475 500 50 0 25 0 200 
+200 400 125 225 16800 500 225 0 0 150 100 
+300 125 175 349 16391 475 475 0 149 174 125 
+400 200 75 225 13901 400 425 125 188 300 200 
+500 175 25 100 9944 275 300 150 172 275 175 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction_histogram.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction_histogram.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/instruction_histogram.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,18 @@
+#  1: Update
+#  2: nop-A
+#  3: nop-B
+#  4: nop-C
+#  5: nop-X
+#  6: repro
+#  7: send-msg
+#  8: msg-handler
+#  9: end-handler
+# 10: rotate-left-one
+# 11: rotate-right-one
+
+0 0 0 0 1519 31 0 0 0 0 0 
+100 15 6 3 947 21 2 0 1 2 8 
+200 24 16 11 903 30 10 0 1 6 3 
+300 14 26 19 867 32 22 3 6 9 4 
+400 20 28 20 836 34 21 10 15 18 15 
+500 19 21 12 854 29 21 18 11 19 16 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/message.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/message.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/message.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,13 @@
+# Number of organsism to organisms messages
+
+#  1: update
+#  2: Totlal messages sent
+#  3: Sent successfully
+#  4: Dropped
+#  5: Failed
+
+99 687 658 0 29 
+199 3852 3681 0 171 
+299 7821 7457 0 364 
+399 6781 6484 0 297 
+499 2982 2772 0 210 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/stats.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/stats.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/stats.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,21 @@
+# Generic Statistics Data
+# Sun Feb 22 20:42:13 2009
+#  1: update
+#  2: average inferiority (energy)
+#  3: ave probability of any mutations in genome
+#  4: probability of any mutations in dom genome
+#  5: log(average fidelity)
+#  6: log(dominant fidelity)
+#  7: change in number of genotypes
+#  8: genotypic entropy
+#  9: species entropy
+# 10: depth of most reacent coalescence
+# 11: Total number of resamplings this generation
+# 12: Total number of organisms that failed to resample this generation
+
+0 0.342945 0.000000 0.000000 -0.000000 -0.000000 1 0.000000 0.000000 0 0 0 
+100 0 0 0 -0 -0 0 2.43204 0 0 0 0 
+200 0 0 0 -0 -0 0 2.22064 0 0 0 0 
+300 0.0121549 0 0 -0 -0 0 2.3332 0 0 0 0 
+400 -0.00267333 0 0 -0 -0 0 2.09635 0 0 0 0 
+500 0.0110634 0 0 -0 -0 0 1.79865 0 0 0 0 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,12 @@
+# Avida tasks data
+# Sun Feb 22 20:42:13 2009
+# First column gives the current update, next columns give the number
+# of organisms that have the particular task as a component of their merit
+#  1: Update
+
+0 
+100 
+200 
+300 
+400 
+500 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks_exe.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks_exe.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/tasks_exe.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,12 @@
+# Avida tasks execution data
+# Sun Feb 22 20:42:13 2009
+# First column gives the current update, all further columns give the number
+# of times the particular task has been executed this update.
+#  1: Update
+
+0 
+100 
+200 
+300 
+400 
+500 

Added: branches/interrupt/tests/interruptModel_quorumSensing/expected/data/time.dat
===================================================================
--- branches/interrupt/tests/interruptModel_quorumSensing/expected/data/time.dat	                        (rev 0)
+++ branches/interrupt/tests/interruptModel_quorumSensing/expected/data/time.dat	2009-02-23 02:18:40 UTC (rev 3157)
@@ -0,0 +1,13 @@
+# Avida time data
+# Sun Feb 22 20:42:13 2009
+#  1: update
+#  2: avida time
+#  3: average generation
+#  4: num_executed?
+
+0 0.000000 0.709677 1000 
+100 5.50895 20 13868 
+200 13.1872 20 0 
+300 19.2709 20 0 
+400 24.7262 20 0 
+500 27.6389 14.48 13750 




More information about the Avida-cvs mailing list