Sie sind auf Seite 1von 16

Marín, M., Correa, L. & Aguilar, L. (2014).

MAS-CommonKADS para el desarrollo de un Sistema Multiagente


de Información de Recomendación de Rutas de Transporte: SINRUT. Cuaderno Activa, 6, pp 33-47.

MAS-CommonKADS para el desarrollo de un Sistema Multiagente de


Información de Recomendación de Rutas de Transporte: SINRUT.

MAS- CommonKADS in the Development of a Multi-Agent Information System for


Transportation Routes Recommendation: SINRUT.

María Isabel Marín Morales*


Luisa Fernanda Correa Ríos**
Luis Alejandro Aguilar Londoño***

Tipo de artículo: Resultado de Investigación. Recibido: 10 de agosto, 2014


Aceptado: 15 de octubre, 2014

Resumen
Entre los principales inconvenientes para el uso del transporte público en ciudades como Medellín, está el
desconocimiento de las rutas de transporte, así como de los recorridos que estas realizan. Esta necesidad motivó
el desarrollo de este trabajo que presenta los aspectos clave de la implementación de un sistema multiagente
(SMA) para la recomendación de rutas de transporte en el traslado de un lugar a otro en la ciudad de Medellín.
Para el desarrollo de este sistema se utilizaron JADE y Protégé sobre la plataforma JAVA, que se integraron
con un módulo de visualización desarrollado en el Framework.NET, extendiendo la funcionalidad del Sistema
de Información Geográfica (SIG) de código abierto MapWindow. Las diferentes fases del desarrollo del SMA
se llevaron a cabo utilizando la metodología MAS-CommonKADS que será evidenciada en este trabajo con
el fin de que sirva de apoyo para el futuro uso de la misma en desarrollos similares.

Palabras clave: sistemas multiagentes, algoritmo A*, sistemas de recomendación, MAS-


CommonKADS, MapWindow.

Abstract
The main drawbacks to the use of public transport in cities like Medellín, is the lack of transportation
routes and the routes that they perform. This need motivated the development of this paper presents
the key aspects of the implementation of a multi-agent system (MAS) for recommending transport
routes in moving from one place to another in the city of Medellin. For the development of the JADE
system and Protégé were used on the Java platform, which is integrated with a visualization module
developed in the .NET Framework by extending the functionality of Geographic Information System
(GIS) open source MapWindow . The different phases of the development of SMA were performed
using MAS- CommonKADS methodology that will be evidenced in this work in order to provide back
to the future use of the same in similar developments.

Keywords: multiagent systems, A* algorithm, recommendation systems, MAS-CommonKADS,


MapWindow.

* Magíster en Ingeniería de Sistemas. Docente Asistente, Universidad de San Buenaventura. maria.marin@usbmed.edu.co


** Ingeniera de Sistemas e Informática. Analista de Soluciones, BTG Pactual Colombia. lfcorre0@unalmed.edu.co
*** Especialista en Sistemas, Ingeniero de Investigación. Universidad Nacional de Colombia. laaguilal@unalmed.edu.co

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 33
Marín, M., Correa, L. & Aguilar, L.

