34
Manual del Programa dor Í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 1

Manual Del Programador-Agentes

Embed Size (px)

DESCRIPTION

Manual del programador

Citation preview

Page 1: Manual Del Programador-Agentes

Í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

Page 2: Manual Del Programador-Agentes

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

Page 3: Manual Del Programador-Agentes

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

Page 4: Manual Del Programador-Agentes

Í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

Page 5: Manual Del Programador-Agentes

.......................................................................................................... 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

Page 6: Manual Del Programador-Agentes

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

Page 7: Manual Del Programador-Agentes

Diagrama de clases

7

Peticiones HTTP

User-PC

Navegador

Administrador

Servidor web. BDD

Arquitectura del Sistema Multiagente.. 1Fig

Cliente

Servidor

dorManual del Programa

Page 8: Manual Del Programador-Agentes

Fig 2. Diagrama de Clase.

Diagramas de Comunicación.

Informar accidente.

8

dorManual del Programa

Page 9: Manual Del Programador-Agentes

Fig 3. Diagrama de comunicación de informar accidente

Establecer comunicación entre agentes.

9

dorManual del Programa

Page 10: Manual Del Programador-Agentes

Fig 4. Diagrama de comunicación entre agentes.

Informar congestionamiento.

10

dorManual del Programa

Page 11: Manual Del Programador-Agentes

Fig 5. Diagrama de comunicación: Informar congestionamiento.

API DE LA APLICACIÓN

Agentes.

11

dorManual del Programa

Page 12: Manual Del Programador-Agentes

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

Page 13: Manual Del Programador-Agentes

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

Page 14: Manual Del Programador-Agentes

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

Page 15: Manual Del Programador-Agentes

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

Page 16: Manual Del Programador-Agentes

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

Page 17: Manual Del Programador-Agentes

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

Page 18: Manual Del Programador-Agentes

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

Page 19: Manual Del Programador-Agentes

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

Page 20: Manual Del Programador-Agentes

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

Page 21: Manual Del Programador-Agentes

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

Page 22: Manual Del Programador-Agentes

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

Page 23: Manual Del Programador-Agentes

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

Page 24: Manual Del Programador-Agentes

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

Page 25: Manual Del Programador-Agentes

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