Discrete-Event Simulation with Simulink

Simulate, test, and optimize complex processes and message-based communication

Discrete-event simulation with Simulink® provides capabilities for analyzing and optimizing event-driven communications and operations using hybrid system models, agent-based models, and state charts.

Within this integrated modeling and data analysis environment, you can:

  • Model process flows, perform capacity planning, and optimize supply chains for manufacturing and operations
  • Simulate event-driven processes such as mission plans with autonomous agents or the stages of a manufacturing process
  • Customize queues, routing algorithms, processing delays, and prioritization schemes
  • Analyze and optimize end-to-end latencies, throughput, packet loss, and other performance characteristics of communication networks
  • Design distributed control systems, hardware architectures, and sensor and communication networks for aerospace, automotive, and electronics applications
  • Simulate hybrid systems containing time-based, event-based, and agent-based components

“Convinced by the benefits of rapid prototyping using event-based simulation with SimEvents, we have decided to apply this same approach to validate new operational concepts on next-generation Earth observation spacecraft.”

Alexandre Cortier, Airbus Defence and Space

Using Simulink for Discrete-Event Simulation

Optimizing Process Flows and Logistics

Model, simulate, and analyze process flows to learn how to improve operations and mission plans.

Designing Distributed Systems

Build, analyze, and visualize system simulations and transactional-level models of system architectures.

Optimizing Process Flows and Logistics

Simulink and SimEvents help you understand resource requirements, timelines for complex large-scale operations and missions, and the effects of arbitrary events on plans.

Modeling Language for Operations or Logistics

You can model processes by creating entities or messages to create items of interest such as airplanes on a taxiway. Then use blocks for routing, delaying, replicating, and finding these items. The movement of the entities or messages throughout the model triggers events, which can then call functions that are executed. With these blocks, you can model everything from mining operations to highway traffic.

Model the Rate and Flow of Events Using Real-World Data

You can import real-world data to generate tasks and production orders as input to process simulations. With a few lines of MATLAB code, you can import data from virtually any format, including XML files, spreadsheets, and databases.

Customize Process Simulation Models with Algorithms for Key Operations

You can customize components of your process simulation without low-level programming by using blocks to model operations. You can also write MATLAB functions or use Stateflow charts to represent task-scheduling sequences, part routing and production recipes in process simulation models, and create custom blocks to add to your model. Your model uses the result of these custom blocks to dynamically change processing delays, priorities, and other key elements of the process.

Analyze and Visualize Resource Utilization and Latencies Within a Process Simulation

With SimEvents, you can perform simulation and data analysis in a single environment. You can simulate process flows and use built-in visualization capabilities to gain insight into resource requirements, bottlenecks, and latencies. In-model animation lets you examine model execution behavior during simulation. You can then customize simulation data analysis and visualization in MATLAB.

Optimize Operations

Make a process more efficient and effective, such as reducing unnecessary resource allocations or producing production schedules, through simulation combined with optimization. Built-in MATLAB algorithms can optimize over Simulink parameter values and use parallel simulation. You can use the genetic algorithm and the surrogate optimizer from Global Optimization Toolbox to optimize over discrete integer values.

Designing Distributed Systems

SimEvents, together with MATLAB, Simulink, and Stateflow, provides a graphical environment for building transaction-level models of distributed control systems, communication systems, networks, and systems-on-chips (SoCs). Transaction-level models help you evaluate architecture designs based on performance characteristics such as end-to-end latencies, throughput, and packet loss.


Send, receive, and forward messages from Simulink that carry data to communicate between components. Messages are queued until the receiver can process them. View the lifeline of messages in the Sequence Viewer block.

Build Communication Models for Performance Analysis

SimEvents provides the flexibility to model buffers, processors, communication buses, and other components at the high level of abstraction required for system performance analysis.

Analyze and Visualize System Simulation Results

You can use a single set of tools for simulation and data analysis. You can also simulate the architecture model and use built-in visualization capabilities to gain insight into buffer length, processor utilization, end-to-end latency, and other performance characteristics. With in-model animation, you can examine model execution behavior during simulation. With MATLAB, you can customize analysis and visualization of simulation data during and after simulation.

Generate Traffic Patterns Based on Real-World Data

You can import real-world data to generate realistic traffic patterns as input to transaction-level models of system architectures. With a few lines of MATLAB code, you can import data from virtually any format, including XML files, spreadsheets, and databases.