UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
MESTRADO EM CIÊNCIA DA COMPUTAÇÃO
Daniel Henriques Moreira
Luiz Josué da Silva Filho
SIMPATROL
ESPECIFICAÇÃO DOS REQUISITOS DO SOFTWARE
Etapa 8 – Requisitos não-funcionais
Recife – PE
15 de abril de 2007
2
Projeto SimPatrol
SOBRE ESTE DOCUMENTO
Este documento é produto da fase de elaboração do software SimPatrol.
Corresponde à especificação dos requisitos não-funcionais do mesmo, dando
continuidade ao trabalho de Moreira e Silva Filho. É destinado a todos os
desenvolvedores e gerentes do projeto e, futuramente, comporá o documento final
de especificação de requisitos do software.
UFPE - CIn
3
Projeto SimPatrol
GLOSSÁRIO
cenário de
experimentação
UFPE - CIn
Conjunto de informações que definirão a execução de um
determinado experimento de patrulhamento no simulador. Deve
conter, entre outros, o número de agentes e a posição inicial de
cada um.
4
Projeto SimPatrol
SUMÁRIO
Sobre este documento.........................................................................................
Glossário...............................................................................................................
Identificação de requisitos..................................................................................
Requisitos não-funcionais........................................................................
Soluções para os requisitos ainda não atendidos.................................
Casos de uso.............................................................................................
Especificação de requisitos................................................................................
Requisitos R1, R2 e R3..............................................................................
Requisito R6...............................................................................................
Referências bibliográficas...................................................................................
UFPE - CIn
02
03
05
05
06
07
08
08
10
11
5
Projeto SimPatrol
Identificação de requisitos
Requisitos não-funcionais
Segue abaixo uma listagem dos requisitos não-funcionais propostos por Moreira e
Silva Filho para o software SimPatrol.
Requisito
Descrição
Já foi
atendido?
Impacta nos
modelos?
R1
Possibilidade de se codificar os agentes
em qualquer linguagem ou tecnologia.
Não
Sim
R2
Possibilidade
de
se
codificar
as
ferramentas de relatório e análise dos
resultados das simulações em qualquer
linguagem ou tecnologia.
Não
Sim
R3
Possibilidade de se codificar interfaces
gráficas para exibição das simulações em
qualquer linguagem ou tecnologia.
Não
Sim
R4
Atuação de até mil (1000) agentes.
Não
Não
R5
Disponibilização facilitada das medidas de
desempenho básicas relacionadas à tarefa
de patrulhamento.
Sim
Sim
R6
Existência de cenários de experimentação.
Não
Sim
R7
Desenvolvimento dentro do prazo de cinco
(5) meses.
Não
Não
R8
Continuidade aos trabalhos de Almeida,
Machado, Menezes e Santana.
Sim
Sim
R8
Inspiração no simulador de partidas de
futebol da RoboCup (Chen).
Sim
Sim
R9
Codificação em linguagem orientada a
objetos, com ampla comunidade de
desenvolvedores e grande quantidade de
APIs disponíveis.
Não
Não
UFPE - CIn
6
Projeto SimPatrol
Soluções para os requisitos ainda não atendidos
Seguem abaixo soluções para os requisitos não-funcionais ainda não atendidos na
elaboração do software SimPatrol.
Requisito
Resumo
Solução
•
R1
Agentes em qualquer
linguagem ou tecnologia.
•
R2
Ferramentas de relatório
e análise em qualquer
linguagem ou tecnologia.
•
R3
Interfaces gráficas de
exibição
feitas
em
qualquer linguagem ou
tecnologia.
•
•
Conexão simulador – agentes via
portas socket UDP;
Protocolos de comunicação baseados
em mensagens escritas em XML.
Conexão simulador – ferramentas via
porta socket UDP;
Protocolos de comunicação baseados
em mensagens escritas em XML.
•
Conexão simulador – interfaces via
porta socket UDP;
Geração de logs com programação
orientada a aspectos1;
Transmissão dos logs no formato XML.
•
R4
Até 1000 agentes.
•
Desenvolvimento na tecnologia Java.
R6
Existência de cenários de
experimentação.
•
Modelagem de cenários para serem
persistidos em arquivos no formato
XML.
R7
Desenvolvimento em 5
meses.
•
Desenvolvimento na tecnologia Java2.
R9
Linguagem
programação OO.
•
Desenvolvimento na tecnologia Java.
1
de
Como explicado na Wikipédia, uma aplicação orientada a aspectos permite a separação das tarefas
de log do funcionamento central do sistema. Deste modo, os modelos e algoritmos não são
influenciados pela necessidade de geração de logs, implicando, no caso do SimPatrol, no adiamento
da elaboração de tal atividade.
2
Dado que os desenvolvedores Daniel Henriques Moreira e Luiz Josué da Silva Filho têm maior
experiência com esta plataforma.
UFPE - CIn
7
Projeto SimPatrol
Casos de uso
Frente aos requisitos não funcionais identificados, os seguintes casos de uso podem
ser derivados:
Analysis report
Analysis report tool
Simulation log
Simulation player
Researcher
Experimental scenery
persistence
UFPE - CIn
8
Projeto SimPatrol
Especificação de requisitos
Na seqüência, cada um dos requisitos não-funcionais que ainda não tinham sido
atendidos e que impactam nos modelos do SimPatrol será devidamente analisado.
Requisitos R1, R2 e R3
Para dar suporte à implementação das soluções, para os requisitos R1, R2 e R3,
que dizem respeito à conexão do simulador com os agentes, ferramentas de
relatório e interfaces gráficas de exibição, o seguinte diagrama de classes é
proposto. Os elementos destacados em amarelo correspondem a modificações e/ou
novas classes incluídas nos modelos do SimPatrol.
<<active>>
PerceptionRequisitionQueue
UDPSocket
PerceptionDaemon
<<active>>
ActionRequisitionQueue
AgentConnection
ActionDaemon
ActionIntentionParser
<<active>>
Connection
AnalysisReportDaemon
AnalysisReportRequisitionQueue
AnalysisReportConnection
SimulationLogDaemon
SimulationLogConnection
Em relação à implementação das mesmas soluções quanto à decisão de
transmitir dados no formato XML, o seguinte diagrama de classes é proposto:
UFPE - CIn
9
Projeto SimPatrol
PerceptionRequisition
XMLable
<<realize>>
<<realize>> <<realize>>
<<realize>>
<<realize>> <<realize>>
Action
Message
<<realize>>
<<realize>>
Society
ActionIntention
<<realize>>
Perception
<<realize>>
<<realize>>
Agent
Stigma
Edge
Vertex
Graph
Finalmente, em respeito à implementação das soluções quanto à mensagem
transmitida entre o simulador e os agentes, ferramentas de relatório e interfaces
gráficas de exibição, o seguinte diagrama de classes é proposto:
XMLable
Message
Attributes
-message_type:MessageType[1]
-content:String[1]
Actually, XML
UFPE - CIn
<<enumeration>>
MessageType
Literals
PERCEPTION_REQUISITION
ACTION_INTENTION
PERCEPTION
10
Projeto SimPatrol
Requisito R6
Para dar suporte à implementação da solução para o requisito R6, o seguinte
diagrama de classes é proposto.
comes from
ExperimentalScenery
stores
0..1
XMLable
XMLable
Graph
Stigma
Attributes
-label:String[1]
0..1
1..*
*
XMLable
XMLable
Vertex
*
Attributes
0..1
collector
-label:String [1]
-priority:Integer[1]=0
-visibility:Boolean[1]
-idleness:Integer [1]
-fuel:Boolean [1]=false
*
Edge
0..1
Attributes
-length:Double[1]
-visibility:Boolean[1]
0..1
emitter
leaves
DynamicVertex
DynamicEdge
disappears
is on
appears
appears
disappears
*
*
TimeProbabilityDistribution
XMLable
Attributes
-seed:Double[1]
appears
PerpetualAgent
Agent
Attributes
-stamina:Double[1]=1
Operations
+setPerception(in perception: Perception
+requireBroadcastingPercetion(in requisition:
desappears
SeasonalAgent
<<active>>
<<active>>
PerceptionDaemon
ActionDaemon
Operations
-grantPerceptionRequisition
Operations
-grantActionRequisition
1..*
1..*
ClosedSociety
OpenSociety
ActionPermission
PerceptionPermission
Attributes
-action_type: AtomicActionType [1]
Attributes
-perception_type: PerceptionType [1]
*
XMLable
Society
Attributes
-label:String [1]
UFPE - CIn
DepthLimitation
Attributes
-depth: Integer[1]
*
Limitation
StaminaLimitation
Attributes
-cost: Integer [1]
11
Projeto SimPatrol
Referências bibliográficas
ALMEIDA, A. Patrulhamento multiagente em grafos com pesos. 2003.
Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação
em Ciência da Computação, Universidade Federal de Pernambuco, Recife. 2003.
CHEN, M.; et al. (2002). RoboCup Soccer Server: users manual. Disponível em:
http://sserver.sourceforge.net/docs/manual.pdf. Acesso em 10 de dez. 2006.
MACHADO, A. Patrulhamento multiagente: uma análise empírica e sistemática.
2002. Dissertação (Mestrado em Ciência da Computação) – Programa de PósGraduação em Ciência da Computação, Universidade Federal de Pernambuco,
Recife. 2002.
MENEZES, T. Negociação em sistemas multiagente para patrulhamento. 2006.
Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação
em Ciência da Computação, Universidade Federal de Pernambuco, Recife. 2006.
MOREIRA, D.; SILVA FILHO, L. SimPatrol: Proposta de Especificação do
Software. Disponível em http://simpatrol.googlecode.com/files/PESw.pdf. Acesso em
10 de mar. 2006.
SANTANA, H. Patrulha multiagentes com aprendizagem por reforço. 2005.
Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação
em Ciência da Computação, Universidade Federal de Pernambuco, Recife. 2005.
WIKIPÉDIA.
Programação
orientada
a
aspecto.
Disponível
http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_aspecto.
Acesso em 15 de abr. de 2007.
UFPE - CIn
em
Download

Daniel Henriques Moreira Luiz Josué da Silva Filho