Professional Documents
Culture Documents
1.
Introducci
on
40
inteligencia el proceso de inteligencia a nivel individual (mecanismos de aprendizaje, razonamiento, etc.) y colectivo (modelado de la inteligencia
colectiva usando ontologas, etc.). Por otro lado, permite el uso de tecnicas inteligentes para
especificar tareas que debe realizar un agente.
Ademas, permite caracterizar una gran cantidad
de aspectos necesarios en los procesos de coordinacion entre agentes: planificaci
on emergente,
formas de resoluci
on de conflictos, etc., la comunicacion directa o indirecta entre agentes, las conversaciones entre los agentes a traves de actos de
habla (interacciones), entre otras cosas, para lo
cual propone modelos de coordinaci
on y comunicacion precisos. Tambien es posible representar
aspectos como el uso modelos de referencia para
especificar agentes, o la especificaci
on del nivel de
abstraccion al que pertenece un agente (si forma
parte de un SMA que tiene m
ultiples capas), o
especificarlo como un SMA, entre otras cosas.
Por otro lado, el Lenguaje de Modelado Unificado
(UML, siglas en ingles) es un lenguaje gr
afico que
permite visualizar, especificar y documentar cada
una de las partes que comprende el dise
no de software. UML permite modelar de manera conceptual aspectos tales como: objetos, procesos y reglas
de negocio, as como tambien elementos concretos
de sotfware como: clases, bases de datos y componentes reusables [40].
La Tecnica de Desarrollo de Sistemas de Objetos (TDSO) se utiliza para la especificaci
on de
componentes de software, que soporta todos los
constructos de la orientaci
on por objetos, con la
inclusion de una gua para el desarrollo de las
pruebas del sistema modelado [13, 38].
En este artculo se propone una metodologa
que combina los aspectos considerados en
MASINA [8] con las versatilidades ofrecidas por
UML, para visualizar gr
aficamente las actividades/funciones/comunicaciones de los agentes,
y por TDSO, para la definici
on del universo
de clases, y la especificaci
on de las clases y los
metodos de los componentes de software que
implementan los agentes concebidos, dando lugar a una metodologa formal para modelar sistemas de ingeniera orientados a agentes. De esta
manera, la principal contribuci
on de esta nueva
metodologa propuesta es incorporar a las bondades de MASINA, elementos de modelado grafico y de especificaci
on de componentes que permite definir claramente la arquitectura de agentes
para un sistema de software, resaltando la diferencia entre componentes y agentes, actividades, ser-
2.
Marco Referencial
41
abstractos y que capturen las relaciones y dependencias entre agentes, as como sus roles dentro
del sistema.
El paradigma de agentes esta siendo ampliamente
usado como enfoque de modelado de sistemas
de control y desarrollos industriales, debido a la
naturaleza descentralizada de los problemas de
dichas areas [33] y la complejidad de los ambientes de negocio y manufactura [35]. Por tanto, con el fin de integrar las m
ultiples perspectivas de los ambientes industriales y sus intereses (control, supervision, mantenimiento, planificacion, informatica), y as lograr el alcance de un
objetivo global, diversos trabajos han sido orientados a la proposicion de arquitecturas basadas
en SMA [37, 42, 51]. Estos trabajos prestan mas
atencion a los aspectos de comunicacion con vistas generales a la fase de conceptualizacion.
As pues, en vista de la potencialidad del uso de
SMA en ambientes industriales, surge MASINA
[8] a partir de los trabajos realizados en [4, 5,
6, 15, 32] como una metodologa para la especificacion de SMA en dichos ambientes. MASINA
es una extension del modelo orientado a objetos
MAS-CommonKADS, y se basa en el mismo ciclo de desarrollo, con modificaciones que permiten
incorporar comportamientos inteligentes (aprendizaje, razonamiento, etc.), especificar los aspectos de comunicacion, coordinacion, integracion,
y un agente como un SMA. Particularmente,
la posibilidad de especificar un agente como un
SMA, analogamente al concepto de holarqua en
sistemas holonicos [25], es una posibilidad que
permite la metodologa en los casos que sea requerido por la complejidad del agente a dise
nar,
as como tambien, usar modelos de referencia en
la especificacion de un agente.
A continuacion se presenta la metodologa
MASINA [8] y la tecnica TDSO. Se omite la descripcion de UML por ser una herramienta ampliamente conocida [1, 24, 40, 44, 46, 49].
2.1.
MASINA
42
CommonKADS, no s
olo se definen los servicios
requeridos del sistema y quienes lo requieren,
sino que se hace una primera identificaci
on de
aquellos componentes del sistema que pueden
ser considerados agentes y se propone una
arquitectura preliminar del SMA. En MASCommonKADS, esta arquitectura es concebida
en la fase de dise
no. MASINA sigue haciendo
uso de los diagramas de casos de uso de UML en
esta fase de conceptualizaci
on.
En la fase de an
alisis de MASINA se reducen
a cinco los seis modelos propuestos en MASCommonKADS, los cuales se consideran suficientes para describir las caractersticas b
asicas
de los SMA (ver figura 1). Particularmente,
MASINA hace uso de los modelos de agente,
tareas, comunicaci
on, coordinaci
on y sustituye el
modelo de experiencia de MAS-CommonKADS
por el modelo de inteligencia.
3J
ax3axa
3J
0xJGJ^x
3J
x
3a0
axJx
Jx
3J
axax
3J
xaax
3a0
43
3Jax
Ja03G
^u
a333aJ
33aJDJ3
x[ax3r
Ja3xJ3aJ
[J3Ja03G
3Jax3[3a03aJ
Ux3
JaaJ
x3a
Ux3
aJa3
xJ3aJ
a
X3Joa3uaa3
x*[3
Ax3aJ
aJoJa3r
Ux3
JaaJ
aJa
au[
xaaJ
a
3axaJ
33[3
3x3'aJ
3Jax
30J3aJ
[JaJo3aJ
[J3aJ3aJ
aaJoJa3
33aJ [aa3
33uGa
3[3aJr
x3a3ux*[3
x[aJx
3JaaJ
J*[[
Ax*[J
X3
Joa3uaa3
Ux3
>aa3
aJ
3xa3
x[
Ux3
Jx
Ux3
Au3
xDoa
uaJr
axaJ 33
JaaJ 33x
^u33
J*[33a03
aJ3aJ
a
[x3
33
Dise
no del SMA: Se toman en consideracion
los agentes resultantes de los modelos generados en la fase de an
alisis para generar
la arquitectura final del SMA. Se plasmaran
los niveles de abstracci
on, es decir, la vision
holstica del SMA.
Dise
no de red: Se describen los aspectos relevantes a la plataforma del SMA como las
bases de conocimiento, la arquitectura de
red, etc.
Dise
no de la plataforma: Se determina la
plataforma de desarrollo del SMA, es decir,
se escogen las tecnologas (hardware y software) para implantar la plataforma.
En la fase de codificaci
on y pruebas de MASINA
se codifica y prueba cada agente utilizando las
herramientas escogidas para tal fin. Las dos tendencias principales son el uso de lenguajes de
proposito general o de lenguajes orientados a
agentes. Cada agente se prueba para asegurar que
no tenga fallas, es decir que funcionen de acuerdo
con las especificaciones definidas para el SMA en
las fases de conceptualizaci
on y an
alisis.
En la fase de integraci
on se realiza el acoplamiento entre los agentes del SMA y de este con la
plataforma real donde funcionar
a.
La fase de operaci
on y mantenimiento consiste en
el funcionamiento del sistema propiamente dicho,
La metodologa MASINA ha sido usada para especificar modelos de referencia basados en SMA
[3, 4, 7, 9, 10, 11, 18, 14, 19, 55] que permiten implementar tareas propias de ambientes distribuidos. En particular, el desarrollo de modelos de
referencia basado en sistemas multi-agentes que
permitan implementar tareas de automatizacion
y control de procesos, ha sido de especial interes.
44
3aaa3
Ga
*a
AJ^3
333a0
333a3
a^aa3
3a333a3r
30
Da[a0
AJ^3
3xDx3
3x-J3Jar
J333-
D3x3[xa3aaxar
Xa
oaax3
*a
3aJ x3Ja0
3a
333
3Ja x3
xa0
o^3a
a3a x3
3Ja
Jaxa
D3x3a
D3x3a
3aJ x3Ja0
x3a
a3ax3aaa x3
J
a3ax3aaa0
*J^ax333a
J33a
333
*a
a3a x330
3[
33 aaxax3
x333a
aaxax3 a3a
x3 x333
G^u3 a3
axaa-
D3x3[xr
D3xJ33a
33axaar
DJ0Da[a0
Daa3a3x3[xr
3x3
3^3
aaxax3
Xa
x3 x3a3a
2.2.
T
ecnica de Desarrollo de Objetos
Existen diversas formas tradicionales de expresar la resolucion programada de problemas anteriores al uso de la orientaci
on por objetos. Entre ellas se tienen el refinamiento paso a paso,
el dise
no modular y estructurado, los algoritmos
estructurados, el metodo deductivo, entre otros,
que pueden ser utilizados independientemente unos de otros, aunque ellos normalmente se usan en
conjunto, para analizar, dise
nar y documentar sistemas programados.
Con el advenimiento de la orientaci
on por objetos aparece la metodologa OMT (Object- oriented modeling technique) [39], que describe todo el
proceso de modelado de clases de objetos en el
modelo de objetos, y que adem
as incluye el soporte de las relaciones din
amicas y funcionales
entre las clases a traves de los modelos din
amico
y funcional. La Tecnica de Desarrollo de Sistemas
de Objetos (TDSO) est
a basada en el metodo deductivo y en la metodologa OMT [13]. Ademas,
OMT fue utilizada como base para el desarrollo
de UML [40]. Del primero contiene todas las fases,
incluyendo adem
as las de especificaci
on formal.
De la segunda se toman algunos de los diagramas
que fueron transformados y adaptados para TDSO, que soportan todos los constructos de la orientacion por objetos. La extensi
on de tales metodos se hace con la inclusi
on de una gua para el
desarrollo de las pruebas de tales sistemas, utilizando el paradigma de la programaci
on orientada por objetos.
TDSO permite:
3.
MASINA ha sido usada para el desarrollo de modelos de referencia basados en SMA en ambientes
de automatizacion y control de procesos, lo cual
ha permitido su depuracion y validacion, llegando a desarrollarse una metodologa general para
45
ser usada en el modelado de sistemas de ingeniera orientado a agentes. Como producto de esta depuracion y validaci
on, se han incorporado
nuevas herramientas de modelado UML version
2.0 [44], en las fases de conceptualizaci
on, analisis y dise
no, se han desarrollado plantillas bien
detalladas para especificar cada modelo en la fase
de analisis, se ha incorporado el uso de las plantillas de TDSO en la fase de dise
no y se han desarrollado plantillas para el dise
no de los casos de
pruebas.
3.1.1.
Objetivo
Identificar cada componente del sistema, su conformacion, las funcionalidades que provee, las actividades que realiza y las interacciones que se
producen entre ellos.
3.1.2.
Producto principal
3.1.
Flujo de trabajo
En la figura 5 se presenta el diagrama de actividades que muestra los pasos que se desarrollan en
esta fase. La tabla 2 contiene la descripcion detallada de esas actividades, las tecnicas a utilizar
y los productos obtenidos en cada paso.
Fase 1: Conceptualizaci
on
La fase de conceptualizaci
on consiste en la extraccion y adquisici
on del conocimiento para obtener
una primera descripci
on del SMA. Se identifican
los elementos que componen el SMA, los procesos que realizan estos componentes del SMA y las
relaciones que se establecen para cumplir los objetivos globales. La tabla 1 muestra la plantilla
usada para describir los casos de uso.
Condici
on de fracaso
Condici
on de
exito
3.2.
Fase 2: An
alisis
En esta fase se lleva a cabo la especificacion detallada de todos los elementos propuestos en la
fase de conceptualizacion, as como la especificacion de las comunicaciones y coordinacion entre el SMA. Esta fase se conoce, en muchas
metodologas, como analisis de requisitos, ya que
su objetivo o producto es la lista de requisitos
formales para la construccion del SMA, y permite construir lo que se denomina el modelo de
especificacion.
46
Tabla 2: Especificaci
on del flujo de trabajo de la fase de Conceptualizacion
Pasos
An
alisis del problema
Actividades
.- Definir el problema
.- Caracterizar el problema (descripci
on detallada)
Descripci
on
componentes
de
Descripci
on de servicios
.- Definir los servicios por cada componente del SMA y las actividades para
prestar dichos servicios
.- Describir las relaciones entre los
componentes del SMA, determinada
por los servicios que requiere un componente y los servicios que
este presta
Descripci
on
de
relaciones
entre
componentes
T
ecnicas y Notaciones
.- Revision bibliogr
afica
.- Levantamiento de informaci
on
.- Entrevistas
.- Reuniones
.- Modelado de casos de uso
en UML
.- Uso de plantillas para la
descripci
on de casos de uso
(ver tabla 1)
.- Modelado de diagramas
de actividades en UML
Productos
.- Documento de an
alisis del
problema
.- Modelado de diagramas
de secuencia en UML
.- Diagramas de secuencia
.- Diagramas de actividades
Tabla 3: Especificaci
on del flujo de trabajo de la fase de Analisis
Pasos
Modelado
agentes
de
Actividades
.- Especificar las caractersticas generales de cada uno de los agentes del
SMA
Modelado de tareas
Modelado de intelegencia
Modelado de coordinaci
on
Modelado de la comunicaci
on
T
ecnicas y Notaciones
.- Revisi
on del diagrama
de actividades para cada
agente
.- Uso de plantillas para
la especificaci
on del agente
(ver tabla 4)
.- Revisi
on de los servicios
definidos para el agente
.- Uso de plantillas para la
especificaci
on de tareas del
agente (ver tabla 6)
.- Revisi
on de las caractersticas
generales
del
agente
Productos
.- Tabla de especificaci
on de
agentes
.- Tabla de relaciones
Servicios-Tareas.
.- Tabla de especificaci
on de
tareas
.- Diagrama del modelo de
intelegencia (ver figura 2)
.- Revisi
on de las tareas definidas en el modelo
de tareas
.- Entrevistas con los expertos
.- Uso de t
ecnicas de
Ingeniera de Conocimiento
.- Revisi
on de los objetivos
y servicios definidos en el
modelo de agente
.- Revisi
on de las tareas
definidas en el modelo de
tareas
.- Diagramas de secuencia
en UML (ver figura 3)
.- Uso de plantillas para la
especificaci
on de las conversaciones (ver tabla 7)
.- Revisi
on de los actos de
habla definidos
.- Uso de plantillas para la
especificaci
on de los actos
de habla (ver tabla 8)
.- Modelado de diagramas
de secuencia para cada conversaci
on
.- Tablas de especificaci
on
de conversaciones
.- Diagrama de Coordinaci
on (ver figura 4)
.- Tablas de especificaci
on
de actos de habla
47
Nombre u
nico para el agente
Ubicaci
on del agente dentro del sistema multiagente
Agentes que lo componen (si es un SMA)
Marco de referencia para el modelado de agentes
Lo que hace el agente
Nombre del objetivo
Detalles del objetivo
Par
ametros necesarios para el cumplimiento del objetivo
Par
ametros que se esperan obtener una vez cumplido el objetivo
Condiciones que activan las tareas asociadas al cumplimiento del objetivo
Condiciones que indican la terminaci
on de las tareas asociadas al cumplimiento
del objetivo
Condiciones que indican el cumplimiento del objetivo
Condiciones que indican el no cumplimiento del objetivo
Descripci
on de la ontologa
Nombre del servicio ofrecido por el agente
Detalles del servicio
Clasificaci
on (Interno, Externo o ambos: servicio dual)
Par
ametros necesarios para el cumplimiento del servicio
Par
ametros obtenidos al finalizar el servicio
Valor
Confiabilidad
Capacidad del Agente
Habilidades del agente
Representaci
on del Conocimiento
Lenguaje de Comunicaci
on
Restricci
on del Agente
Normas
Preferencias
Permisos
3.2.1.
Descripci
on
Valor de la calidad del servicio
Valor del nivel de auditabilidad del servicio
Valor del nivel de garanta de recibir la solicitud del servicio
Valor de la capacidad del agente de cumplir con el servicio (capacidad de respuesta)
Valor de confiabilidad del servicio
Descripci
on de las habilidades generales del agente
Lenguaje de representaci
on del conocimiento
Lenguaje de comunicaci
on que usa el agente
Descripci
on de las normas del agente para el cumplimiento del servicio
Preferencias del agente en el momento de atender las solicitudes de servicio
Accesos a informaci
on permitidos para el agente para el cumplimiento de su
objetivo
Objetivo de la fase
3.2.2.
Producto principal
3.2.3.
Flujo de trabajo
En la figura 6 se presenta el diagrama de actividades que muestra los pasos que se desarrollan en
esta fase. De la misma manera que se presento en
la fase de conceptualizacion, la tabla 3 contiene
la descripcion detallada de las actividades para la
fase de analisis, las tecnicas a utilizar y los productos obtenidos en cada paso.
La tabla 4 muestra la plantilla que se usa para
realizar la descripcion del modelo de agente. En
esta descripcion se incluyen: Objetivos, Servicios,
Capacidad y Restricciones del agente.
La tabla 5 muestra la plantilla que se usa para
describir la relacion entre los servicios que presta el agente y las tareas que debe ejecutar para
cumplir con esos servicios. Para cada tarea del
48
Tabla 5: Relaci
on Servicios-Tareas del Agente
Servicios
Nombre Servicio 1
Nombre Servicio L
Tareas
Nombre Tarea S1 T1
..
.
NombreTarea S1 Tn
Nombre Tarea SL T1
..
.
NombreTarea SL Tk
3.3.
Fase 3: Dise
no
3.3.1.
Objetivo de la fase
Elaborar un dise
no detallado de los componentes
y de la plataforma del SMA.
Por otro lado, es necesario especificar las interacciones que se dan en el SMA. Para ello se utilizan
los modelos de coordinaci
on y comunicaci
on, en
donde se describen, entre otras cosas, las conversaciones y los actos de habla. Las tablas 7 y 8
muestran las plantillas para la especificaci
on de
las conversaciones y de los actos de habla, respectivamente.
3.3.2.
Producto principal
49
del SMA.
3.3.3.
Dise
nar y ejecutar el plan de pruebas a objeto de verificar que el comportamiento externo del SMA satisface los requisitos establecidos en la fase de analisis.
Flujo de trabajo
En la figura 7 se presenta el diagrama de actividades que muestra los pasos que se desarrollan en
esta fase; estos pasos se detallan en la tabla 9.
3.4.2.
Producto principal
3.4.3.
Flujo de trabajo
En la figura 8 se presenta el diagrama de actividades que muestra los pasos que se desarrollan en
esta fase; estos pasos se detallan en la tabla 13.
3.4.
Fase 4: Codificaci
on y Pruebas
3.4.1.
Objetivos de la fase
4.
Caso de Estudio
50
Tabla 9: Especificaci
on del flujo de trabajo de la fase de Dise
no
Pasos
Modelado
de
dise
no del SMA
Actividades
.- Definir las clases que representan a
los agentes
.- Definir la interacci
on entre agentes
.- Definir los componentes del SMA
.- Distribuir los componentes en una
arquitectura
.- Especificar detalladamente cada
componente
Modelado
dise
no
de
plataforma
SMA
de
la
del
T
ecnicas y Notaciones
.-Revisi
on del(los) diagrama(s) caso(s) de uso para
cada agente
.- Revisi
on de los modelos
para cada agente
.- Modelado de clases con el
diagramas de clase en UML
.- Estilos arquitect
onicos
.- Modelado de componentes con el diagramas de
componentes en UML
.- Uso de plantillas de TDSO para la especificaci
on detallada de los agentes (ver
tablas 10, 11 y 12)
.- Uso de diagramas de despliegue
Productos
.- Diagrama de clases
.- Diagrama de componentes
.- Descripci
on de la arquitectura del SMA
.- Tabla de definici
on del
universo de clases y TDAs
de cada agente
.- Tabla de definici
on formal
de la clase que representa a
cada agente
.- Tablas de especificaci
on
formal de los m
etodos de cada clase
.- Diagrama de despliegue
# Clase o TDA
<Versi
on #>
Universo de clases y/o TDAs <nombreSistema>
{Comentario sobre el universo de clases y/o TDAs}
<nombreClase> ([<tipo par
ametros>])[: <claseBase> ]
<nombreTDA>
Documentaci
on
clases o TDA
de
las
<Versi
on #>
# clase o TDA <nombreClase ([tipo par
ametros]) o nombreTDA> [: nombreClaseBase]
{Comentarios sobre la clase}
# m
etodo u Especificaci
on de atributos: Comprende los elementos de datos re.- Documentaci
on de las
operaci
on
queridos para conformar la estructura de datos interna de la clase o del
declaraciones.
TDA.
.- Documentaci
on de los
Especificaci
on sint
actica: Est
a constituida por los m
etodos (de una
atributos de la clase.
clase) u operaciones primitivas (de un TDA).
.- Documentaci
on de los
Declaraciones: Comprende las declaraciones de las instancias de la clase
m
etodos u operaciones
o TDA y de los atributos o variables que ser
an utilizadas en el escenario
definidas en la especifide pruebas de la especificaci
on sem
antica.
caci
on sint
actica.
Especificaci
on sem
antica: Presenta el escenario de c
omo se deben utilizar los m
etodos u operaciones as como su comportamiento.
<Versi
on #>
# clase o TDA, # del m
etodo u operaci
on (tipo del m
etodo u operaci
on, tipo de acceso)
nombreM
etodo o nombreOperaci
on (Tipo:par
ametro,?)[:tipoResultado]
{Comentario sobre el m
etodo}
{pre: <precondiciones>}
{pos: <poscondiciones>}
# Paso
Algoritmo
Documentaci
on de las variables utilizadas
# Caso de Casos de prueba
Documentaci
on de los caprueba
sos de prueba
51
Elaboraci
on
del
plan de pruebas
Realizaci
on
de
pruebas unitarias
por clase (unidad
de prueba)
Realizaci
on
de
pruebas horizontales de integraci
on
(por niveles de
clases y agentes)
y pruebas del sistema (funcionales
y no funcionales)
Realizaci
on
de
pruebas verticales
de integraci
on (por
niveles del SMA)
Realizaci
on
de
pruebas de instalaci
on
Realizaci
on
de
pruebas
aceptaci
on
de
Actividades
.- Seleccionar la plataforma de desarrollo (hardware y software)
.- Realizar el modelo de implementaci
on (diagrama de componentes
y diagrama de despliegue)
.- Seleccionar componentes de software
reutilizables, si aplica
.- Adaptar componentes de software
reutilizables, si aplica
.- Desarrollar componentes
.- Documentar el c
odigo fuente
.- Listar los componentes implementados: reutilizados, adaptados y desarrollados
.- Definir los objetivos de las pruebas
.- Definir los tipos de pruebas a realizar y las t
ecnicas a utilizar
.- Construir los formatos de los casos
de prueba
.- Dise
nar el plan de pruebas
.- Dise
nar los casos de prueba para los
m
etodos de cada clase
.- Ejecutar los casos de prueba para los
m
etodos de cada clase
.- Dise
nar los casos de prueba de instanciaci
on: herencia, polimorfismo y
encadenamiento din
amico
.- Ejecutar los casos de prueba de instanciaci
on
.- Registrar los resultados de ejecuci
on
de los casos de pruebas
.- Elaborar el resumen de incidentes de
pruebas
.- Dise
nar los casos de prueba
.- Construir emuladores (salidas) para
ejecutar pruebas internas (pruebas
horizontales o a un mismo nivel) ante
eventos externos
.- Documentar el c
odigo fuente de cada emulador
.- Ejecutar los casos de prueba
.- Registrar los resultados de ejecuci
on
.- Elaborar el resumen de incidentes de
pruebas
.- Dise
nar los casos de prueba
.- Construir un emulador que genere
los datos de los diferentes niveles del
SMA
.- Documentar el c
odigo fuente del emulador
.- Ejecutar los casos de prueba
.- Registrar los resultados de ejecuci
on
.- Elaborar el resumen de incidentes de
pruebas
.- Dise
nar los casos de prueba
.- Ejecutar los casos de prueba en el
ambiente real
.- Registrar los resultados
.- Elaborar el resumen de incidentes
.- Dise
nar los casos de prueba
.- Ejecutar los casos de prueba en el
ambiente real
.- Registrar los resultados
.- Elaborar el resumen de incidentes
T
ecnicas y Notaciones
.- Est
andares de codificaci
on y estilos de programaci
on
.- Modelado de implementaci
on
.- B
usqueda de componentes reutilizables
.- B
usqueda de componentes adaptables
Productos
.- C
odigo fuente documentado de los componentes del
SMA (reutilizados, adaptados, desarrollados)
.- Documento de implementaci
on
.- Est
andares de documentaci
on de pruebas
.- Herramientas o ambientes
de pruebas
.- Estrategias de pruebas
unitarias
.- Herramientas o ambientes
de pruebas
.- Documento de pruebas
horizontales y pruebas del
sistema
.- Documento de los emuladores para pruebas horizontales
.- Herramientas o ambientes
de pruebas
.- Documento de pruebas de
integraci
on
.- Documento de los emuladores para pruebas verticales
.- Herramientas o ambientes
de pruebas
.- Documento de Pruebas de
instalaci
on
.- Manual de instalaci
on
.- Herramientas o ambientes
de pruebas
.- Documento de pruebas de
aceptaci
on
52
4.1.
Fase I. Conceptualizaci
on
El Agente de visualizaci
on (AV) procesa solicitudes para el despliegue de valores de variables a
53
4.2.2.
Modelo de tareas
Precondici
on
Actores
Condici
on
de fracaso
Condici
on
de
exito
Gestionar visualizaci
on
Procesa solicitudes para el despliegue
de valores de variables a petici
on de
otros agentes del sistema.
Existencia de solicitudes de despliegue de datos, de actualizaci
on de
configuraci
on y perfiles de usuarios.
Usuario, Agentes de Aplicaci
on,
Agente Especializado y Agente
Gestor de datos.
Error de comunicaci
on, en la recepci
on de la solicitud o en el despliegue.
Datos presentados o actualizaci
on de
perfiles y configuraci
on de usuarios realizadas con
exito.
4.2.
Fase II. An
alisis
4.2.1.
Modelo de Coordinaci
on
En funcion del objetivo y servicios del AV, se define una conversacion que permite todas las interacciones necesarias para el cumplimiento de los
mismos. En la tabla 18 se presenta la conversacion
definida para el AV y en la figura 12 se presenta
el diagrama de interaccion con los actos de habla
de la conversacion definida.
Modelo de Agente
4.2.4.
Modelo de Comunicaci
on
54
Agente de Visualizaci
on
SMA
No aplica
No aplica
Se encarga del despliegue o visualizaci
on de datos solicitados por cualquier agente autorizado del sistema. Estos datos deben ser visualizados en un formato preestablecido en la
configuraci
on de la interfaz de usuario, de acuerdo a las necesidades de cada usuario. Las
actividades principales de este agente son: recibir solicitudes de visualizaci
on de datos, actualizar los perfiles y configuraci
on de los usuarios de acuerdo al rol dentro del sistema y
administrar las distintas formas de interfaz de usuario que puede soportar el agente (Web,
sistemas de ventanas con men
u, comandos, etc.)
Gestionar visualizaci
on de datos
Recibe la solicitud de visualizaci
on de datos identifica el formato de despliegue del o los
datos de acuerdo al perfil y configuraci
on del usuario y genera la visualizaci
on solicitada
Solicitud y datos relativos a la solicitud (identificador del solicitante, punto de despliegue,
identificador de los datos a visualizar, entre otros.)
Notificaci
on de Visualizaci
on del o los datos solicitados
Recepci
on de solicitud de visualizaci
on de datos
Datos visualizados
Se visualizaron los datos en el formato especificado
No se visualizaron los datos solicitados o el formato es incorrecto o se produjo un error en
la comunicaci
on entre los actores, o los datos no existen
Ontologa de visualizaci
on de datos
Desplegar datos
Recibe la solicitud de visualizaci
on y los datos relativos a la solicitud (identificador de las
variable, rangos de valores a desplegar, entre otros). El agente verifica el perfil de usuario
(permisos, entre otros), consulta (los) repositorio(s) donde se encuentran los datos, consulta
la configuraci
on del usuario y envia los datos al dispositivo o punto de despliegue. Este
servicio puede ser ejecutado bajo la modalidad de peticiones o se inicia una vez y luego
siempre se estar
a ejecutando cuando la aplicaci
on as lo requiera.
Tipo de Servicio
Dual
Par
ametros de entrada
Solicitud con datos relativos a la solicitud (variables o rangos a desplegar, identificador del
usuario, localizaci
on del repositorio donde se encuentra el (los) valor(es) de la(s) variable(s),
dato(s) o rango(s) a desplegar, punto de despliegue).
Par
ametros de salida
Notificaci
on de visualizaci
on de los datos
Propiedades del Servicio
Nombre
Valor
Descripci
on
Calidad
0Porcentaje de la calidad del servicio en funci
on del tiempo de respuesta
100
Auditable
1
Capacidad de diagnosticar la calidad del servicio
Confiabilidad 0Certificaci
on de respuesta
100
Capacidad General
Habilidades del agente
Gestionar los medios de almacenamiento, Gestionar Dispositivos de despliegues
Representaci
on del
No aplica
Conocimiento
Lenguaje de
ACL
Comunicaci
on
Restricci
on
Normas
El acceso a los medios de almacenamiento estar
a supeditada a la existencia de conexi
on
entre el agente gestor de datos y los medios de almacenamiento. La gesti
on de dispositivos
de despliegues remotos estar
a sujeta a la conectividad entre el agente solicitante y el punto
de despliegue de los resultados.
Preferencias
Gesti
on de las solicitudes por orden de llegada
Permisos
Los medios de almacenamiento son accedidos a trav
es del Agente Gestor de Datos
55
CONVERSACION:
Solicitud de servicio al AV
Objetivo
Enviar al Agente de Visualizaci
on el listado de los datos, variables operacionales
o rangos a desplegar, de manera permanente o puntual a solicitud de un agente
autorizado del sistema
Agentes
Agente de Aplicaciones, Agente especialparticiizado, Agente Gestor de Datos, Agente
pantes
de Visualizaci
on
Iniciador
Cualquiera de los agentes autorizados del
sistema
Actos
de Solicitar visualizaci
on
habla
Consultar datos
Visualizar datos
Respuesta
Precondici
on Existir una solicitud de visualizaci
on de
datos, variables operacionales o rangos,
existir la comunicaci
on entre los agentes
involucrados, existir dispositivo de despliegue habilitado
Condici
on
Notificaci
on al agente solicitante sobre
de termi- la respuesta de visualizaci
on o actualnaci
on
izaci
on de los datos en el dispositivo solicitado
Descripci
on Mediante esta conversaci
on, el agente solicitante inicia la conversaci
on que permite al Agente Visualizaci
on interactuar
con los actores involucrados en en servicio, para lograr el despliegue de los datos,
en el dispositivo de salida indicado por el
agente solicitante del servicio.
4.3.
56
5.
Conclusiones
El caso de estudio presentado muestra las bondades de la metodologa para llevar a cabo el
dise
no de un agente que cumple un servicio especfico dentro de un SMA.
Agradecimientos
Este trabajo ha sido financiado por el FONACIT bajo el proyecto No. 2005000170, y por el
CDCHT-ULA a traves del proyecto No. I-820-0502-AA, instituciones a quienes los autores expresan sus agradecimientos.
Referencias
[1] D. Tegarden A. Dennis, B. H. Wixom. Systems analysis and design with UML version
2.0: an object-oriented approach. John Wiley
& Sons, 2005.
[2] J. Aguilar, I. Besembel, O. Teran, F. Narciso, M. Cerrada, F. Hidrobo, A. Ros, and
L. Leon. Descripcion del Marco Referencial:
Desarrollo de Ingeniera Conceptual de Software para la definicion de una Arquitectura
Sistemica que permita implementar las funcionalidades y tecnologas identificadas en
las mesas corporativas de Arquitectura y de
Aplicaciones sobre la Plataforma Net-DAS
2.0. Informe Tecnico, FUNDACITE-ULA,
Venezuela, Noviembre 2004.
[3] J. Aguilar, C. Bravo, E. Colina, and F. Rivas. Sistema Multiagentes para Tratamiento
de Situaciones Anormales en Procesos Industriales. In V Congreso Nacional de la Asociaci
on Colombiana de Autom
atica, pages
2428, Medelln-Colombia, Julio 2003.
[4] J. Aguilar, C. Bravo, and F. Rivas. Dise
no de
una Arquitectura de Automatizacion Industrial basada en Sistemas Multiagentes. Revista Ciencia e Ingeniera, Facultad de Ingeniera, 25(2):7588, Julio 2004.
[5] J. Aguilar, V. Bravo, M. Cerrada,
F. Hidrobo, G. Mousalli, and F. Rivas.
Especificacion detallada de los agentes
del SCDIA. Informe Tecnico del 3er a
no,
Proyecto Agenda Petroleo, ULA-FONACIT,
Venezuela, Diciembre 2003.
3
4
5
6
1
2
4
5
6
7
8
9
10
11
12
Versi
on 1.0
AgenteVisualizacion
{Colecci
on de clases y TDAs requerida para implantar el AV}
Especificaci
on de atributos:
ArchivoHash<Perfil>:perfilAgente
Perfil: TDA que permite almacenar los elementos estructurales del perfil del Agente solicitante. Posee los
campos: IdAgente y Descripci
onPerfil
perfilAgente: Archivo hash donde se almacenan los
perfiles de los distintos agentes conocidos por AV
ArchivoHash<Configuracion>:confDespliegue
Configuracion: TDA que permite almacenar los elementos estructurales de la configuraci
on del Agente
solicitante. Esta estructura posee los campos: IdPerfil,IdConf, ConfiguracionDespliegue, Salida. Donde
ConfiguracionDespliegue es una estructura que describe la informaci
on referente al despliegue
confDespliegue: Archivo hash donde se almacenan las
distintas configuraciones relacionadas con un perfil
Perfil:perfilActual
perfilActual: Variable interna que se usa para cargar
un registro del archivo perfilAgente en memoria
Configuracion:confActual
confActual: Variable interna que se usa para cargar
un registro del archivo confDespliegue en memoria
IdAgente: idAgente
ideAgente: Identificaci
on del agente
IdConf:idConfig
idConf : Identificaci
on de la configuraci
on
Especificaci
on sint
actica:
construirAgenteVisualizacion(ArchSec< P erf il > : per- construirAgenteVisualizacion(): Crea un agente del
filInicial, ArchivoSec< Conf iguracion > : confInicial)
tipo AgenteVisualizacion
desplegarDatosSuministrados(IdAgente : idA, IdConf : desplegarDatosSuministrados(): M
etodo que perconf, Lista<InformacionVar> : listaValores) : Logico
mite el despliegue de los datos suministrado como
par
ametro siguiendo la configuraci
on de despliegue.
desplegarDatosConsultados(IdAgente : idA, IdConf : desplegarDatosConsultados(): M
etodo que permite el
conf, Lista<InformacionVar> : listaVar) : Logico
despliegue de los datos asociados a la configuraci
on de
visualizaci
on del agente. Este m
etodo permite generar
gr
aficos de tendencias, hacer consultas autom
aticas a
los repositorios de datos y hacer despliegues
insertarPerfilAgente(IdAgente : idA, Perfil : perfiAgente) insertarPerfilAgente(): Inserta un nuevo perfil del
: Logico
agente para que sea conocido por el AV.
consultarPerfilAgente(IdAgente : idA) : Perfil
consultarPerfilAgente(): Devuelve el perfil del agente.
modificarPerfilAgente(IdAgente : idA, Perfil : nuevoperfi- modificarPerfilAgente() : Modifica el perfil actual del
Agente, Configuracion: nuevaConfiguracion) : Logico
agente que invoca agente de visualizaci
on.
eliminarPerfilAgente(IdAgente : idA) : Logico
eliminarPerfilAgente(): Elimina el perfil actual del
agente que invoca agente de visualizaci
on.
insertarConfiguracionAgente(IdAgente : idA, Configura- insertarConfiguracionAgente() : Inserta una nueva
cion : nuevaConfiguracion) : Logico
configuraci
on asociada al agente cliente. Un agente
puede tener varias configuraciones de despliegue.
consultarConfiguracionAgente(IdAgente : idA) :Lista<
consultarConfiguracionAgente(): Devuelve la configConfiguraci
on >
uraci
on que esta activa del agente cliente.
modificarConfiguracionAgente(IdAgente : idA, IdConf: modificarConfiguracionAgente(): Modifica la configuidc, Configuracion : nuevaConfiAgente) : Logico
raci
on de despliegue de un agente cliente
eliminarConfiguracionAgente(IdAgente : idA, IdConf: eliminarConfiguracionAgente(): Elimina una configuidc) : Logico
raci
on del agente cliente.
destruirAgenteVisualizacion()
destruirAgenteVisualizacion(): Elimina un agente del
tipo AgenteVisualizacion.
Declaraciones
AgenteVisualizacion x
x : Instancia (objeto) de la clase AgenteVisualizacion.
Logico ban
ban: cierto si hay
exito, falso si no.
Especificacaci
on Sem
antica
AgenteVisualizacion() AgenteVisualizacion
x.desplegarDatosSuminstrados() ban
x.desplegarDatosConsultados ban
x.destruirAgenteVisualizacion()
57
58
Versi
on 1.0
1,2 (Observador, P
ublico)
desplegarDatosSuministrados(IdAgente: idA, IdConf: conf, Lista<InformacionVar>: listaValores): Logico
{Despliega los valores suministrados como par
ametros siguiendo la configuraci
on asociada al agente que solicitante}
{Pre: Debe existir Archivo hash de perfil y de configuraciones}
1
Si (Existe perfilAgente y confDespliegue) entonces
perfilActual=perfilAgente.busca(idA)
confActual=confDespliegue(idA, conf)
desplegar(perfilActual,confActual,listaValores)
2
3
Devolver(cierto)
sino
Devolver(falso)
fin si
crearAgenteVisualizacion x
x.desplegarDatosSuministrados() Cierto o Falso
[17] B. Burmeister. Models and methodology for agent-oriented analysis and design.
In K. Fisher, editor, Working Notes of the
KI96 Workshop on Agent-Oriented Programming and Distributed Systems, Eindhoven, The Netherlands, 1996.
59
of the 5th International Workshop on Intelligent Agents V, Agent Theories, Architectures, and Languages, pages 317330, London, UK, 1999. Springer-Verlag.
[30] C.A. Iglesias. Definicion de Metodologa
para el Desarrollo de Sistemas Multiagentes.
Masters thesis, Universidad Politecnica de
Madrid, Departamento de Igeniera de Sistemas Telematicos, Madrid, Espa
na, Enero
1998.
[31] C.A. Iglesias, M. Garijo, J:C Gonzalez, and
J.R. Velazco. Analysis and Design of MultiAgent Systems using MAS-CommonKADS.
In M.P. Singh, A.S. Rao, and M. Wooldridge,
editors, Intelligent Agents IV. Agents Theories, Architectures and Language, pages 1
16. Springer, LNAI 1365, 1999.
[32] Aguilar J., Cerrada M., Mousalli G., Rivas
F., and Hidrobo F. A Multiagent Model for Intelligent Distributed Control Systems. Lecture Notes in Artificial Intelligence,
3681:191197, 2005.
[33] N. Jennings and S. Bussmann. Agent-based
Control Systems. IEEE Control Systems
Magazine, pages 6173, 2003.
[34] D. Kinny, M. Georgeff, and A. Rao. A
Methodology and Modelling Technique for
Systems of BDI Agents. In Rudy van Hoe,
editor, Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent
World, Eindhoven, The Netherlands, 1996.
[35] V. Marik and D. McFarlane.
Industrial Adoption of Agent-Based Technologies.
IEEE Intelligent Systms, pages 2735, 2005.
[36] J. Montilva. Desarrollo de Aplicaciones
Empresariales. El Metodo Watch. Informe
Tecnico, Grupo de Investigacion en Ingeniera de Datos y Conocimiento. Universidad
de Los Andes, Merida, Venezuela, 2004.
[37] Y-E. Nahm and H. Ishikawa. A hybrid
multi-agent system architecture for enterprise integration using computer networks.
Robotics and Computer-Integrated Manufacturing, 21:217234, 2005.
[38] F. Narciso and I. Besembel. Tecnicas de
Desarrollo de Sistemas de Objetos (TDSO).
In XXII Seminario Interuniversitario de Investigaci
on en Ciencias Matem
aticas, pages
440450, Ponce, Puerto Rico, Febrero 2007.
60
Group.
[40] OMG. Unified Modeling Language Specification, 2003. Version 2.0, June 2003 via
http://www.uml.org.
[39] OMG.
Object Management
http://www.omg.org.
[41] A. Omicini. SODA: Societies and Infrastructures in the Analysis and Design of AgentBased Systems. In P. Ciancarini and M.J.
Wooldridge, editors, Agent-Oriented Software Engineering, pages 185194. Springer,
LNCS 1957, 2001.
[42] D. Ouelhadj, S. Petrovic, P.I. Cowling, and
A. Meisels. Inter-agent cooperation and communication for agent-based robust dynamic
scheduling in steel production. Advanced Engineering Informatics, 18:161172, 2004.
[43] L. Padgham and M. Wimikoff. Prometheus:
A Methodology for Developing Intelligent
Agents. In P. Giunchiglia, J. Odell, and
G. Weiss, editors, Agent-Oriented Software
Engineering III, pages 174185. Springer,
LNCS 2585, 2003.
[44] D. Pilone and N. Pitman. UML 2.0 in a
Nutshell. OREALLY, 2005.
[45] A. Ros, F. Hidrobo, J. Aguilar, and
M. Cerrada.
Control and Supervision
Sytem Development with Intelligent Agents.
WSEAS Transactions on Systems, 6(1):141
148, 2007.
[46] M. Russ. Learning UML 2.0. Sebastopol
OReilly Media, 2006.
[47] G. Schreiber, B. Wielinga, R. de Hoog,
H. Akkermans, and W. Van de Velde. CommonKADS: A Comprehensive Methodology for KBS Development. IEEE Expert:
Intelligent Systems and Their Applications,
9(6):2837, 1994.
[48] A. L. Self and S. A. DeLoach. Designing
and Specifying mobility within the multiagent systems engineering methodology. In
SAC 03: Proceedings of the 2003 ACM symposium on Applied computing, pages 5055,
New York, NY, USA, 2003. ACM Press.
[49] S.W. Ambler. The object primer: the application developers guide to object orientation
and the UML. Cambridge University Press,
New York, 2nd ed. edition, 2001.
[50] S. Vafadar, A. Barfouroush, and M. Reza A.
Shirazi. Towards a More Expressive and