Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo
ii
Agradecimentos
iii
ndice
1.
Introduo....................................................................................................................... 1
1.1
Objetivo .................................................................................................................. 2
1.2
Metodologia............................................................................................................ 2
1.3
Organizao do Documento ................................................................................... 3
2. Conceitos Bsicos........................................................................................................... 4
2.1. Computao Autnoma .......................................................................................... 4
2.2. Sistemas Multiagente.............................................................................................. 6
2.3. Computao Autnoma, Sistemas Multiagente e SGBD ....................................... 9
2.4
Metodologias de Desenvolvimento para Sistemas Multiagente........................... 10
2.4.1
Estudo de metodologias................................................................................ 11
2.4.2
A metodologia Gaia...................................................................................... 11
2.5
Os padres da FIPA.............................................................................................. 13
2.5.1
A arquitetura abstrata da FIPA ..................................................................... 14
2.5.2
A especificao da estrutura de mensagens.................................................. 15
2.5.3
A especificao da biblioteca de atos de comunicao ................................ 16
2.6
Concluses............................................................................................................ 16
3
Tecnologias utilizadas .................................................................................................. 18
3.1
O framework Jade................................................................................................. 18
4
O DBSitter Plus ............................................................................................................ 21
4.1
Requisitos ............................................................................................................. 21
4.2
A modelagem SMA .............................................................................................. 24
4.3
Experimentos e resultados.................................................................................... 36
4.4
Consideraes finais ............................................................................................. 37
5
Concluses e trabalhos futuros ..................................................................................... 38
5.1
Contribuies........................................................................................................ 38
5.2
Dificuldades.......................................................................................................... 38
5.3
Trabalhos futuros.................................................................................................. 38
Referncias bibliogrficas .................................................................................................... 39
Apndice A Especificao de Requisitos e Diagrama i* .................................................. 44
Apndice B Papis preliminares........................................................................................ 47
Apndice C Modelos de Interaes Preliminares.............................................................. 52
Apndice D Papis definitivos .......................................................................................... 54
Apndice E Modelo de Servios ....................................................................................... 58
iv
1. Introduo
Horn [4] cita como uma alternativa para esta demanda a criao de sistemas que se
auto-gerenciem. Uma das maneiras de atingir este objetivo construir sistemas
autnomos, que inicialmente poderiam ser aplicados a domnios especficos. Nesse
sentido, uma rea que traz grandes desafios a de Banco de Dados. Sendo alguns deles:
(1) o ambiente cada vez mais complexo, devido grande quantidade de variveis que,
em conjunto, afetam o desempenho do Sistema Gerenciador de Banco de Dados (SGBD);
(2) o tratamento de grandes volumes de informao e (3) necessidade de monitorao
constante.
Esse problema foi abordado por Carneiro [1] atravs da formulao do DBSitter, um
sistema multiagente (SMA) para monitorao e gerenciamento de SGBD. Este auxilia o
Administrador de Banco de Dados (ABD) no processo de manuteno do SGBD, atuando
ao encontrar um problema, seja atravs da sugesto de uma soluo ao ABD ou da
aplicao automtica de uma soluo adequada.
Este trabalho se prope a alterar o DBSitter de modo que ele esteja de acordo com a
padronizao adotada pela FIPA para SMA, utilizando a metodologia de desenvolvimento
SMA Gaia durante este processo.
1.1
Objetivo
1.2
Metodologia
Para a realizao deste trabalho foi realizado um estudo do problema abordado pelo
DBSitter, o que incluiu a gerao de um documento de requisitos e a gerao do
diagrama i* [42] do mesmo. Estudamos algumas das metodologias de desenvolvimento
multiagente existentes na atualidade, analisando suas caractersticas, e escolhendo uma
destas para aplicao no problema estudado.
1.3
Organizao do Documento
2. Conceitos Bsicos
Uma amostra da importncia dessa abordagem pode ser vista atravs do enfoque
recente da IBM, com um esforo que pde ser observado atravs da publicao do
manifesto de computao autnoma, onde so identificados os pontos chaves de um
sistema autonmico, e tenta atrair tanto a academia quanto a indstria a participarem
deste esforo.
Em termos mais prticos, foi identificado por Kephart e Chess [3] que um sistema
autnomo tem como objetivo o auto-gerenciamento, que pode ser obtido atravs de
quatro aspectos, sendo eles: (1) auto-configurao, (2) auto-otimizao, (3) autorecuperao e (4) auto-proteo. Eles tambm identificam que um elemento autnomo
tpico, consiste em um ou mais elementos gerenciados em conjunto por um gerente
autnomo que os controla e representa. As caractersticas desses elementos autnomos,
que so autonomia, proatividade e interao baseada em objetivos so caractersticas de
agentes inteligentes [3] , o que indica a importncia que os conceitos de arquitetura
orientada a agentes podem ter em computao autnoma.
Wooldridge [41] define agente de uma maneira mais refinada, indicando as seguintes
caractersticas de um agente: (1) so entidades de resoluo de problemas claramente
identificveis, com limites e interfaces bem-definidas; (2) so situados (embutidos) em um
ambiente particular eles recebem entradas de acordo com o estado de seus ambientes
atravs de sensores, e atuam no ambiente atravs de atuadores; (3) so projetados de
modo a executar um objetivo especfico eles tem objetivos particulares para atingir; (4)
so autnomos ou seja, eles tm controle tanto do seus estados internos como de seu
prprio comportamento; (5) so capazes de exibir um comportamento de resoluo de
problemas flexvel, na busca pelos seus objetivos de projeto. Eles precisam ser tanto
reativos (podem responder em tempo hbil s mudanas que ocorrem no seu ambiente)
como proativos (possveis de atuar antecipadamente de acordo com objetivos futuros).
Tanto Wooldridge [41] quanto Weiss [40] concordam que a rea de engenharia de
sistemas orientados a agentes ainda uma rea que no possui um conceito nico e
universal amplamente aceito para agentes. Ou seja, eles tentam se concentrar em
caractersticas que sejam necessrias, mas no suficientes, de modo a poder descartar
sistemas que no sejam claramente orientados a agentes, e poder classificar uma ampla
gama de SMA.
A pesquisa em torno de SMA tem crescido bastante nos ltimos anos, em especial na
rea de Engenharia de Software, na busca de uma metodologia que torne possvel a
adoo desta tecnologia em massa. Weiss [40] define como razes para o crescente
interesse em SMA: (1) as necessidades tecnolgicas e de aplicao, pois SMA oferecem
uma maneira de entender, gerenciar e usar sistemas distribudos de larga escala,
dinmicos, abertos e sem distribuio; (2) a viso natural de sistemas inteligentes
oferecida por SMA.
Diminuio de custos;
Mas, qual a razo de se utilizar SMA? E quais as suas aplicaes? Como Jennings
descreve em [41], a utilizao de SMA deriva da necessidade de alternativas para o
desenvolvimento de sistemas com um grau de complexidade cada vez mais alto, e o
paradigma de orientao a agentes, fornece mecanismos para decomposio, abstrao
e organizao.
De acordo com isso, podemos dizer que SMA podem ter um papel importante no
desenvolvimento futuro de sistemas computacionais. Alm dessas caractersticas, e
essas motivaes, importante tambm salientar que SMA no so simplesmente
sistemas distribudos ou concorrentes. Eles possuem caractersticas prprias [18], como a
autonomia de cada agente, assim como a existncia de interaes de cunho econmico
entre os agentes, que os diferenciam de sistemas puramente distribudos. Sendo que eles
Esses esforos
Figura 2.1 Arquiteturas para integrao de sistemas multiagente e SGBD - adaptado de [12]
2.4
10
De acordo com [17], no existe uma metodologia melhor do que outra, mas
simplesmente metodologias mais adequadas para cada caso. Podemos citar como
exemplo, a existncia de metodologias derivadas da extenso de diagramas de UML [31,
32] que podem ser adequadas ao desenvolvimento de sistemas em equipes que tenham
experincia no desenvolvimento com uso de UML, o que pode facilitar o processo de
transio. Existem metodologias que se baseiam na viso dos agentes como uma
comunidade, dando uma nfase maior comunicao entre os agentes [17], enquanto
outras atuam de maneira a resolver os problemas com foco nos agentes individuais,
sendo o comportamento do grupo uma conseqncia do comportamento dos agentes
individualmente [34, 35].
11
interativos que vivem em uma sociedade organizada onde cada agente representa um ou
mais papis especficos. Sendo a estrutura do SMA definida em termos de um modelo de
papis. O modelo identifica os papis que os agentes devem representar dentro do SMA
e os protocolos de interao entre os diferentes papis.
A Metodologia Gaia tem seu processo dividido em cinco fases distintas, como
pode ser observado na figura 2.2. A fase de anlise, a fase de projeto de arquitetura e a
fase de projeto detalhado.
O modelo de ambiente
Uma vez definidos estes artefatos, a fase de projeto detalhado pode ser iniciada, que
engloba:
12
Figura 2.2 Modelos da metodologia Gaia e seus relacionamentos no processo Gaia adaptado de [17]
2.5
Os padres da FIPA
13
agentes;
14
Figura 2.3 Arquitetura abstrata mapeada para vrias implementaes concretas adaptado de [25]
O conjunto completo de parmetros das mensagens FIPA ACL pode ser visto na
tabela 2.1. As implementaes tm liberdade para incluir parmetros alm desses
especificados, com a condio que esses parmetros tenham seus nomes precedidos do
prefixo X-.
15
Parmetro
Categoria do parmetro
Performative
Sender
Participante da comunicao
Receiver
Participante da comunicao
Reply-to
Participante da comunicao
Content
Contedo da mensagem
Language
Descrio do contedo
Encoding
Descrio do contedo
Ontology
Descrio do contedo
Protocol
Controle de conversao
Conversation-id
Controle de conversao
Reply-with
Controle de conversao
In-reply-to
Controle de conversao
Reply-by
Controle de conversao
2.6
Concluses
16
dos sistemas estarem se tornando cada vez mais conectados e sistemas distribudos
estarem se tornando um padro nas empresas.
Para que haja esta aceitao, se torna necessrio um desenvolvimento muito forte
na rea de Engenharia de Software para este paradigma, uma preocupao que pode ser
percebida atravs do estudo, desenvolvimento e pesquisa de vrias metodologias para
SMA, que visam preencher esta lacuna. As metodologias abordadas neste trabalho so
apenas algumas de um espectro muito maior de metodologias existentes e em pesquisa.
Por prover uma metfora organizacional, a metodologia Gaia prov uma forma
quase natural de se pensar em SMA, pois podemos pensar nos agentes como uma
organizao. As fases de anlise, projeto de arquitetura e projeto detalhado possuem
artefatos bem definidos que permitem a transio entre elas sem maiores dificuldades.
Entretanto, a fase de elicitao de requisitos uma fase importante no desenvolvimento
de qualquer sistema, multiagente ou no, e pode ser feita de vrias maneiras diferentes.
Gaia peca por no definir mecanismos para esta parte do processo.
17
3 Tecnologias utilizadas
Neste captulo iremos descrever algumas das tecnologias utilizadas durante o
desenvolvimento do nosso sistema multiagente.
3.1
O framework Jade
18
Figura 3.1 Arquitetura de referncia para uma plataforma de agentes FIPA adaptado de [27]
19
Figura 3.2 Plataforma de Agentes JADE, distribuda entre vrios continers adaptado de [26]
20
4 O DBSitter Plus
Nosso trabalho foi composto dos seguintes passos:
4.1
Requisitos
21
22
Podemos ver no centro da figura 4.1 o objetivo principal do sistema que prover
mecanismos de resoluo autnoma de falhas, e a sua decomposio em subobjetivos e
tarefas. Os subobjetivos necessrios para a proviso de mecanismos de resoluo
autnoma de falhas so: a coleta de informaes; o monitoramento de estados, a soluo
de problemas de operacionalizao do SGBD; a correo de problemas fsicos e
estruturais do SGBD, a correo de problemas de conectividade; o controle de problemas
do Sistema Operacional (SO), a correo de problemas de objetos lgicos do SGBD e a
notificao de eventos, como pode ser observado no diagrama. Por sua vez, cada
subobjetivo foi decomposto nas tarefas necessrias para atingir este subobjetivos,
caracterizados pelos hexgonos a eles ligados. Segue abaixo uma descrio dos
subobjetivos:
Controle de problemas de SO, pode ser atingido atravs da execuo das tarefas:
sugesto de soluo de problemas de SO e da correo de problemas de SO.
Este ltimo pode ser decomposto nas seguintes tarefas: correo de problemas de
interao entre SGBD e SO; execuo de autorizao de acesso; inicializao do
SGBD e correo de problemas de memria.
23
Coletar informao pode ser realizado atravs das tarefas de uso das regras e
polticas e da permisso de configurao. A permisso de configurao pode ser
dividida nas subtarefas permisso de configurao pelo usurio, coleta de
percentual de acertos e erros e coleta de casos de falha e soluo. A permisso
de configurao pelo usurio pode ser subdivida novamente nas tarefas
configurao de polticas, configurao de regras e configurao de acesso a
SGBD e SO.
4.2
A modelagem SMA
24
papis, entre interaes e entre interaes e papis que seriam melhor capturadas
atravs de regras organizacionais.
25
Log de aes;
26
27
Notificador
o
Aprendiz
o
Na tabela 4.1, podemos verificar o modelo sugerido por Gaia para armazenamento
das informaes contidas nos papis.
28
Papel: MonitorControlDB
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
ReceiveInfRequest,
o
AnswerInfRequest,
o
AskForInformation,
o
ReceiveInformation,
o
ReceiveRequest,
o
AnswerRequest,
o
ReceiveEpisodeFeedback,
o
29
Nome do Protocolo:
ReceiveInfRequest
Iniciador:
Todos atuadores
Parceiro:
Todos detectores
Descrio:
Mensagens utilizada para extrair informaes dos
detectores.
Entrada:Requisio para
informao.
Sada:
Erro ou msg com status do
objeto monitorado.
Uma vez cumpridas estas tarefas, passamos fase de projeto, onde iremos fazer
uso das informaes coletadas. Enquanto na fase de anlise nosso foco estava na
compreenso do que o SMA dever fazer, na fase de projeto comeamos a tomar
decises sobre as caractersticas finais do SMA.
30
complexas, topologias em redes hbridas) ento selecionada baseado nos pesos para
cada um desses fatores.
Essa escolha influenciar sobremaneira todas as fases subseqentes do projeto,
sendo portanto uma etapa crtica no processo. Esta anlise deve ter em mente respeitar
as regras organizacionais levantadas e minimizar a distncia para a organizao do
mundo real.
Por se adequar melhor ao problema em questo, escolhemos a estrutura
organizacional de topologia hierrquica, onde um lder assume as responsabilidades de
coordenao. A figura 4.2 apresenta a organizao escolhida. Essa deciso
corroborada com a inteno de utilizao do mtodo de coordenao de agentes PGP
(Partial Global Planning), onde agentes setoriais possuem planos locais de resoluo de
atividades, mas devem respeitar as diretrizes de um plano global seguido por todos de
maneira cooperativa e determinado por um agente coordenador.
31
Monitor de SO
o
Monitor de rede
o
Notificador
o
Gerente de Conhecimento
o
Coordenador
o
32
diagrama
exibido
descreve
atividade
de
correo
de
falha
de
Para resolver o episodio, o agente monitor deve seguir o plano global e seu plano
parcial. Para tanto, deve solicitar ao papel monitor de BD para que retire o BD do ar. Esse
papel deve confirmar que h um plano prevendo retirada de BD do ar nas condies
correntes. Uma vez confirmado e o BD fora do ar, o agente monitor de estrutura de
controle altera o arquivo de configurao do BD aumentando a memria disponvel e em
seguida solicita que o papel monitor de BD recoloque o BD no ar.
33
34
O modelo de agentes detalha que agentes iro desempenhar quais papis, assim
como a quantidade de instncias deles. J o modelo de servios, como o prprio nome
sugere, tem como objetivo identificar os servios associados a cada agente.
Monitor falhas BD
Monitor estr.
controle DB *
Monitor estr.
lgicas *
Monitor estr.
controle BD
Monitor estr.
lgicas BD
Monitor estr.
fsicas *
Monitor estr.
fsicas BD
Coordenador 1
Gerente
de conhecinento 1
Notificador 1
Monitor S.O. *
Coordenador
Ger. de
conheciment
Notificador
Monitor S.O.
Monitor Rede *
Monitor
Rede
Legenda:
Tipos de Agente
Papis
35
Registro de feedback
Entradas
Sadas
Pr-condies
Ps-condies
Feedback coletado
Feedback coletado
-
4.3
Experimentos e resultados
36
4.4
Consideraes finais
37
5.1
Contribuies
5.2
Dificuldades
5.3
Trabalhos futuros
38
Referncias bibliogrficas
[1] Carneiro A., "DBSitter: Um Sistema Inteligente para Gerenciamento de SGBD", 2005
[2] Carneiro A., Passos R., Belian R., Costa T., Tedesco P., Salgado A. C, "DBSitter: An
Intelligent Tool for Database Administration", 2004
[3] Kephart, J.O., Chess, D. M., The vision of autonomic computing, disponvel em:
http://www.research.ibm.com/autonomic/research/papers/AC_Vision_Computer_Jan_2003.pdf,
acesso em 01/10/2006.
[4] Horn, P., Autonomic Computing: IBMs Perspective on the State of Information
Technology, disponvel em:
http://www.research.ibm.com/autonomic/manifesto/autonomic_computing.pdf, acesso em
01/10/2006.
[5] Ganek, A. G., Corbi T. A., "The Dawning of Autonomic Computing Era", 2003
[7] Lin, P., MacArthur, A., Leaney, J., Defining Autonomic Computing
- A Software
Engineering Perspective
[9] Koehler, J., Giblin C., Gantenbein, D., Hauser R., "On Autonomic Computing
Architectures", 2003
[10] Elnaffar, S., Powley W., Benoit D., Martin P., "Todays DBMSs: How autonomic are
they?, 2003
[11] Lifschitz, S. and Macdo, J. (2004). Agent-based Databases and Parallel Join Load
39
[14] White, S.R. Hanson, J.E. Whalley, I. Chess, D.M. Kephart, J.O., "An architectural
approach to autonomic computing", 2004
[17] Zamborelli, F.; Jennigs N. R.; Wooldridge, M., Developing Multiagent Systems: The
Gaia Methodology", 2003
[19] Moratis P., Petraki E., Spanoudakis N., Engineering JADE Agents with the Gaia
Methodology, 2003
[22] Lin, P., MacArthur, A., Leaney, J., Defining autonomic Computing: a software
engineering perspective
40
[23] Foundation for Intelligent Physical Agents FIPA, FIPA Communicative Act Librarry
Specification - SC00037J
[24] Foundation for Intelligent Physical Agents FIPA, FIPA ACL Message Structure
Specification - SC00061G
[25] Foundation for Intelligent Physical Agents FIPA, FIPA Abstract Architecture
Specification - SC00001L
[28] Nikraz, M., Caire, G. Bahri, P. A., A methodology for the analysis and design of multiagent systems using JADE
[30] Moraitis, P., Spanoudakis, N. I., Combining Gaia and JADE for multi-agent systems
development
[31] Bauer, B., Mller, J. P., Odell, J., Agent UML: A formalism for specifying multiagent
interaction
[32] Odell, J., Parunak, H. V. D., Bauer, B., Extending UML for agents
[33] Silva, V. T., Lucena, C. J. P., MAS-ML: A multi-agent system modeling language
[34] Wagner, G., The agent-object-relationship metamodel: towards a unified view of state
and behavior
[35] Wagner, G., Taveter, K., Towards radical agent-oriented software engineering
processes based on AOR modeling
41
[36] DeLoach, S. A., Analysis and design using MaSE and agentTool
[39] Franklin, S. and Graesser, A., Is it an Agent, or just a Program? : A Taxonomy for
Autonomous Agents, 1995.
[40] Weiss, G., Multiagent Systems: A modern approach to distributed artificial intelligence
The MIT Press, 1999.
[42] Yu, E. S. K., Towards Modelling and Reasoning Support for Early-Phase
Requirements Engineering
42
[51] Maciel, P. R. M., Robertson Novelino Ferraz, R. N., Utilizando a Metodologia GAIA
para Modelagem do Sistema Arquitetural xaADB, disponvel em:
http://www.cin.ufpe.br/~in1096/2006-1/, acesso em 01/10/2006.
43
44
45
46
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Esse papel preliminar ir monitorar constantemente os estados das estruturas fsicas do banco
de dados alvo em arquivos de logs (traces) de SGBD, realizando consultas em dicionrios de
dados e verificando estados de estruturas de memria em disco (via S.O.). Caso solicitado,
ele ir se comunicar com outros papis que requisitem informaes, passando dados sobre o
estado atual do banco.
ReceiveInfRequest,
ProccessInfRequest,
AnswerInfRequest,
MonitoringDB,
registerServiceDirectory
Reads DBState
// O estado do banco de dados
Reads OSState
// O estado dos processo e reas do SO
MONITORPHYSICALDB = registerServiceDirectory.((ReceiveInfRequest . ProccessInfRequest .
AnswerInfRequest) | (MonitoringDB))
Ter acesso completo ao servidor, incluindo aos processos que esto sendo executados pelo
SO, reas de memria em disco e ao SGBD alvo.
47
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes que visam recuperar o estado do banco de dados e aes de
correo de falhas. Eventualmente, tambm poder requisitar informaes de outros agentes.
ReceiveRequest,
ProccessRequest,
AnswerRequest,
AskForInformation,
ReceiveInformation,
SendEpisodeFeedback,
HealingDB,
registerServiceDirectory
Reads KnowlodgeBase // l estratgias de correo de problemas
Changes DBState
// Realiza operaes no SGBD
HEALINGDB = registerServiceDirectory ( (ReceiveRequest.ProccessRequest.AnswerRequest) |
(HealingDB) | (AskForInformation) | (ReceiveInformation) | (SendEpisodeFeedback))
Ter acesso completo ao servidor, incluindo aos processos que esto sendo executados pelo SO
e ao SGBD alvo.
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes que visam recuperar o estado do banco de dados e aes de
correo de falhas. Eventualmente, tambm poder requisitar informaes de outros agentes.
ReceiveRequest,
ProccessRequest,
AnswerRequest,
AskForInformation,
ReceiveInformation,
SendEpisodeFeedback,
HealingDB,
registerServiceDirectory
Reads KnowlodgeBase // l estratgias de correo de problemas
Changes DBState
// Realiza operaes no SGBD
HEALINGDB = registerServiceDirectory ( (ReceiveRequest.ProccessRequest.AnswerRequest) |
(HealingDB) | (AskForInformation) | (ReceiveInformation) | (SendEpisodeFeedback))
Ter acesso completo ao servidor, incluindo aos processos que esto sendo executados pelo SO
e ao SGBD alvo.
48
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes que visam recuperar o estado do banco de dados e aes de
correo de falhas. Eventualmente, tambm poder requisitar informaes de outros agentes.
ReceiveRequest,
ProccessRequest,
AnswerRequest,
AskForInformation,
ReceiveInformation,
SendEpisodeFeedback,
HealingDB,
registerServiceDirectory
Reads KnowlodgeBase // l estratgias de correo de problemas
Changes DBState
// Realiza operaes no SGBD
HEALINGDB = registerServiceDirectory ( (ReceiveRequest.ProccessRequest.AnswerRequest) |
(HealingDB) | (AskForInformation) | (ReceiveInformation) | (SendEpisodeFeedback))
Ter acesso completo ao servidor, incluindo aos processos que esto sendo executados pelo SO
e ao SGBD alvo.
Detector de erros de SO
Papel: MonitorSO
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Corretor de falhas de SO
Papel: HealingSO
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes que visam recuperar o estado de elementos do S.O.
ReceiveInfRequest,
ProccessInfRequest,
AnswerInfRequest,
AskForInformation,
ReceiveInformation,
SendEpisodeFeedback,
HealingOS,
registerServiceDirectory
Reads KnowlodgeBase // l estratgias de correo de problemas
Changes SO State
// Realiza operaes no S.O.
HEALINGSO = registerServiceDirectory (
(ReceiveInfRequest.ProccessInfRequest.AnswerInfRequest) | (HealingSO) |
(AskForInformation) | (ReceiveInformation) | (SendEpisodeFeedback))
Ter acesso completo aos recursos do sistema operacional.
49
Permisses
Responsabilidades
Liveness
Safety
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes que visam recuperar o estado de elementos da rede de
comunicao.
ReceiveInfRequest,
ProccessInfRequest,
AnswerInfRequest,
AskForInformation,
ReceiveInformation,
SendEpisodeFeedback,
HealingNetwork,
registerServiceDirectory
Reads KnowlodgeBase // l estratgias de correo de problemas
Changes SO State
// Realiza operaes no S.O.
HEALINGNETWORK= registerServiceDirectory (
(ReceiveInfRequest.ProccessInfRequest.AnswerInfRequest) | (HealingNetwork) |
(AskForInformation) | (ReceiveInformation) | (SendEpisodeFeedback))
Ter acesso completo aos recursos do sistema operacional.
Notificador
Papel: Notifier
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes de interface entre o sistema e os usurios finais. Informaes
coletadas de outros papis sero registradas em base de dados apropriada e/ou enviadas para
os usurios finais.
ReceiveInformation,
RegisterInformation,
registerServiceDirectory
Changes LogBase
// registra eventos
NOTIFIER = registerServiceDirectory (SendInformation | RegisterInformation |
ReceiveInformation)
Ter acesso base de registro de eventos.
50
Aprendiz
Papel: Learner
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
51
ReceiveInfRequest
Nome do Protocolo:
ReceiveInfRequest
Iniciador:
Todos atuadores
Parceiro:
Todos detectores
Descrio:
Mensagens utilizada para extrair informaes dos
detectores.
Entrada:Requisio para
informao.
Sada:
Erro ou msg com status do
objeto monitorado.
AnswerInfRequest
Nome do Protocolo:
AnswerInfRequest
Iniciador:
Todos detectores
Parceiro:
Todos atuadores
Descrio:
Mensagens utilizada para enviar informaes dos
detectores.
Sada:
ok, msg recebida.
AskForInformation
Nome do Protocolo:
AskForInformation
Iniciador:
Todos corretores
Parceiro:
Todos corretores
Descrio:
Mensagens utilizada para troca de informaes entre
detectores. Usada para complementao de diagnsticos.
52
ReceiveInformation
Nome do Protocolo:
ReceiveInformation
Iniciador:
Todos corretores
Parceiro:
Todos corretores, notificador
Descrio:
Mensagens utilizada para troca de informaes entre
detectores ou entre detectores e notificador. Usada para
complementao de diagnsticos (detectres) ou para
repassar msg para usurios finais (notificador).
ReceiveRequest
Nome do Protocolo:
ReceiveRequest
Iniciador:
Todos atuadores
Parceiro:
Todos atuadores
Descrio:
Mensagen utilizada para solicitao de atuao.
AnswerRequest
Nome do Protocolo:
AnswerRequest
Iniciador:
Todos atuadores
Parceiro:
Todos atuadores
Descrio:
Mensagen aviso de status de atuao.
ReceiveEpisodeFeedback
Nome do Protocolo:
ReceiveEpisodeFeedback
Iniciador:
Todos corretores
Parceiro:
Aprendiz
Descrio:
Mensagens utilizada para enriquecimento da base de
conhecimento sobre resultados das atuaes.
53
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
54
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
55
Monitor de SO
Papel: MonitorSO
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Monitor de rede
Papel: MonitorNetwork
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Notificador
Papel: Notifier
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir executar aes de interface entre o sistema e os usurios finais. Informaes
coletadas de outros papis sero registradas em base de dados apropriada e/ou enviadas para
os usurios finais.
SendInformation,
ReceiveInformation,
RegisterInformation,
registerServiceDirectory
Changes LogBase
// registra eventos
NOTIFIER = registerServiceDirectory (SendInformation | RegisterInformation |
ReceiveInformation)
Ter acesso base de registro de eventos.
56
Gerente de Conhecimento
Papel: KnowledgeManager
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Coordenador
Papel: Coordinator
Descrio
Protocolos e
Atividades
Permisses
Responsabilidades
Liveness
Safety
Esse papel ir coordenar a ao dos outros papis, elaborando planos globais de resoluo de
falhas e a participao e seqncia de cada papel (planos parciais). Alm disso, ele se
responsabilizar pelo seguimento de normas organizacionais e regras de negcio (contexto),
que comporo restries s resolues dos planos (e.g. restries de horrio).
O papel tambm se responsabilizar pela orientao dos papis Notificador e Gerente de
Conhecimento, os autorizando a realizar modificaes nas suas respectivas bases de dados.
SendInformation,
ReceiveInformation,
ReceiveEpisodeFeedback, // recebe feedback dos episodios de correcao
Notify,
RegisterServiceDirectory,
CreatePlan,
Reads KnoledgeBase
// registra casos de falha
// registra episdios de correo
COORDINATOR = RegisterServiceDirectory (ReceiveEpisodeFeedback | CreatePlan |
SendInformation | ReceiveInformation | Notify)
Ter acesso base de conhecimento
57
Servio
Registro de feedback
Entradas
Sadas
Pr-condies
Ps-condies
Feedback coletado
Servio
Registro de Execuo
Notificao de Alerta
Entradas
Sadas
Pr-condies
Execuo concluda
Ps-condies
Servio
Entradas
Sadas
Pr-condies
Identificao de falha;
Ps-condies
Feedback coletado
58
Datas e assinaturas
10 de outubro de 2006.
________________________________________
Patrcia Cabral de Azevedo Restelli Tedesco
(Orientadora)
________________________________________
Davi Lyuma Anabuki
(Orientando)
59