Introducción
Como en muchas otras metrópolis, en la ciudad & Ames, 2006) que permite extender su
de Medellín diariamente las personas propias y funcionalidad con el desarrollo de plugins.
foráneas se ven enfrentadas al dilema de decidir
la mejor ruta para dirigirse a un lugar deseado, En el campo de los sistemas de recomendación
pensando en la optimización de recursos de rutas utilizando agentes se pueden identificar
limitados como el dinero y el tiempo disponible dos maneras de concluir recomendaciones
para transportarse. La información empírica de como tales: a) recomendación basada en
cada ciudadano puede no ser suficiente para contenidos y b) recomendación colaborativa;
llevar a tomar la mejor decisión, teniendo la primera utiliza fuentes inertes para ello,
en cuenta además que los datos conocidos mientras que la segunda acude a otros seres
previamente pueden tornarse obsoletos por el humanos para realizar las recomendaciones.
ingreso, eliminación o cambio en las rutas de Para complementar este procedimiento, existen
transporte existentes. algunos otros modelos de recomendación
entre los cuales se pueden citar los modelos
Evaluando el abanico de posibilidades que matemáticos, las redes neuronales y los
los avances informáticos proporcionan, sistemas difusos. Adicionalmente, un
se consideró que este problema podría sistema de recomendación puede tener algún
ser abordado por medio de un sistema de procedimiento de retroalimentación.
recomendación de rutas (Arthur et al., 2014).
Estos sistemas normalmente realizan el filtrado En el ámbito mundial existen diversos trabajos
con base en el perfil del usuario, que puede ser que pueden aproximarse a la idea y algunos
dado explícitamente por el usuario o inferido de estos se abordaron desde la planificación,
utilizando métodos adaptativos a partir de como es el caso de Castillo et al., (2008), el
la interacción del usuario con el sistema cual no se limita a la recomendación de rutas,
(Gnjatović & Delić, 2014). Es así como se sino que incluye también la recomendación
motiva el desarrollo de un Sistema Multiagente de sitios y actividades utilizando un método
para la Recomendación de Rutas de Transporte de razonamiento basado en casos. Esta última
para la ciudad de Medellín (SINRUT). característica es interesante, ya que se detecta
la necesidad de un módulo de razonamiento
Se determinó la utilización del paradigma dentro del sistema SINRUT.
de la programación orientada a agentes por
la necesidad de distribución y aprendizaje En la ciudad de Medellín no se conoce de
en el desarrollo del programa. Este sistema la creación de sistemas de recomendación
multiagente se desarrolla a la luz de la relacionados, por lo que podría considerarse el
metodología MAS-CommonKADS (Iglesias presente trabajo como un caso piloto.
& Garijo, 2005) y se implementa sobre la
plataforma JAVA (Mohapatra et al., 2006) Las siguientes secciones se distribuyen como
utilizando las interfaces de programación de sigue: en la sección 2 se evidencia la metodología
aplicaciones de JADE (Vila et al., 2007) y MAS-CommonKADS a través del diseño del
Protege (Gennari et al., 2003), integrándose con sistema propuesto, en la sección 3 se expone
un módulo de visualización desarrollado en el la implementación del sistema, terminando con
Framework.NET (Wenjie et al., 2012), a través las secciones 4 y 5 en las cuales se presentan el
del Sistema de Información Geográfica (SIG) trabajo futuro y las conclusiones.
de código abierto MapWindow (Aburizaiza

34 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

Metodología Conceptualización
Como se mencionó en la introducción, el El propósito de la conceptualización es obtener
sistema se desarrolló con base en la metodología el diccionario de actores y los casos de uso
MAS-CommonKADS, introducida por Iglesias generales, además de los casos de uso específicos
& Garijo (2005). En esta sección se evidencia de cada actor. La descripción detallada de los
cada etapa de la metodología en el desarrollo actores se presenta en la Tabla 1 y los casos de
del sistema de recomendación de rutas: uso generales en la Figura 1.

Tabla 1. Descripción de los actores

Fuente: Elaboración propia (2014)

Figura 1. Casos de uso generales del sistema


Fuente: Elaboración propia (2014)

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 35
Marín, M., Correa, L. & Aguilar, L.

Análisis de las técnicas propuestas en la metodología MAS-


CommonKADS: a) Análisis de los actores de la fase
En la Fase de Análisis de MAS-CommonKADS se de conceptuación, b) Análisis del enunciado del
desarrollan 6 de los 7 modelos de la metodología, problema, y c) Identificación de agentes empleando
estos son: Modelo de Agentes, Modelo de Tareas, tarjetas CRC (Clases-Responsabilidades-
Modelo de Experiencia, Modelo de Coordinación, Colaboraciones). Así, los Agentes Identificados en
Modelo de Comunicación y Modelo de el problema son como se presentan en la Tabla 2.
Organización. Adicionalmente, en la Tabla 3 se ilustra el artefacto
utilizado para realizar la descripción de los cinco
El Modelo de Agentes tiene como fin identificar los agentes, en este caso puntual se presenta el agente
Agentes del SMA. Para este proceso se utilizaron tres Perfil.

Tabla 2. Descripción de los agentes

Fuente: Elaboración propia (2014)


Tabla 3. Plantilla del Agente Perfil

Fuente: Elaboración propia (2014)

36 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

El Modelo de Tareas permite mostrar la cuya definición es análoga a la realizada con las
descomposición funcional del sistema. Las demás tareas generales. La tarea Filtrar Rutas se
tareas generales que se identificaron en este lleva a cabo dentro del sistema multi-agente por
sistema propuesto fueron: Administrar Interfaces el agente Filtro. En la Figura 2 (a) se muestra
del Administrador, Administrar Interfaces del la descomposición de esta tarea en sub-tareas
Usuario, Administrar el Perfil del Usuario, Buscar y en la misma figura, en la parte (b), se expone
Rutas y Filtrar Rutas. En este artículo se mostrará el diagrama de actividades que debe realizar el
la descripción de la tarea general Filtrar Rutas, agente para llevar a cabo esta tarea.

