Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 327340

Summary: Trigger not initiating Inoculator Modifier
Product: [Technology] STEM Reporter: Traci Arthur-Hartranft <traci.arthur-hartranft>
Component: SimulationAssignee: Project Inbox <stem.simulation-inbox>
Status: CLOSED FIXED QA Contact: Stefan Edlund <sedlund>
Severity: normal    
Priority: P3 CC: sedlund, traci.arthur-hartranft
Version: unspecified   
Target Milestone: 1.1.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
the scenario with an Inoculator that should be triggered after 2 days is included
none
A test project inoculating 100 % of the population after 15 days none

Description Traci Arthur-Hartranft CLA 2010-10-08 10:21:34 EDT
Build Identifier: Using STEM Release 1.1.0 Sep202010

I've tied an ElapsedTimeTest Predicate to an Inoculator Modifier that changes the % Inoculated. I am trying to simulate a vaccination program after so many days have elapsed in a simulation. I was able to create an initial Inoculator via xml of 0% and am trying to change that to 5% on Day 7. Everything appears to be set up correctly and everything works until I add the Modifier. The run seems to just ignore it. I found Bug 291060 from last year that recognized you guys trying to make this work. Where does it stand? For now, I would be fine with choosing my implementation date as being representative of a single 5% transition to the R bin (don't need to worry about the inoculation happening over multiple days). 

Reproducible: Always

Steps to Reproduce:
1.Create a scenario with an Inoculator that has 0% of the population inoculated. 
2.Create an ElapsedTimeTest Predicate for x days
3.Create a Modifier for the Inoculator file to go from 0 to y%
4. Reference the Predicate and Modifier files in a Trigger file for the scenario
Comment 1 Stefan Edlund CLA 2010-10-08 13:11:23 EDT
Assigning to me.

I will try and reproduce. Also, it helps if you attach the problem scenario to this bug.
Comment 2 Traci Arthur-Hartranft CLA 2010-10-11 09:20:50 EDT
Created attachment 180599 [details]
the scenario with an Inoculator that should be triggered after 2 days is included 

Not certain the export worked correctly but hopefully this will help. I tried out inoculating with 5% from the very beginning without a trigger/modifier and that worked.
Comment 3 Stefan Edlund CLA 2010-10-12 18:35:24 EDT
This is fixed, decorateGraph() is now always called on the decorator after an attribute has been modified. For infectors/inoculators, this will reinfect/inoculate population members. So if you set the inoculation percentage to say 5 %, there will be a daily inoculation rate of 5 % applied whenever the predicate is true. 

For disease models, we don't want to call decorateGraph() again since this will cause new disease model labels to be created. However, I now check if there's already labels created in the disease model code and just return if that's the case.

Attached an example scenario where 100 % of the population is inoculated after 15 days in one region.
Comment 4 Stefan Edlund CLA 2010-10-12 18:36:34 EDT
Created attachment 180713 [details]
A test project inoculating 100 % of the population after 15 days
Comment 5 James Kaufman CLA 2011-07-18 21:42:38 EDT
Complete