manual del programador-agentes
DESCRIPTION
Manual del programadorTRANSCRIPT
Índice de Contenidos
Índice .................................................................................................. 1
Índice de figuras ................................................................................. 3
Índice de tablas ................................................................................... 4
Requerimientos de Hardware y Software para la instalación y
aplicación de la aplicación. .................................................................
5 Arquitectura de la
Aplicación. ............................................................. 6
Diagrama de clases ............................................................................ 7
Diagramas de Comunicación. ............................................................ 8
Informar accidente. ......................................................................... 8
Establecer comunicación entre agentes. ........................................ 9
Informar congestionamiento. ........................................................ 10
API DE LA APLICACIÓN .................................................................. 11
Agentes. ............................................................................................ 11
Resumen de la clase del paquete Agente. ................................... 11
1
dorManual del Programa
Descripción de la clase. ................................................................ 11
Comportamientos. ............................................................................ 12
Resumen de las clases del paquete Comportamientos ............... 12
Descripción de las clases.............................................................. 12
Contenedor ....................................................................................... 14
Resumen de la clase del paquete Contenedor. ............................ 14
Descripción de la clase. ................................................................ 15 BEANS .............................................................................................. 16
Resumen de las clases del paquete BEANS ................................ 16
Descripción de las clases.............................................................. 16
DAO .................................................................................................. 21
Resumen de las clases del paquete DAO. ................................... 21
Descripción de las clases.............................................................. 21
UTIL .................................................................................................. 24
Resumen de las clases del paque UTIL ....................................... 24
2
dorManual del Programa
Descripción de las clases.............................................................. 24
Índice de figuras
Fig 3. Diagrama de comunicación de informar accidente................................Fig 4. Diagrama de comunicación entre agentes............................................Fig 5. Diagrama de comunicación: Informar congestionamiento...................
3
dorManual del Programa
Índice de tablas TABLA I. REQUERIMIENTOS PARA LA INSTALACIÓN DE LA
APLICACIÓN ...................................................................................... 5 TABLA II. REQUERIMIENTOS PARA LA UTILIZACIÓN DE LA
APLICACIÓN. ..................................................................................... 5 TABLA III. RESUMEN DE LA CLASE DEL PAQUETE AGENTE .... 11 TABLA IV. DESCRIPCIÓN DE LA CLASE EmisorReceptor ............ 11 TABLA V. RESUMEN DE LAS CLASES DE LOS COMPORTAMIENTOS. .................................................................... 12 TABLA VI. DESCRIPCIÓN DE LA CLASE ComportamientoEmisor.
4
dorManual del Programa
.......................................................................................................... 13 TABLA VII. DESCRIPCIÓN DE LA CLASE ComportamientoReceptor.
.......................................................................................................... 14 TABLA VIII. RESUMEN DE LA CLASE ContenedorAgentes . ........ 14 TABLA IX. DESCRIPCIÓN DE LA CLASE ContenedorAgentes ..... 15 TABLA X. RESUMEN DE LAS CLASES DEL PAQUETE BEANS. . 16 TABLA XI. DESCRIPCIÓN DE LA CLASE agenteBean. ................ 17 TABLA XII. DESCRIPCIÓN DE LA CLASE appBean. .................... 18 TABLA XIII. DESCRIPCIÓN DE LA CLASE loginBean .................. 18 TABLA XIV. DESCRIPCION DE LA CLASE mapaBean. ................. 19 TABLA XV. DESCRIPCIÓN DE LA CLASE mapaInicialBean. ........ 20 TABLA XVI. DESCRIPCIÓN DE A CLASE usuarioBean ................. 21 TABLA XVII. RESUMEN DE LAS CLASES DEL PAQUETE DAO. 21 TABLA XVIII. DESCRIPCION DE LA CLASE AgenteDaoImpl. ....... 22 TABLA XIX. DESCRIPCIÓN DE LA CLASE CreenciasDaoImpl .... 23 TABLA XX. DESCRIPCIÓN DE LA CLASE DeseosDapImpl ......... 23 TABLA XXI. DESCRIPCIÓN DE LA CLASE UsuarioDaoImpl ......... 23 TABLA XXII. RESUMEN DE LAS CLASES DEL PAQUETE UTIL. . 24 TABLA XXIII. DESCRIPCIÓN DE LA CLASE MyUtil ....................... 24 TABLA XXIV. DESCRIPCIÓN DE LA CLASE Programación .......... 25 TABLA XXV. DESCRIPCIÓN DE LA CLASE TareaInvocar ............ 25
5
dorManual del Programa
Requerimientos de Hardware y Software para la instalación y aplicación de la aplicación.
TABLA I. REQUERIMIENTOS PARA LA INSTALACIÓN DE LA APLICACIÓN Requerimientos para la instalación de la aplicación en el servidor
Hardware
Número de procesadores
1 o más
Procesador sugerido Core i3 de 2.80 GHz o superior
RAM 8 GB o superior
Disco Duro 500 GB o superior
Software
Sistema Operativo Ububtu Server Edition 9.04 o superior.
Motor de la base de datos MySQL
TABLA II. REQUERIMIENTOS PARA LA UTILIZACIÓN DE LA APLICACIÓN. Requerimientos para la utilización de la aplicación por los usuarios finales
Hardware
Número de procesadores
1 o más
Procesador Pentium IV de 2GHz o superior.
RAM 2 GB o superior
Software
Sistema Operativo Windows, Mac, Ubuntu
Navegadores Chrome 35+, Opera 11+, Safari 5+
Arquitectura de la Aplicación.
6
dorManual del Programa
Diagrama de clases
7
Peticiones HTTP
User-PC
Navegador
Administrador
Servidor web. BDD
Arquitectura del Sistema Multiagente.. 1Fig
Cliente
Servidor
dorManual del Programa
Fig 2. Diagrama de Clase.
Diagramas de Comunicación.
Informar accidente.
8
dorManual del Programa
Fig 3. Diagrama de comunicación de informar accidente
Establecer comunicación entre agentes.
9
dorManual del Programa
Fig 4. Diagrama de comunicación entre agentes.
Informar congestionamiento.
10
dorManual del Programa
Fig 5. Diagrama de comunicación: Informar congestionamiento.
API DE LA APLICACIÓN
Agentes.
11
dorManual del Programa
Resumen de la clase del paquete Agente. TABLA III. RESUMEN DE LA CLASE DEL PAQUETE AGENTE
Clases Descripción EmisorReceptor Permite activar e incializar y liberar
recursos del agente.
Descripción de la clase. Class EmisorReceptor.
• Paquete: semaforosAgentes\Agentes TABLA IV. DESCRIPCIÓN DE LA CLASE EmisorReceptor
Resumen
void
doActivate() Activa sus agentes y su comportamiento.
Protected void
setup()
Inicializa los agentes, incluyendo instrucciones y comportamiento asociados al agente
Protected void
takeDown()
Libera recursos antes de la eliminación de un agente.
Comportamientos.
Resumen de las clases del paquete Comportamientos TABLA V. RESUMEN DE LAS CLASES DE LOS COMPORTAMIENTOS.
Clases Descripción
12
dorManual del Programa
ComportamientoEmisor Se especifica las tareas y servicios que realiza un agente para lograr sus objetivos, Por ejemplo envíar mensajes a sus receptores.
ComportamientoReceptor Se especifica las tareas y servicios que realiza un agente para lograr sus objetivos, Por ejemplo: Responder a sus emisores.
Descripción de las clases. Class ComportamientoEmisor.
• Paquete: SemaforosAgentes\Comportamientos. TABLA VI. DESCRIPCIÓN DE LA CLASE ComportamientoEmisor.
Resumen
public void
action()
Define la accion a ser ejecutada cuando se ejecuta el comportamiento, es invocado cuando se produce el evento asociado al
. comportamiento
private void
ACLMensaje(agentes, mensajeC) s de
FIPA-
es
Comunicación de agentes a travéACL y el tipo de mensaje
“ACLMessage.INFORM” donde informa a un receptor que una proposición es cierta.Parametros: Agentes: Agente emisor mensajeC: Cadena del mensaje a enviar
getAgentes()
13
dorManual del Programa
public Agentes Obtener agentes.
Class ComportamientoReceptor.
• Paquete: SemaforosAgentes\Comportamientos.
TABLA VII. DESCRIPCIÓN DE LA CLASE ComportamientoReceptor.
Resumen
public void
action()
Define la accion a ser ejecutada cuando se ejecuta el comportamiento, es invocado cuando se produce el evento asociado al
comportamiento .
public void
setAgente()
Se establece los agentes
receptores.
Contenedor
Resumen de la clase del paquete Contenedor. TABLA VIII. RESUMEN DE LA CLASE ContenedorAgentes .
14
dorManual del Programa
Clases Descripción ContenedorAgentes El contenedor de agentes o conocido en
JADE como mainContainer es donde se almacena los agentes, donde se crea el agentes y proporcionando el soporte para la ejecución de agentes.
Descripción de la clase. Class ContenedorAgentes.
• Paquete: SemaforoAgente\Contenedor TABLA IX. DESCRIPCIÓN DE LA CLASE ContenedorAgentes
Resumen
public void
contenedorAgentes()
Se inicia y se crea el contenedor principal, con un número de puerto.
public void
iniciarAgente() Se incia los semáforos almacenados desde la
BDD.
Jade.wrapper.Agen
tController
getAgentController()
Controlador de agentes.
Jade.wrapper.Agen
tContainer
getMainContainer()
Contenedor de agentes.
Main (String [] args)
15
dorManual del Programa
Static void Arranca el contenedor de agentes e incia los agentes.
BEANS
Resumen de las clases del paquete BEANS TABLA X. RESUMEN DE LAS CLASES DEL PAQUETE BEANS.
Clases Descripción agenteBean Se programa las caracterisiticase de los
semáforos.
appBean Direccionamientos para Login de usuario o administrador para ingresar el sistema.
loginBean Validar el Login del usuario o administrador.
mapaBean Clase para simular la ruta.
mapaInicialBean Mapa principal de la ciudad con los semáforos como marcadores.
menuBean Menu para guardar, agregar, eliminar semáforos y salir del sistema
usuarioBean Crear, eliminar, guardar y modificar caracterisitcas del usuario.
Descripción de las clases. Class agenteBean
• Paquete: semaforoAgente\Beans TABLA XI. DESCRIPCIÓN DE LA CLASE agenteBean.
Resumen
public void
actualizarAgente() de los agentes. Actualiza caracteristicas
btnDeleteAgentes()
16
dorManual del Programa
public void Boton para eliminar agentes.
public boolean codigoRepetido()
Control para no repetir semáforos con el mismo codigo.
public void eliminarAgentes() Elimina agentes creados
public
List<Agentes>
getAgentes() a de agentes. Obtiene una list
public Agentes getSelectedAgentes()
Seleccionar agentes.
public
List<String>
getTipoLuz() una lista del tipo de Luz del Se obtiene
semáforo.
Public void guardarAgente() Se guarda los agentes creados.
Class appBean.
• Paquete: semaforoAgente\Beans.
TABLA XII. DESCRIPCIÓN DE LA CLASE appBean.
Resumen
17
dorManual del Programa
public String
getBaseUrl()
Se obtiene la dirección web que inicia el
programa.
public String
getBasePath() Se obtiene la dirección web de las vistas del
programa.
Class loginBean
• Paquete: semaforosAgentes\Beans TABLA XIII. DESCRIPCIÓN DE LA CLASE loginBean
Resumen
Public Usuario getUsuario()
Usuario obtenido para el Login del Sistema.
public void
Login(ActionEvent event)
Mensaje validando login del administrador.
Public void Logout()
Salir del sistema.
Public void setUsuario()
e el usuario para Login Se establec
18
dorManual del Programa
Paquete: semaforosAgentes\Beans Class mapaBean
TABLA XIV. DESCRIPCION DE LA CLASE mapaBean.
Resumen
public Agentes
agenteMasCercano(LatLng
ano al punto de
coordenadaUsuario)
ás cercDetermina el agentes m origen del usuario.
public void
agregarCoordinadasIniciales(Point
a
SelectEvent event) l y final parAregar las coordenadas inicia trazar la ruta.
public ArrayList
listaAccidentes() coordenadas de los
estado de accidentes enadas.
Retorna una lista de agentes que están con @return: lista de coord
public ArrayList
listaCongestionamiento() enadas de los estado de Retorna una lista de coord
agentes que están con congestionamiento @return: lista de coordendas
public ArrayList
listaHitos(LatLng
coordenadaUsuarioInicial, LatLng
coordenadaUsuarioFinal)
Determina las coordenadas de los puntos por los cuales se debe reconfigurar la ruta del usuario.
public Agentes
masCercanoAlDestino(Agente1,
Agente2, coordenadaUsuarioFinal)
o Determina el agentes mas cercano al destin del usuario.
19
dorManual del Programa
Paquete: semaforosAgentes\Beans Class mapaInicialBean
TABLA XV. DESCRIPCIÓN DE LA CLASE mapaInicialBean.
Resumen
public void
addMarker()
vitar que se repita el codigo al gregar un semáforo en el mapa
Control para e momento de a
public void Cancelar() ación del
semáforo. Cancelar la cre
public boolean CodigoRepetido() o repetir el codigo del
semáforo. Control para n
public void
ejecutarAgentes() l los agentes almacendaos en el Ejecuta e inicia
contenedor
public void
emitirMsj()
Emitir mensajes cuando se seleccioana un se simula el accidente, o
creación de un agente. agentes y aglomeración
public void
Limpiar()
Limpia de la BDD el campo de estado.
public void
mostrarPanel() Mustra información de la Longitud y Latitud
de los semáforos.
Public void
onMarketSelect(SelectEvent event)
Seleccionar agentes del mapa Parametro: event
Public void Init() Inicia el mapa por defecto
20
dorManual del Programa
Paquete: semaforosAgentes\Beans
Class usuarioBean.
TABLA XVI. DESCRIPCIÓN DE A CLASE usuarioBean
Resumen
public void actualizarUsuario()
Actualiza los parametros de un usuario
public void cancelar() Cancela la creación de un usuario.
Public void eliminarUsuario()
Eliminar Usuario.
Public void guardarUsuario() Guarda el usuario creado
DAO
Resumen de las clases del paquete DAO. TABLA XVII. RESUMEN DE LAS CLASES DEL PAQUETE DAO.
Clases Descripción AgenteDaoImpl Consulta a la BDD sobre agentes,
obtención de agentes más cercanos
CreenciasDaoImpl Consulta a la BDD sobre creencias
DeseoDaoImpl Consulta ala BDD sobre deseos.
UsuarioDaoImpl Consulta a la BDD sobre usuarios.
Descripción de las clases. Class AgenteDaoImpl.
• Paquete: semaforosAgentes\Dao
21
dorManual del Programa
TABLA XVIII. DESCRIPCION DE LA CLASE AgenteDaoImpl.
Resumen
public void
editarAgente(Agente agente) Edita agente y se establaece en la BDD Return: Agente.
public void
eliminarAgente()Agentes agente
Elimina agente almcenados en la BDD.
public void guardarAgente() semáforos
en la BDD Guarda los
public
List<Agentes>
obtenerAgentesCompletos(Double
Lat, Double Lng)
Parametros: Latitud del agente, Longitud del
agente. @return: Lista de agentes.Lista de agentes con su Latitud o Longitud
public
List<Agentes>
obtenerAgentesMasCercanos(double
Lat, Double Lng)
Encuetra los 4 semáforos mas cercanos de donde se produce el accidente, aglomeración a se agrega un nuevo agente.
public
List<Agentes>
ObtenerAgentesMismoSentido(String
sentido)
Obtener agentes del mismo sentido. entido.
@return: Lista de agentes.
Parametro: S
22
dorManual del Programa
Class CreenciasDaoImpl
• Paquete: semaforosAgentes\Dao TABLA XIX. DESCRIPCIÓN DE LA CLASE CreenciasDaoImpl
Resumen
public
list<creencias>
findAll() Consultas creencias a la BD
public Creencias findByCodigo(String codigo)
Consultas a las creencias por codigo Pametro: codigo
Class DeseosDaoImpl
• Paquete: semaforosAgentes\Dao TABLA XX. DESCRIPCIÓN DE LA CLASE DeseosDapImpl
Resumen
public
list<Deseos>
findAll()
tas Deseos a la BD Consul
public Deseos findByCodigo(String codigo)
Consultas a los deseos por codigo Pametro: codigo
Class UsuarioDaoImpl
• Paquete: semaforosAgentes\Dao TABLA XXI. DESCRIPCIÓN DE LA CLASE UsuarioDaoImpl
Resumen
public void editarUsuario(Usuario usuario)
Editar Usuarios en la BD
23
dorManual del Programa
public void
eliminarUsuarios(Usuario usuario)
Elimina usuarios de la BD
Public Usuario Login() Login del usuario
UTIL
Resumen de las clases del paque UTIL TABLA XXII. RESUMEN DE LAS CLASES DEL PAQUETE UTIL.
Clases Descripción MyUtil Path, direccion web del inicio del
sistema.
Programación Tiempo que dura los accidente o aglomeraciones.
TareaInvocar La clase que tiene la tarea debe de implementar de la clase Job de Quartz ya que el programador de la tarea va a buscar una clase que implemente de ella y buscara el metodo execute para ejecutar la tarea
Descripción de las clases. Class MyUtil
• Paquete: semaforosAgentes\Util TABLA XXIII. DESCRIPCIÓN DE LA CLASE MyUtil
Resumen
public static basePath() Dirección de las vistas del sistema.
public static Basepathlogin() Dirección para el Login del sistema
24
dorManual del Programa
Public static baseURL()
Dirección fuente del sistema
Class Programación
• Paquete: semaforosAgentes\Util TABLA XXIV. DESCRIPCIÓN DE LA CLASE Programación
Resumen
public void
IniciarTarea()
Metodo que da la informacion mas detallada sobre el horario, como hora de inicio de la tarea y cada cuanto tiempo se ejecute la tarea.
Class TareaInvocar
• Paquete: semaforosAgentes\Util
TABLA XXV. DESCRIPCIÓN DE LA CLASE TareaInvocar
Resumen
public void
execute()
Metodo que se ejecutara cada cierto tiempo que le programemos.
25
dorManual del Programa