Figura 2. Descomposición (a) y Diagrama de actividades (b) de la tarea Filtrar Rutas


Fuente: Elaboración propia (2014)
En la Tabla 4 se muestra la plantilla textual sub-tareas; en esta tabla se describe la sub-tarea
propuesta por la metodología MAS- Capturar preferencias de filtrado.
CommonKADS para describir en detalle las
Tabla 4. Plantilla para la tarea Capturar preferencias de filtrado

Fuente: Elaboración propia (2014)

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 37
Marín, M., Correa, L. & Aguilar, L.

El Modelo de la Experiencia involucra la papeles del conocimiento (metaclases) sobre los que
identificación, descripción y estructuración del operan las inferencias. En la Figura 3 se presenta un
conocimiento que requieren los agentes para diagrama que ilustra el conocimiento de inferencias
realizar sus tareas. El desarrollo del modelo incluye del sistema, en esta figura se puede apreciar que el
el desarrollo del dominio, el conocimiento de proceso de filtrado se realiza utilizando métodos
inferencias y el conocimiento de tareas. heurísticos, explícitamente se utilizó el algoritmo A*
(Hart et al., 1968) utilizando el método Manhhatan
Como parte del conocimiento del dominio se (Leigh et al., 2007) y sin rodear las esquinas.
identifican todos los conceptos y predicados. Estos
fueron generados por medio de la herramienta
Protégé, creando una ontología cuyo nombre es:
OntoRecomendacion Rutas Ontology y la cual
incorpora los conceptos Concepto Nodo, Concepto
Punto, Concepto Trayectoria, Concepto Ruta,
Concepto Preferencia, Concepto Usuario, Concepto
Agente, Concepto Lista Nodos, Concepto Lista
Puntos, Concepto Lista Trayectorias y Concepto
Lista Rutas; y predicados Predicado Actualizar
Preferencia, Predicado Devolver Busqueda,
Predicado Devolver Filtrado, Predicado Devolver
Preferencia, Predicado Devolver Trayectoria,
Predicado Realizar Busqueda, Predicado Recuperar Figura 3. Conocimiento de inferencias
Preferencia, Predicado Recuperar Trayectoria y Fuente: Leigh et al. (2007)
Predicado Solicitar Filtrado.
En cuanto al conocimiento de las tareas, MAS-
Por otro lado, el conocimiento de inferencias en CommonKADS establece que se describan las tareas
MAS-CommonKADS se especifica mediante que requieren conocimiento para ser llevadas a cabo.
la definición de las inferencias que se realizan Es así como se identificó que el conocimiento requerido
en la resolución del problema y la estructura de por las tareas del sistema es acorde a la especificación
inferencias que relacionan las inferencias y los resumida en la Tabla 5.
Tabla 5. Conocimiento de las tareas

Fuente: Elaboración propia (2014)

38 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

Siguiendo con los modelos de la etapa de análisis de sistema. Parte del modelo se presenta en la Tabla
la metodología utilizada, se desarrolló el Modelo 6, en la cual se expone la conversación Solicitar
de Comunicación que involucra el modelado de acceso usuario registrado.
las interacciones entre los agentes humanos y el

Tabla 6. Plantilla para la conversación Solicitar acceso usuario registrado

Fuente: Elaboración propia (2014)

Por su parte, el Modelo de Coordinación se intervenciones Enviar Información Rutas por


define con el fin de desarrollar y describir las Ubicación, y Confirmación Entrega de Rutas por
interacciones entre los agentes involucrados en la Ubicación.
resolución de un problema en un sistema multi-
agente. Este modelo estructura las interacciones
en conversaciones. Se define una conversación
como un conjunto de interacciones iniciadas
para alcanzar un objetivo. Cada interacción entre
dos agentes se realiza mediante el envío de un
mensaje, y tiene asociado un acto de habla.

En la Figura 4 se muestra el diagrama


de coordinación general de los agentes.
Adicionalmente, en la Tabla 7 se presenta la
plantilla para la conversación Envío resultados
de búsqueda y en la Figura 5 se muestra el
Diagrama de secuencias para esta conversación;
en este diagrama se observa que después de que el
agente Búsqueda realiza la búsqueda de rutas de
acuerdo a la ubicación (coordenadas) del usuario, Figura 4. Modelo de coordinación
envía la información de las rutas resultantes al Fuente: Elaboración propia (2014)
agente Filtro, generando en la conversación las

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 39
Marín, M., Correa, L. & Aguilar, L.

