Main Content

Using Custom Visualization for Entities

Overview

These examples show how you can create MATLAB®-based custom visualization for entities. The example illustrates the visualization of a restaurant layout with customer entities entering, dining, and leaving.

Structure of Model

The model contains the following major components:

  • The Resource Pool block models the tables in the restaurant. Since there are 10 tables in the restaurant, the resource amount is 10.

  • The Entity Generator block (Patron Enter) generates entities representing customers. They enter a waiting area, represented by a Resource Acquire. Here they wait for a free table.

  • When a table is available for a customer, he can move to the Entity Server block which models the duration of eating.

  • When the customer is done eating, he releases the table back to the pool and exits the restaurant.

modelname = 'seCustomVisualization';
open_system(modelname);

Visualizing the Restaurant

seRestaurantAnimator visualizes the restaurant as follows:

  • seRestaurantAnimator provides the visualization of the restaurant layout for the model.

  • It generates the figure containing the layout of a restaurant with an entrance, a waiting area, 10 dining tables, and an exit.

  • As entities move during the simulation, it creates a marker (glyph) for each entity in the figure and programs motion for the marker so that it appears to move from one point to another.

  • The animator assigns a table ID for each waiting customer and shows the customer moving to the table.

  • To inspect the attributes of the customer entity, pause the model and click on a customer entity glyph. The figure displays the TimeToDine attribute.

  • To make the motion appear continuous, it uses a MATLAB timer to periodically execute a function that incrementally moves each entity towards its destination.

  • It uses MATLAB graphics to display statistics on the figure about the number of entities entering, waiting, and leaving.

  • Clicking an entity in the visualization displays the attributes that it contains. It uses a MATLAB graphics callback to program a ButtonDownFcn on each entity marker.

animator = seRestaurantAnimator;

To simulate the model, enter:

  sim(modelname);

close(animator.getFigureHandle);
close_system(modelname);
clear modelname animator

See Also

| |

Related Topics