3.3 El Formalismo DEVS (Discrete Event System Specification)

El formalismo DEVS es una metodología modular y jerárquica que permite modelar y analizar sistemas representables como sistemas de eventos discretos, continuos o híbridos. Desarrollado por Bernard P. Zeigler en la década de 1970, este enfoque amplía el concepto de las máquinas de Moore al añadir una estructura que permite representar el comportamiento de sistemas mediante eventos temporizados que provocan cambios de estado, capturando así tanto la dinámica interna como las interacciones externas del sistema (B. Zeigler, Prähofer, and Kim 2000).

3.3.1 Estructura del formalismo DEVS

El formalismo DEVS se fundamenta en la modelización de sistemas como conjuntos de componentes que interactúan mediante eventos discretos. Cada componente posee un estado interno y puede recibir eventos externos que desencadenan transiciones de estado, ya sea en instantes temporizados o ante condiciones específicas. Esta estructura modular permite representar tanto la dinámica interna como la interacción externa del sistema modelado. La Figura 3.1 ilustra la relación entre modelos atómicos y modelos acoplados en DEVS, evidenciando cómo se integran y comunican los distintos elementos para capturar el comportamiento global del sistema.

Relación entre modelos atómicos y modelos acoplados en DEVS

Figura 3.1: Relación entre modelos atómicos y modelos acoplados en DEVS

La estructura formal del modelo atómico DEVS se presenta en la ecuación (3.1):

\[\begin{equation} M = \langle X, S, Y, \delta_{\text{int}}, \delta_{\text{ext}}, \lambda, \tau \rangle \tag{3.1} \end{equation}\]

Donde:

  • \(X\): entradas
  • \(S\): estados internos
  • \(Y\): salidas
  • \(\delta_{\text{int}}\): transición interna
  • \(\delta_{\text{ext}}\): transición externa
  • \(\lambda\): función de salida
  • \(\tau\): tiempo de avance del estado

Esta estructura facilita el modelado de sistemas informáticos, permitiendo representar componentes como registros o unidades de control mediante modelos atómicos que se comunican a través de eventos discretos.

DEVS describe el comportamiento de un sistema real utilizando eventos de entrada y salida, así como transiciones entre estados definidos. Un sistema en este formalismo se compone de dos tipos principales de modelos:

  • Modelos atómicos: representan las unidades fundamentales de comportamiento.
  • Modelos acoplados: integran modelos atómicos y/o otros modelos acoplados, permitiendo la construcción jerárquica de sistemas más complejos.

La organización modular del formalismo DEVS facilita el análisis y la gestión de sistemas complejos, permitiendo la validación de subsistemas de manera independiente antes de su integración en un modelo global. La Figura 3.2 ejemplifica cómo los modelos atómicos se agrupan y conectan dentro de modelos acoplados, reflejando la estructura jerárquica y la flexibilidad del enfoque DEVS para construir sistemas escalables y fácilmente gestionables.

Modelo acoplado en DEVS

Figura 3.2: Modelo acoplado en DEVS

3.3.2 xDEVS

xDEVS es un framework de modelado y simulación de eventos discretos basado en DEVS/PDEVS que unifica una interfaz común entre múltiples lenguajes (C, C++, Java, Python, Rust, entre otros). Esta interoperabilidad permite reutilizar modelos y comparar motores, al tiempo que habilita ejecuciones secuenciales, paralelas y distribuidas, con énfasis en rendimiento y verificabilidad. En este trabajo se utiliza xdevs.py, la implementación en Python, por su equilibrio entre legibilidad, portabilidad y soporte de ejecución en tiempo virtual y real (Risco-Martín et al. 2023; Iscar-UCM 2023a, 2023b).

xDEVS separa explícitamente la capa de modelado (modelos atómicos y acoplados con puertos y acoplamientos) de la capa de simulación (simuladores y coordinadores que orquestan el avance temporal y la confluencia de eventos). Esta organización refleja la estructura formal DEVS y favorece la construcción jerárquica de sistemas complejos, manteniendo claridad en el flujo de información.

3.3.3 Aplicaciones del formalismo DEVS

“El formalismo DEVS encuentra aplicación en diversos ámbitos, como las redes de comunicación (Fujimoto 2001), donde permite simular el enrutamiento de paquetes y la congestión de redes; en entornos de manufactura (B. Zeigler, Prähofer, and Kim 2000), donde se modelan flujos de producción y control de calidad; y en sistemas de transporte, para la optimización de flujos vehiculares (Barros 1997). También se utiliza en la simulación de sistemas biológicos, como la propagación de enfermedades o el comportamiento de poblaciones (Bernard P. Zeigler, Jammalamadaka, and Akerkar 2004). En el ámbito de la educación, DEVS se ha implementado en simuladores para la enseñanza de arquitectura de computadoras, permitiendo a los estudiantes explorar y comprender conceptos complejos mediante la visualización y manipulación de modelos (Calvo Valdes, Roldan Ramirez, and San Miguel Sanchez 2010).