Tabla 7. Plantilla para la conversación Envío resultados de búsqueda

Fuente: Elaboración propia (2014)

Figura 5. Diagrama de secuencias para la conversación Envío resultados de búsqueda


Fuente: Elaboración propia (2014)
El Modelo de Organización define las relaciones Identificación de la estructura organizacional e
estáticas existentes entre los diferentes agentes Identificación de relaciones de herencia. MAS-
del sistema. Para esto se llevan a cabo varias CommondKADS define constituyentes para
tareas principales como son: Estudio de las identificar entre otros las funciones.
oportunidades de introducción del sistema,

Figura 6. Diagrama de la organización


Fuente: Elaboración propia (2014)

40 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

La Empresa Prestadora de Servicio de Transporte servicios prestados por la empresa. Las funciones
y las Rutas están administradas por una sola identificadas se exponen en la Tabla 8 y la
entidad. El usuario y la empresa prestadora del estructura organizativa del sistema se presenta en
servicio se localizan como cabezas principales, la Figura 7.
ya que el usuario es quien hace uso de los

Tabla 8. Funciones en la organización

Fuente: Elaboración propia (2014)

Figura 7. Estructura organizativa del sistema multi-agente


Fuente: Elaboración propia (2014)

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 41
Marín, M., Correa, L. & Aguilar, L.

Diseño
La fase de diseño de la metodología MAS- diseño de MAS-CommonKADS distingue tres
CommonKADS se centra en el desarrollo del clases de decisiones de diseño: diseño de la red,
modelo de diseño que pretende transformar diseño de los agentes y diseño de la plataforma.
las especificaciones del resto de modelos para El diseño de la red consiste en desarrollar el
que se puedan describir con un lenguaje de “modelo de red” que proporciona a los agentes una
programación. visión uniforme de la red. Está definido como un
modelo en capas. Para el diseño de la red se utiliza
Con este modelo se estructuran los componentes una plantilla propuesta por MAS–CommonKADS
del sistema tomando como punto de entrada los para definir los constituyentes del diseño de red (ver
resultados de la fase de análisis. El modelo de Tabla 9).

Tabla 9. Plantilla del diseño de red

Fuente: Elaboración propia (2014)

42 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

El diseño de los agentes se realiza siguiendo la que se aprecia en la Tabla 10. En esta plantilla
plantilla propuesta por MAS-CommonKADS específica se describe el agente Administrador.

Tabla 10. Plantilla para el diseño de agentes: Agente Administrador

Fuente: Elaboración propia (2014)

Finalmente, el último de los diseños es el de la y los usuarios finales del sistema. En la Tabla
plataforma, permite documentar las decisiones de 11 se muestra la plantilla textual para el diseño
bajo nivel sobre el lenguaje de implementación de la plataforma y en la Figura 8 se presenta el
seleccionado, el software y hardware empleado, diagrama de despliegue.

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 43
Marín, M., Correa, L. & Aguilar, L.

Tabla 11. Plantilla para el diseño de la plataforma

Fuente: Elaboración propia (2014)

44 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

Figura 8. Diagrama de despliegue para entidades y relaciones de la plataforma de SINRUT


Fuente: Elaboración propia (2014)

Implementación
El módulo de visualización se desarrolló en dando así la facilidad de que el usuario utilice las
el Framework .Net., se logró gracias a las herramientas de SIG para este sistema, como lo
posibilidades que brinda el SIG MapWindow para son el Zoom, entre otras. En las Figuras 10 a 14
extender sus funcionalidades a través de plugins, se muestran las interfaces utilizadas en el SMA.

(a) (b)

Figura 9. Inicio de sesión (a) y definición de perfil (b)


Fuente: Elaboración propia (2014)

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 45
Marín, M., Correa, L. & Aguilar, L.

(a) (b)
Figura 10. Interfaz de interacción del usuario (a) y de administración (b)
Fuente: Elaboración propia (2014)

