BAS blocking not working with logger in between
Brought to you by:
danieledipompeo,
g_serazzi
In JSIM, if a logger exists between two queues, then the BAS blocking policy is not working.
In fact the logger is acting as an infinite queue, accepting all the incoing parts an make the blocking mechanism of the downstream queue useless.
Anonymous
Thank you for raising this. Unfortunately the solution is not straightforward, the BAS policy in JMT is a "protocol" that talks between two neightboring queues, so we don't have at the moment an obvious way to have a 3-party conversation in it that includes the loggers. Plus, in principle there may be multiple other nodes in between such as Routers and ClassSwitch nodes. We will reason about this further but it is difficult to see at the moment a quick solution. We are very grateful for your helpful feedback.
Last edit: Giuliano Casale 2021-02-26
Thank you Giuliano. The complexity of the issue is clear. Nevertheless this poses many limitations, in fact it is not possible to get logs of what is happening in a system, e.g., when a part is actually entering in service or exiting from a station. Thank you for your reply.
One test that I don't think we have tried before and perhaps could help is the following. You put the logger and the destination queue inside a finite capacity region and then set the region to the same buffer limit of the queue. This may technically work but needs testing.
Hi Marcello, sorry for the delay in answering. Yes, you are right. When between two queues (the second use BAS blocking) there is a logger there is a problem. The jobs are blocked at the logger but are not decreased when are released. I may suggest you to use simply the CSV files obtained automatically flagging the StatRes in the performance indices window of the "throughput" of Queue1. You have the same data of the logger 2 without using the logger.
Ciao
Ticket moved from /p/jmt/bugs/109/