Simulink es un entorno de programación gráfica basado en MATLAB para modelar, simular y analizar sistemas dinámicos multidominio . Su interfaz principal es una herramienta de diagramación de bloques gráfica y un conjunto personalizable de bibliotecas de bloques . Ofrece una integración estrecha con el resto del entorno de MATLAB y puede controlar MATLAB o ejecutarse desde él. Simulink se utiliza ampliamente en control automático y procesamiento de señales digitales para simulación multidominio y diseño basado en modelos . [2] [3]
MathWorks y otros productos de hardware y software de terceros se pueden utilizar con Simulink. Por ejemplo, Stateflow amplía Simulink con un entorno de diseño para desarrollar máquinas de estados y diagramas de flujo .
MathWorks afirma que, junto con otro de sus productos, [4] Simulink puede generar automáticamente código fuente C para la implementación de sistemas en tiempo real . A medida que la eficiencia y la flexibilidad del código mejoran, esto se está adoptando más ampliamente para sistemas de producción, [5] [6] además de ser una herramienta para el trabajo de diseño de sistemas embebidos debido a su flexibilidad y capacidad de iteración rápida [ cita requerida ] . Embedded Coder crea código lo suficientemente eficiente para su uso en sistemas embebidos. [7] [8] [9]
Simulink Real-Time (antes conocido como xPC Target), junto con los sistemas en tiempo real basados en x86, es un entorno para simular y probar modelos de Simulink y Stateflow en tiempo real en el sistema físico. Otro producto de MathWorks [10] también admite objetivos integrados específicos. Cuando se utilizan con otros productos genéricos, [11] Simulink y Stateflow pueden generar automáticamente VHDL y Verilog sintetizables [ cita requerida ] .
Simulink Verification and Validation permite la verificación y validación sistemática de modelos a través de la comprobación del estilo de modelado, la trazabilidad de requisitos y el análisis de la cobertura del modelo. Simulink Design Verifier utiliza métodos formales para identificar errores de diseño como desbordamiento de números enteros , división por cero y lógica muerta, y genera escenarios de casos de prueba para la comprobación de modelos dentro del entorno de Simulink.
SimEvents se utiliza para agregar una biblioteca de bloques de construcción gráficos para modelar sistemas de colas al entorno Simulink, y para agregar un motor de simulación basado en eventos al motor de simulación basado en tiempo en Simulink. [12]