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 gráfica de diagramación de bloques y un conjunto personalizable de bibliotecas de bloques . Ofrece una estrecha integración con el resto del entorno MATLAB y puede controlar MATLAB o programarse 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 estado 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 mejora la eficiencia y flexibilidad del código, este se adopta cada vez más para los sistemas de producción, [5] [6] además de ser una herramienta para el trabajo de diseño de sistemas integrados debido a su flexibilidad y capacidad de iteración rápida [ cita necesaria ] . Embedded Coder crea código lo suficientemente eficiente para su uso en sistemas integrados. [7] [8] [9]
Simulink Real-Time (anteriormente 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 usan con otros productos genéricos, [11] Simulink y Stateflow pueden generar automáticamente VHDL y Verilog sintetizables [ cita necesaria ] .
Simulink Verification and Validation permite la verificación y validación sistemática de modelos mediante la verificación del estilo de modelado, la trazabilidad de requisitos y el análisis de cobertura del modelo. Simulink Design Verifier utiliza métodos formales para identificar errores de diseño como desbordamiento de enteros , división por cero y lógica muerta, y genera escenarios de casos de prueba para la verificació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 de Simulink y para agregar un motor de simulación basado en eventos al motor de simulación basado en tiempo en Simulink. [12]