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)
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.

Answers (1)

Abdolkarim Mohammadi
Abdolkarim Mohammadi on 19 Oct 2020
Edited: Abdolkarim Mohammadi 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
Abdolkarim Mohammadi on 20 Oct 2020
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.

Categories

Find more on Discrete-Event Simulation in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!