Feature Request - Plot Name Parameter

10 views
Skip to first unread message

Ian Darbey

unread,
Jun 30, 2022, 1:58:02 PM6/30/22
to simmer-devel
Hi,

I've a a fairly complex pathway with resources selected and seized/released using functions.

When I plot the trajectory as a result many of my select, seize and release functions just say select, seize or release and don't provide anything meaningful (even on hover it just shows [0] or similar). The plot function obviously doesn't know what is seized or released just that it's a function that does it.

Would it be possible to add a parameter to select, seize and release function families like plot.name or something similar that would allow me to define this is the seizing of X type of resource (given I've 50+ of each type being selected via function).

I appreciate this would likely require the simmer plot function to be updated also but it would be a massive improvement in this scenario (multiple similar resource 'types' and branching pathways).

Can't find a similar suggestion here or on GitHub so hoping to suggest here but it could be a lot of work to enable.

Thanks
Ian

Iñaki Ucar

unread,
Jul 1, 2022, 6:30:45 AM7/1/22
to simmer-devel
On Thu, 30 Jun 2022 at 19:58, Ian Darbey <iand...@gmail.com> wrote:
Hi,

I've a a fairly complex pathway with resources selected and seized/released using functions.

When I plot the trajectory as a result many of my select, seize and release functions just say select, seize or release and don't provide anything meaningful (even on hover it just shows [0] or similar). The plot function obviously doesn't know what is seized or released just that it's a function that does it.

The plot(<trajectory>) function has a verbose argument which helps a bit when set to TRUE, because it shows the activity parameters. But, yeap, identification gets complicated anyway when everything receives a function as an argument.
 
Would it be possible to add a parameter to select, seize and release function families like plot.name or something similar that would allow me to define this is the seizing of X type of resource (given I've 50+ of each type being selected via function).

I appreciate this would likely require the simmer plot function to be updated also but it would be a massive improvement in this scenario (multiple similar resource 'types' and branching pathways).

Here, we are considering a new feature to tag activities (there's a branch with an initial implementation; please, let us know there your feedback if you have the chance to try it). In principle, the goal is to be able to perform named rollbacks (instead of the current range-based ones). But this would also allow us to extend simmer.plot to show those tags, which would improve the identification (tracking here).

Iñaki
 
Can't find a similar suggestion here or on GitHub so hoping to suggest here but it could be a lot of work to enable.

Thanks
Ian

--
You received this message because you are subscribed to the Google Groups "simmer-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to simmer-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/simmer-devel/dabf1322-8c68-4513-8e5f-8ec8e3daae27n%40googlegroups.com.


--
Iñaki Úcar

Ian Darbey

unread,
Jul 1, 2022, 7:10:35 AM7/1/22
to simmer-devel
Well it would certainly make sense to make use of the tags for more than one reason and also encourage more distinct naming from the developer.

My preference would be this option (I think it's cleaner looking code);
trajectory() %>%
timeout(1) %>%
timeout(2, tag="foo") %>%
timeout(3) %>%
rollback("foo")


And my expected behavior in the case of duplicated tags along a trajectory is to work back up through the trajectory (i.e. back from current step in line with rollback intent) and find the most recent one along the path. There may be legitimate reasons why a tag name may be used more than once, thinking of branching and interlinked trajectories (like I'm building currently), over the course of a model. I think having the tag available to both the rollback and plotting function would mean that trajectories could be inspected visually as part of the process to check logic on rollback for people building complex trajectories.
Reply all
Reply to author
Forward
0 new messages