2.1 INGENIERÍA DE LOS SISTEMAS COMPLEJOS
2.1.2 Modelamiento y simulación de sistemas complejos
2.1.2.4 Lenguaje Unificado De Modelado (UML)
Debido a la necesidad de proyectar visualmente el diseño del modelo multi- agente, el lenguaje Unificado de Modelado (UML) por medio de distintos diagramas que representan el comportamiento dinámico del sistema, así como su estructura estática. Siendo especialmente útil lo que Rumbaugh, Jacobson y Booch (2007) afirman que tiene: su facilidad de utilización y comprensión en la transmisión de conocimientos de sistemas discretos en general. Además, aunque Grimm y otros (2006) reconocen que los numerosos diagramas incluidos UML no son fáciles de desarrollar, también afirman que proveen un lenguaje visual fácil de usar y entender para ser definido en código computacional. Por todo lo anterior, se parte de UML para representar de forma gráfica el comportamiento de los agentes así como su estructura estática, formalizando sus reglas de conducta e interacción de modo que pueda mostrarse claramente su funcionamiento (…como se muestra en las secciones 4.2.3.4 y 4.2.4.3…).
Con UML el sistema es visto como una colección de elementos que interactúan, lo cual se asemeja mucho al modelado de agentes; por ello, se puede utilizar especialmente para mostrar el comportamiento de los agentes por medio de diagramas de actividades y de interacción, así como la lista de variables internas y de posibles procedimientos por medio del diagrama de clases, ya que como lo dice Rumbaugh, Jacobson y Booch (2007) proveen semántica y notación gráfica y textual, la cual resulta útil para representar de
37
manera simple los rasgos de los agentes que abstraen el comportamiento social de los seres humanos.
Bommel y Müller (2007) afirman que UML puede usarse no solo para la ingeniería de software sino también para modelar conocimiento de las ciencias humanas y sociales, pues ha sido utilizado para el diseño de sistemas multi- agente. Los modelos orientados a objetos contienen la intuición de funcionalidad y dinámicas que pueden surgir de la combinación de las partes de un sistema complejo, comprendiendo las nociones de que la organización de interacciones de un tipo de objetos llamados agentes puede cambiar con el tiempo, y las dinámicas de ellos pueden ser tanto operaciones sofisticadas como simples sistemas de reglas básicas.
No todos los diagramas de UML son adecuados para expresar un modelo sino especialmente los de Clases y Actividades según la clasificación de Bommer y Müller (2007). Además, los diagramas de Interacción pueden ilustrar casos particulares de comunicación entre agentes. Por lo tanto, a continuación, se describen de forma resumida estos tres tipos de diagramas.
Diagrama de clases
Hace parte de la representación de la estructura estática del sistema, generalizando las clases que puede haber y su relación mutua, son ilustradas con rectángulos donde se define el nombre de la clase, sus atributos o estructura de datos y sus métodos o características de comportamiento como lista de operaciones, junto con conectores a otras clasificaciones de elementos que representan su relación, dependencia o asociación a ellas.
Bommer y Müller (2007) precisan que los diagramas de clases pueden usarse para todo tipo de modelado de sistemas y no solo para la Ingeniería de Software, ya que estos gráficos representan ontologías, es decir, proporcionan conceptualización formal de elementos con propiedades y relaciones. Además, Grimm y otros (2006) los recomiendan para desarrollar modelos basados en agentes, ya que pueden dar una vista de estados acerca de variables y procesos que describan la estructura de los agentes y sus reglas en un lenguaje de programación como Netlogo. Por ello, se utilizan para el caso de este proyecto, representando a los agentes con métodos que se interpreten como descripciones de su comportamiento.
38 Figura 6. Diagrama de clases ejemplo
Tomado de (Rumbaugh, Jacobson, & Booch, 2007, pág. 30)
Diagrama de interacción
Se puede mostrar la comunicación entre los agentes del sistema por medio de llamados a sus funciones internas. Usando diagramas de interacción se ilustran los mensajes de información con flechas que van desde un punto en la línea de vida del agente hasta otro, pudiendo especificar si hay bucles, condiciones o ejecuciones en paralelo por medio de rectángulos que encierran los mensajes, tal como se muestra en el ejemplo de la Figura 7 .
Por lo anterior, se usa este tipo de diagrama para representar la comunicación de dos o más agentes ilustrando las entradas y salidas de información que se envían entre sí en un proceso de interacción, mostrando simple y claramente
39
la el intercambio de mensajes que hay por ejemplo cuando un agente maltrata a otro (…Como se muestra en la Figura 17 del apartado 4.2.3.4…).
Figura 7. Diagrama de interacción ejemplo
Tomado de (Rumbaugh, Jacobson, & Booch, 2007, pág. 36).
Diagrama de actividades
Es un diagrama de flujo que muestra las actividades realizadas durante un proceso definido, especificando dependencias de orden y secuencia, así como la concurrencia entre las diferentes acciones ilustradas como rectángulos ovalados y estados de control representadas como rombos de decisión.
40
Resulta útil para ilustrar el comportamiento global de los sistemas sin ahondar en detalles, y por ello, Bommel y Müller (2007) dicen que hace más fácil la descripción del comportamiento de agentes. Por lo tanto en este proyecto se usaron diagramas de actividades para mostrar de forma sencilla e ilustrada las reglas comportamiento de los agentes para decidir una acción y actualizar su estado interno alrededor de la violencia y la afiliación, tal como se presenta en (…los apartados 4.2.3.4 y 4.2.4.3…).
41 Figura 8. Diagrama de actividades ejemplo
Tomado de (Rumbaugh, Jacobson, & Booch, 2007, pág. 35)