MATLAB Answers

Hi everyone, How do I call functions in simevents for selected queues to halt entities blocking them from departing whenever entities with specific attributes are injected into the system (by a deliberate event).

1 view (last 30 days)
Mohd Kamaruzzaman
Mohd Kamaruzzaman on 19 Oct 2020
The above situation that I would like to develop is sort of a testing function to the modeled system and how it should react to the anomalies induced in the line.
  1. Let's say I have several queues in line; A, B, C, D, and E. Upon entering queue A, functions or whatever proper techniques would make D and E temporarily withhold any entities that they are having in concurrent. The output port for D and E will be temporarily closed. However A, B and C will operate as usual. Once the special attributed entities emerge from A, an entity server will bin and terminate them, reverting the entire operations back to normal with each queue able to process entities without blockage and the temporary halt functions are lifted. Of course there would be servers placed between queues in order to authorize progression from a queue to another.
  2. I am expecting that clearance time for normal entities from A to E would be delayed due to this deliberate inducement of 'entities with special attributes'.
Please help me to suggest appropriate flow or codings for me to use in my simevents model.
Thanks guys.

  0 Comments

Sign in to comment.

Answers (1)

Abdolkarim Mohammadi-Balani
Edited: Abdolkarim Mohammadi-Balani on 19 Oct 2020
I think you must implement this complex system with MATLAB Discrete-Event System (MDES) only, since you need to iterate over queues and manipulate entities based on special events. Normal SimEvents blocks only include one storage or queue, and therefore, cannot operate on each other's queues easily. MDES is ultimately flexible for such complex systems.

  2 Comments

Abdolkarim Mohammadi-Balani
As far as I unerstand your problem, in a basic system, you need three storages/queues in your MDES. The first one serves entities in normal conditions. The second one acts as a temporary storage when the failure event is triggerred. The third one receives failure entities. The general workflow is as follows. When the failure entity is entered into the third storage, you define an Entry event for this storage so that it flushes the entities that currently reside in the first storage into the second storage. You can then return the entities back to the first storage or destroy them when another failure event happens or whatever.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!