Estas aplicaciones destacan su versatilidad para optimizar sistemas complejos en escenarios del mundo real.

3.3.3.1 xDEVS en la enseñanza de la Arquitectura de Computadoras

La implementación de entornos de simulación basados en DEVS en la enseñanza de arquitectura de computadoras aporta múltiples ventajas que enriquecen el proceso de aprendizaje:

  • Representación visual: ofrece diagramas y representaciones dinámicas que ayudan a los estudiantes a visualizar y comprender procesos internos, como la ejecución de instrucciones y la gestión de recursos.
  • Interactividad: permite modificar configuraciones y parámetros, fomentando la experimentación y mostrando el impacto directo de estas variables en el rendimiento del sistema.
  • Exploración de escenarios: posibilita simular escenarios hipotéticos y evaluar el comportamiento de sistemas complejos sin la necesidad de hardware físico.

Estas funcionalidades enriquecen la experiencia educativa al integrar la teoría con la práctica y fomentar una participación activa en el análisis de los principios fundamentales de la arquitectura computacional. Al adoptar xDEVS como parte del entorno educativo, se potencia la capacidad de los estudiantes para abordar problemas complejos y explorar soluciones innovadoras (Calvo Valdés, Roldán Ramírez, and San Miguel Sánchez 2010; Llorente de la Cita and Lázaro-Carrasco Hernández 2016; Randal E. Bryant 2018).

En conclusión, el formalismo xDEVS no solo es una herramienta valiosa para el modelado y análisis de sistemas, sino que también representa un recurso poderoso para facilitar la enseñanza de conceptos complejos, como los que se encuentran en la arquitectura de computadoras.

Bibliografía

Barros, Fernando J. 1997. “Modeling Formalisms for Dynamic Structure Systems.” ACM Transactions on Modeling and Computer Simulation (TOMACS) 7 (4): 501–15.
Bryant, Randal E. 2018. “Formal Verification of Pipelined Y86-64 Microprocessors with UCLID5.” CMU-CS-18-122. Pittsburgh, PA 15213: School of Computer Science, Carnegie Mellon University.
Calvo Valdes, Francisco Alejandro, Jose Felix Roldan Ramirez, and Alfonso San Miguel Sanchez. 2010. “Simulador Del Procesador MIPS Sobre El Formalismo DEVS.”
Calvo Valdés, Francisco Alejandro, José Félix Roldán Ramírez, and Alfonso San Miguel Sánchez. 2010. “Simulador Del Procesador MIPS Sobre El Formalismo DEVS.” Revista de Simulación. https://hdl.handle.net/20.500.14352/46063.
Fujimoto, Richard M. 2001. “Parallel and Distributed Simulation Systems.” In Proceeding of the 2001 Winter Simulation Conference (Cat. No. 01CH37304), 1:147–57. IEEE.
Iscar-UCM. 2023a. “xDEVS: Toolkit for Interoperable Modeling and Simulation of Formal Discrete Event Systems.” https://github.com/iscar-ucm/xdevs.
———. 2023b. “Xdevs.py: Python Implementation of xDEVS for Discrete Event Simulation.” https://github.com/iscar-ucm/xdevs.py/tree/main.
Llorente de la Cita, Guillermo, and Luis Lázaro-Carrasco Hernández. 2016. “Diseño e Implementación Del Kernel de xDEVS, Versión Distribuida.” Trabajo de Fin de Grado. Universidad Complutense de Madrid, Facultad de Informática.
Risco-Martín, José L., Saurabh Mittal, Kevin Henares, Román Cardenas, and Patricia Arroba. 2023. “xDEVS: A Toolkit for Interoperable Modeling and Simulation of Formal Discrete Event Systems.” Software: Practice and Experience 53 (3): 748–89. https://doi.org/https://doi.org/10.1002/spe.3168.
Zeigler, Bernard P, Rajanikanth Jammalamadaka, and Salil R Akerkar. 2004. “Continuity and Change (Activity) Are Fundamentally Related in DEVS Simulation of Continuous Systems.” In International Conference on AI, Simulation, and Planning in High Autonomy Systems, 1–13. Springer.
Zeigler, Bernard, Herbert Prähofer, and Tag Gon Kim. 2000. “Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems 2 (January).