(a) (b)
Figura 11. Interfaz para el ingreso de nuevos usuarios (a) y rutas (b)
Fuente: Elaboración propia (2014)
Resultados
El sistema adquiere el conocimiento de dos de la utilización del algoritmo heurístico A*, y
maneras: una cuando el usuario Administrador seguidamente se refina la búsqueda por medio del
ingresa explícitamente los datos de las rutas del Agente Filtrado basándose en las preferencias del
sistema, y la otra por medio de la interacción usuario.
del usuario con el sistema, ya que este último
va obteniendo una base de casos para en futuras Conclusiones
ocasiones utilizarlos con el fin de resolver otros
problemas, es decir, realizando un razonamiento El sistema diseñado SINRUT es una alternativa a
basado en casos. la recomendación de rutas de transporte público
para la ciudad de Medellín, que brinda al usuario
El sistema arroja como resultado una lista de una solución a la hora de tomar decisiones de
trayectorias que el usuario puede utilizar para movilidad. Adicionalmente, la ejecución paso a
realizar su recorrido, cada trayectoria contiene paso de la metodología MAS-CommonKADS
a su vez una lista de rutas. La optimización de ofrece a los lectores una luz bajo la cual ejecutar
este resultado lo realiza inicialmente el Agente proyectos similares. Por otro lado, la utilización
Búsqueda, que obtiene la lista de rutas por medio del paradigma de agentes resultó apropiada, pues

46 Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152
MAS-CommonKADS para el desarrollo de un Sistema Multiagente
de Información de Recomendación de Rutas de Transporte: SINRUT.

permitió distribuir con éxito las tareas del sistema. Evolution of Protégé: an Environment for
La integración de las plataformas .NET y Java Knowledge-based Systems Development,
agregaron complejidad al desarrollo que se logró International. Journal of Human-Computer
con el uso de archivos XML (eXtensible Markup Studies, 58(1), 89-123.
Language). Específicamente en el tema del
sistema de recomendación de rutas en la ciudad Gnjatović, M. & Delić, V. (2014). Cognitively-
de Medellín, se plantea como trabajo futuro: inspired Representational Approach to
Meaning in Machine Dialogue. Knowledge-
• Realizar un módulo de aprendizaje de manera Based Systems, 71, 25-33.
que el sistema se adapte al perfil del usuario de
una manera más inteligente. Hart, P., Nilsson, N. & Raphael, B. (1968). A
• Indagar de qué manera segura y ágil se pueden Formal Basis for the Heuristic Determination
comunicar las plataformas .NET y JAVA para of Minimum Cost Paths. IEEE Trans. Syst.
realizar procesos como los propuestos en este Sci. Cybernet, 4(2), 100–107.
trabajo.
• Ampliar el grafo de las rutas de la ciudad para Iglesias, C. A. & Garijo, M. (2005). The
que abarque más lugares y no se reduzca a una Agent-Oriented Methodology MAS-
pequeña zona de estudio. CommonKADS. In B. Henderson-Sellers,
& P. Giorgini (Eds.) Agent-Oriented
Methodologies, 46-78.
Referencias
Leigh, R., Louis, S.J. & Miles, C. (2007). Using
Aburizaiza, A. O. & Ames, D. P. (2006). GIS- a Genetic Algorithm to Explore A*-like
Enabled Desktop Software Development Pathfinding Algorithms. Computational
Pardigms. Advanced Geographic Intelligence and Games, 2007. CIG 2007.
Information Systems & Web Services, 2009. IEEE Symposium on, 1(1), 72-79.
GEOWS ‘09. International Conference on,
1, (1), 75-79. Mohapatra, D.P., Kumar, R., Mall, R., Kumar,
D.S. & Bhasin, M. (2006). Distributed
Arthur, L., Chien-Lung, H. & Eldon, L. (2014). Dynamic Slicing of Java Programs. Journal
Improving the Effectiveness of Experiential of Systems and Software, 79(12), 1661-
Decisions by Recommendation Systems. 1678.
Expert Systems with Applications, 41(10),
4904-4914. Vila, X., Schuster A. & Riera, A. (2007). Security
for a Multi-Agent System based on JADE.
Castillo, L., Armengol, E., Onaindía, E., Sebastiá, Computers & Security, 26(5), 391-400.
S., González-Boticario, J., Rodríguez,
A., Fernández, S., Arias, J.D. & Borrajo, Wenjie, Z., Weiwei, L., Tao, X., Shengyi,
D. (2008). SAMAP: An User-Oriented X. & Jingxin, N. (2012). A Complete
Adaptive System for Planning Tourist Development Process of Finite Element
Visits. Expert Systems with Applications, Software for Body-in-white Structure with
34(2), 1318-1332. Semi-rigid Beams in .NET Framework.
Advances in Engineering Software, 45(1),
Gennari, J. H., Musen, M. A., Fergerson, R. 261-271.
W., Grosso, W. E., Crubézy, M., Eriksson,
H., Noy, N. F. & Tu, S. W. (2003). The

Cuaderno Activa Nº6 ISSN: 2027 - 8101. Enero - Diciembre 2014. pp 1-152 47
48

Das könnte Ihnen auch gefallen