Upload
hoanghuong
View
215
Download
1
Embed Size (px)
Citation preview
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Extensões ao formalismo
UML
para Agentes e Sistemas Multi-Agente
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
• Definição de Agente de Software:
Entidade computacional situada em um ambientedo qual recebe percepções e no qual efectua acçõescom autonomia e pró-actividadePode ter raciocínio e adaptação
•Sistema Multi-Agente:
Conjunto de agentes que interagem entendendo-see coordenando-se em tarefas globais envolvendoquer cooperação quer competição
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico•Sistema Multi-Agente• Coordenação não é hierárquica• Auto-organização (estratégica ou emergente)• Exemplo: Bando de pássaros auto-coordenam-seusando 3 comportamentos simples:1- manter uma distância mínima de outros2- tentar manter velocidade compatível3- tentar aproximar-se do centro de massa doconjunto na vizinhança
• Agentes como delegados• gestão de redes, gestão de processos, pesquisa info...• Agentes e Negócio Electrónico• B2B e B2C (compra, venda, intermediário, negociador)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoAgentes como extensões a Objectos Activos
• autonomia (aceitação/recusa de pedidos) “NO”
• pró-actividade (iniciar actividade sem invocação externa) “GO”
Agentes não agem só isoladamente mas coordenados (cooperando) com Outros Agentes Sistemas Multi-Agente
Unified Modeling Language (UML) para modelação de software orientado a Objectos (adoptado por OMG Novembro 1997)AUML: Variações e Extensões a UML para modelação de actividades dos Agentes
FIPA (www.fipa.org) eGrupo de Agentes do OMG-AUML (http://aot.ce.unipr.it/auml/)Representação de Protocolos de interacção para AgentesRepresentação de Protocolos de interacção para Agentes
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Quem trabalha nestes formalismos?
• “Agent UML: A Formalism for Specifying Multiagent Interaction”Bernhard Bauer*, Jörg P. Müller*, James Odell+* Siemens, ZT IK 6, D-81730 München, Germany+ James Odell Associates, 3646 W. Huron River Dr,Ann Arbor, MI 48103 USA
• “Representing Agent Interaction Protocols in UML”James J. Odell* H. Van Dyke Parunak† Bernhard Bauer‡* James Odell Associates, 3646 W. Huron River Dr., Ann Arbor,MI 48103 USA† ERIM Center for Electronic Commerce, P.O. Box 134001,Ann Arbor, MI 48113 USA‡ Siemens, ZT IK 6, D-81730 München, Germany
Interacção
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
AgentClassifier
AgentClass
Agent RoleClass
Agent
AgentifiedGroup
Non-AgentifiedGroup
Group
0..*0..*0..*1..*
0..*0..*
Classifier(from Kernel)
classifiedinstanceclassifier
/groupmember
permittedroles
InstanceSpecification(from Kernel)
Structured Classifier(from Composite
Structures)
supportingbasic class
1..*
1..*grouproles
assignedgroup/group
Agent RoleClass
AgentClass
Buyer
CybeleAgentClass
InfoBroker
supporting “basic” agent classes permitted agent roles
AgentCityProvider
ZeusAgentClass
JadeAgentClass
••••••
0..*0..*
permittedroles
supportingbasic class
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Agentes e capacidades
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Agentes e Serviços
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoPapeis diferentes de um Agente podem ser descritos pelasintaxe UML
name/role:classMais Diagramas de Colaboração
Papel do Agente é o conjunto de propriedades, interfaces, descrições de serviços ou comportamentosdistintivos
Em UML podemos ter classificações:• Múltiplas. Ex: Um Agente com o papel de retalhista pode ser comprador e Vendedor em simultâneo)
• Dinâmicas quando um Agente pode mudar a sua classificação durante a sua existência.
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Um Agente “Leiloeiro” num Leilão (por exemplo Inglês) tem esse papel (leiloeiro) e pode ser da Classe “Vendedor”
Os que interagen com o leiloeiro podem ter o papel de “participante de leilão” e serem da Classe “Comprador”
Leilões são procedimentos interactivos dedeterminação de preço de um item tal que:Valor Comprador >=Preço>= Custo Vendedor
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoProtocolos de Leilão:
Leilão inglês (aberto)compradores submetem propostas iniciais (valoresdesejados)leiloeiro dá a conhecer ou todas ou a melhor propostacompradores oferecem propostas crescentes(limites valores de reserva)termina quando existe apenas uma proposta
vendedor anuncia valor inicial de venda (valordesejado)leiloeiro (pode ser o vendedor) decresce valorgradualmentetermina quando um comprador aceita o valor actual
▪ Leilão holandês (aberto)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
- compradores submetem propostas conhecidas apenaspara o vendedor- comprador com proposta mais elevada vence o leilão, edeve pagar o valor anunciado
Protocolos de Leilão:Leilão “primeiro preço” (fechado)
▪ Leilão “Vickrey” (fechado)- compradores submetem propostas conhecidasapenas para o vendedor- comprador com proposta mais elevada vence oleilão, e deve pagar o valor da 2ª maior proposta
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
UML Suporta :Modelos Estáticos: Diagramas de Classe e Package e a semântica de mensagens
Diagramas de Classes usados de duas formas:Modelam o domínio do Problema (para o utilizador)Modelam a implementação das Classes (para o projectista)
Diagramas de “packages” agrupam classes em agrupamentos conceptuais
ReléFusív el
Vedante Rolamento
Paraf uso
comprimento : DoublecabecaParaf uso : String = hexagonal, allel, estrelada
Porcas
largura : DoubletipoFreio : String = plático, ny lon, mecânico, sem f reio Anel
largura : Double
Caixa Direção
perc urso : Double Bom ba D ireç ão
Sistema
tipo : String = monotronic, k-jetronic, mono-jetronic
Especif icacaoMotor
descricao
RodasDentadas
umeroDente : IntegerpoDente : String = reto, espiral, cônico
Pneu
largura : DoublerelacaoAspecto : IntegediametroInterior : Doub
diametroInternolargura : DoublenumFuros : Intmaterial : String
Transmissões
comprimento : Doublediametro : DoubletipoSistemaRotula : String = por bolas, por cruzes, de ag
ABS
AirBag
SegurançaPass iv a
Bomba
pressaoTrabalho : DoubletipoBomba : String = pistões, embulo, ...
DiscoTravão
arqProjeto : arquiv o
TuboTrav agem
arqProjeto : arquiv o
Corrente
argura : Doublecomprimento : DoubletipoDentes : String = quadrado, redondo, trapéziotipoBorracha : String
Cabo da Corrent e
comprimento : Doubleresistencia : Integermat eria l : Str ing = LISTA
Eletrônica
11
11
Relé-Fusiv el
intensidade : IntegersistemaFuncionamento : String = contador, ruptor
Vela
esistencia : Integeriametro : Doublessento : String = cônico, anel
Engrenagem
1..n1..n
Transmissão
1. .n1. .n
1. .n1. .n
1..n1..n
Outros
quantidade : IntegerdiâmetroNominal : St ring
Jane
alt ura : D oublecomprim ento : Doublees pes sura : DoubletipoCr ist al : S tr ing = laminadf ormato : Str ingarqProjeto : a rqu iv o
BorrachaVedante
comprimento : DoubletipoBorracha : String = macia, oca, ...
TuboBorracha
diametroInterior : Doublecomprimento : DoublepressaoMaxima : Double
Tinta
cor : Integerkg : Double
SistemaSegurança
arqProjeto : arquiv o
1..n1..n
1. .n1. .n
1..n1..n
SistemaTrav agem
1..n1..n
1. .n1. .n
1..n1..n
Vedante-Rolament o
diametroExterior : DoublediametroInterior : DoubleExpessura : DoublenumRotacao : Integer
Motor
11
1. .n1. .n
1..n1..n
1..n1..n
1. .n1. .n
Caixa
11
Automov el
conceito
1..n1..n
1..n1..n
1..n1..n
11
1..n1..n
1..n1..n
11
11
11
Componente
quantidade : IntegerpressaoTrabalho : Doublealimentacao : String = mecânica, elétrica
Direção
11
11
Sinônimo
descriçãoSinônimo : StringSinonimizav el
1..n1..n 1..n1..n
temTodas as classes, com excessão das subclasses herdam da classe Sinonimizav el. Nem todos os relacionamentos f oram colocados para não dif icultar a v isualizaçãoe leitura do diagrama.
Especificação UMLde Ontologia “Carro” (ex.)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoModelos Dinâmicos: Incluindo
Diagramas de Interacção (diagramas de Sequência e de Colaboração),
Diagramas de Estados e Diagramas de Actividades
Casos: especificiação de acções que o sistema ou as classes executam quando interagem
• Modelos de implementação: como os modelos de componentes e diagramas de distribuição dessas componentes em diferentesplataformas
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Extensões às representações UML com :“packages” (pacotes)“templates” (moldes)Diagramas de SequênciaDiagramas de ColaboraçãoDiagramas de ActividadesDiagramas de Estados
Como extender UML para exprimir Protocolos de Interacçãoentre Agentes-PIA ( agent interaction protocols -AIP)?
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoDiagramas de Interacção,
Diagramas de Sequência + Diagramas de SequênciaDefinem o Comportamento de Grupos de Objectos:
Interacções básicas entre Objectos ao nível da invocação dos Métodos. Para cada caso específico
Não são apropriados para interacção social nos Sistemas Multi-Agente
Diagramas de EstadosUsados para modelar o comportamento do sistema total.
Definem todos os Estados possíveis dos objectos e as transições dependentes das Mensagens. Para vários casos
Não apropriados para descrevêr comportamentos de Objectos Cooperantes
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de ActividadesDefinem o curso dos acontecimentos eventos/acções
para diferentes objectos em diferentes casos
São úteis para interacção social nos Sistemas Multi-Agente
Não são necessárias alterações nem extensões
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Extensão
A especificação de um AIP serve como exemplo para ajudar na especificação e análise de um projecto
Usamos semântica formal e intuitiva e notação gráfica amigável.
Uma semântica precisa é importante no processo de Engenharia de Software
Notação Gráfica fornece uma linguagem comum para a comunicação nos AIP
Exemplo:Tipos de conecçõesLinha de vida do Agentedivide-se em “threads”
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
Um AIP descreve um padrão de comunicação incluindo mensagenspermitidas entre agentes e as restrições impostas ao seu conteúdo
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 1. Package (pacote) de um Template (molde) exprimindo um AIP
Cfpcfprecusa
não-entendido
propostatempolimite
aceitaproposta
rejeitapropostainforma
cancela
Decisão“x” = OUExclusivo
Protocolo
Rede de Contratos
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
UMLAirlines/Leilão:Vendedor
Participantes-Leilão:Consumidor
Início tempo cfp
Início tempo cfp+1 minuto
LeiloeiroLeiloeiro apresenta preço apresenta preço inferior ao esperado no inferior ao esperado no mercado e incrementamercado e incrementa--o o gradualmente.gradualmente.Quando todos desistem,Quando todos desistem,AúltimaAúltima proposta é válida proposta é válida se > preço de reservase > preço de reserva
k
k
Fig. 2. AIP p/ Leilão Inglês
Cfp(initial price)
Inform(start-auction, departure,arrival)
AIPAIP--ProtocoloProtocolo do do Leilão InglêsLeilão Inglês para para sobras de Bilhetes sobras de Bilhetes de Avião.de Avião.
Diagramas de Diagramas de sequênciasequênciacombinados com a combinados com a notação dos notação dos Diagramas de Diagramas de Estados
k 1
k 1
k {m?0} not-understood (syntax error)
{m?0} not-understood (ontology) k
Propose(price, departurearrival1
Estados cfp -2Reject-proposal (wrong price)
k
Accept-proposal(correct-price)
Cfp(new-price) 1
1 k 1/inform(endofauction, departure,arrival)
1 {0..1}[actual-price>=reserved price1
2/request(pay-price)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Abordagem por Camadas (Níveis) à Especificação dos Protocolos
Figura 1 é um Diagrama de Sequência em UML do Protocolo RedeContractual.
O Protocolo é aqui visto como uma Entidade:A notação no canto superior esquerdo indica que o protocolo é uma “package” (agregação conceptual de uma sequência de interacções)
A caixa tracejada no canto superior direito exprime uma “pattern” (padrão) como a especificação de um “template” (molde) identificando entidades na “package” (pacote) que necessitam ser definidas quando o “template” da “package” for instanciada
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
O AIP considerado não especifica:
Qual o procedimento do Iniciador para definir a CFP(Chamada a Propostas)
Qual o procedimento do Participante para gerar as Propostas
Tais procedimentos podem detalhar o processo de Interacção através de Diagramas de Interacção, de Estados ou de Actividades
O detalhe pode continuar a vários níveis (Fig3)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig3. Podem combinar-se Diagramas para exprimir com maior detalhe os Protocolos de Interacção
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Cada nível pode exprimir actividades Inter e Intraagentes
Em conclusão, os exemplos ilustram:
Um Protocolo (como um todo) é uma entidadea alto nível
O Diagrama de Sequência descreve as transacções inter-agentes necessárias para implementar o protocolo
Actividades intra-Agentes podem ser especificadas por Diagramas de Actividades(UML)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Nível 1 – Representar o Protocolo como um todo
Patterns(Padrões) são conceitos úteis em um contexto e reutilizáveis noutros.
Em UML quer “packages” quer “templates” expressam protocolos para reutilização
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig4. Uso de “packages” para descrever protocolos encaixados(“nested”. Outros autores chamam “interleaved”)
Protocolos de Interacção entre Agentes podemser visualizados em termos conceptuais como naFig1 através do “envelope” no canto
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Na Fig.4 temos dois “packages”:
• Compra (“Purchasing”) exprimindo um protocolosimples entre um Intermediário (“Broker”) e Retalhista (“Retailer”)
• Fornecimento(“Supplying”)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
• Para certos produtos o retalhista pode fazer um pedido aogrossista (“Wholesaler”) sobre custos e disponibilidade do produto.
• Essa informação pode servir para a proposta a fazer ao “Broker”
• Podiamos ter um única package de “Purchasing”. Mas há packages “Purchasing” mais atómicas não necessitando dainteracção com o Grossista
• Melhor ter 2 Packages:• Compra (“Purchasing”)• Fornecimento(“Supplying”)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoNa Fig4 o comportamento “Fornecimento” é utilizado como definido pela package “Fornecimento”
Para ser não só uma componente re-utilizável mas uma Packagemolde tem de poder ser “custumizável” (instanciada para o cliente)
Fig5 o Protocolo FIPA-Contract Net (Rede Contratual) é aplicado ao cenário de Vendedores-Compradores
Iniciador = CompradorParticipante = Vendedor
Cfp = seller-rfp
Recusa pode ser de dois tipos “Recusa-1” e “Recusa-2”
Existe uma “Deadline” específica para a resposta do vendedor
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
AIP da Fig1 é um padrão:“custumizada”:Iniciador/PartcipanteComprador / Vendedor
CFP seller-rfp2 tipos de recusa
Deadline explícita
Fig. 5. Aplicação do template (molde) da Fig1 a um cenário particular com Vendedores e Compradores
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Em UML a package AIP serve como Template (Molde)
Um Template é um modelo parametrizável em tempo de especificação (quando o novo modelo “custumizável” é produzido)
Na Fig1, a caixa tracejada indicava que a “Package” era um “Template” (Molde).
Os parâmetros a instanciar são divididos por linhashorizontais em 3 categorias:
Parâmetros de “papeis” (“role parameters”)RestriçõesActos de Comunicação
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 6. Desenho da nova Package usando o Template da Fig1
A Fig5 foi o Molde (“Template”) resultante
Vendedor,
Comprador
8/8/99 12:00
CFP, Recusa, não-entendido,
Proposta,
Rejeição,
Aceitação,
Cancelar,
Informar
Seller-rfp, recusa-1, recusa-2,
Não-compreendido,
Proposta, rejeição, aceitação,
cancelar,
informar
Iniciador,
Participante
Deadline
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Nível 1 – Representar o Protocolo como um todo
Nível 2: representação das Interacções entre os Agentes
UML tem modelos dinâmicos úteis para a interacção
Diagramas de Interacção: capturam os padrões estruturais na interacção
Diagramas de Sequência: membro da família dos Diagramas de InteracçãoO formalismo gráfico enfatiza a sequência cronológicada comunicação
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de Colaboração:
são outro membro dessa família.O formalismo gráfico enfatisa as associações entre Agentes
Diagramas de Actividade e Diagramas de Estados capturam o fluxodo processamento na comunidade dos Agentes
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de Sequência
Actos de Comunicação
Agente1/Papel:Classe Agente2/Papel:Classe
Fig. 7. Formato básico para a comunicação entre Agentes
Extensão do UML ao etiquetar a seta com o “acto de comunicação” do Agente (em vez do estilo de mensagensorientadas a Objectos)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoNa Fig7 temos elementos básicos para a comunicação entre Agentes
Rectângulo exprime Agentes individuais ou conjuntos (Papeis ou classes) de Agentes
Ex: Agente individual Bob/Customer (Bob é uma instancia de Agente com o papel de Cliente.Bob podia ter o papel de fornecedor, empregado, dono de animais.
Bob: Person indica que independentemente do papel o Agente Bob é da classe Pessoa.
O formato da etiqueta do rectângulo é: nome-agente/papel:classe
Ex: Bob/Customer:PersonBob/Employee:Person
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
O formato nome-agente/Papel: Classe é análogo ao já usado pelo UML para objectos
Na especificação do Agente individual sublinha-se a etiqueta (Fig10)
O retângulo também pode especificar um conjunto de Agentes tendo um papel específico
Ex: Employee:PersonSupplier:PartnerNão é especificado nome para o Agente
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 8 Algumas extensões recomendadas para suportar“fios-de-execução” (“threads”) de interacçãoconcorrentes
(a) Todos os “trheads” lançados em concorrência (E lógico)(b) Decisão sobre Qual dos “threads” (0 ou mais) serão lançados em concorrência (se >0, então OU inclusivo)(c) Decisão qual é o único “thread” selecionado para ser lançado (OU exclusivo)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Formalismos variados:
Na Fig9 usam-se as representações dos “threads” concorrentes da Fig8
As barras verticais indicam que os agentes receptores processam concorrentemente os “threads” de comunicação
(a) ou (b) é indiferente
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
Os CAs podem serenviados ao mesmo ou a diferentesAgentes
Fig. 9. Multiplas técnicas expressando comunicaçãoconcorrente e agentes com múltiplos papeis ourespondendo a diferentes Actos de Comunicação (CAs)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 10. Exemplo de Diagrama de Colaboração especificando a interacção entre agentes com múltiplos papeis (dimensão tempo
não existe)
B/Contractor
A/Costumer A/NegotiatorC/Contractor1
4:refuse
1:2Request5:Propose7: Commit
Change Role
C/Competitor
2:Question
3:
Change RoleB/Competitor
AnalyzerChange Role
1:1 Request
C/Contractor2
10:Refuse
9:Assert
D/ContractorD/Debtor
13:Ship8:Commit11:Ship
6:12:Assert+Request14: 1:3Request
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoFigura 10 é um exemplo de Diagrama de Colaboração
• Aqui os Agentes (retângulos) podem ser desenhados em qualquer posição no diagrama.
• Nos Diagramas de Sequência os Agentes estão numa linha horizontal no topo do diagrama
• No Diagrama de Colaboração a sequência das interacções é dada pela numeração nas linhas associando agentes.
Nos Diagramas de Interacção a sequência temporal é expressa numa leitura de cima para baixo
Os diagramas são graficamente semelhantes e semanticamente equivalentes
Na Fig. 10 o Diagrama de Colaboração exprime o mesmo significado que a Fig 11 com o Diagrama de Sequência
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 11. Versão Diagrama de Sequência da Fig10
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig.12Modelação de papeis representando cada nó “objecto” como uma classe de papeis
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
AIP- Protocolos de Interacção de Agentes podem requererespecificações claras da semântica das “threads” de processamento
Os Diagramas de Actividade exprimem as operações e oseventos que os despoletam
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Na Fig.13um Protocolo para processar uma encomenda entre vários Agentes
Um evento “encomenda” activa o “Broker” (intermediário) para colocar a encomenda que é aceite por um Agente na Rede de Comércio Electrónico.Bom para Processamento concorrente e complexo
Agentes “Market Maker” e “Broker” passam a ser notificados sobre o negócio.
Diagrama de Actividades difere dos Diagramas de Interacção porque mostra uma linha de execução (thread) de controlo explícita.
Bom para Processamento concorrente e complexo
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de Actividade são similares à natureza das redesde Petri Coloridas porque:
e Petri a vêr mais tarde
1. Diagramas de Actividade são representação gráfica paravisualização de processos facilitando o projecto e a comunicaçãodos módulos comportamentais
2. Diagramas de Actividade podem representar Processosconcorrentes assíncronos
3. Diagramas de Actividade podem exprimir comunicaçõessimultâneas com vários correspondentes.
Redes d
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoA diferença principal entre os dois formalismos:
• Diagramas de Actividade são baseados formalmente no modelo Máquina de Estados Extendida definida pelo UML
• Outros formalismos como BRIC (J.Ferber) extendem as Redes de Petri para descrever Sistemas baseados em Agentes, tal como o formalismo aqui apresentado (AUML)
Fig. 13. Diagrama de Actividades para um protocolo de venda de acçõesentre vários Agentes
Mercado tipo “spot”
Rede de Comércio Electrónico
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagrama de Estados é um grafo representando uma Máquina de Estados.
Estados = rectângulos arredondadosTransições = arcos dirigidos entre estados
Na Fig. 14 exemplo de Diagrama de Estados para um protocolo de Encomenda.
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico• Encomenda está em Estado “requerido”, o agente fornecedor B compromete-se com a negociação requerida resultando numa transição para um estado de negociação “comprometido”.
•A acção de comprometimento depende da encomenda estar no estado “requerido”. Este estado tem outras 2 possíveis acções:
Fornecedor recusa ou o consumidor desiste.•Fornecedor pode recusar quando a encomenda está nos estados “proposto” ou “requerido”
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Fig. 14. Diagrama de Estados com estados válidos para protocolo de Encomenda.
Diagrama de Estados é “estado-centrico” e não agente ou processo-centricoDiagramas de Interacção são Agente-centricos
• Perspectiva Processo-centrico enfatiza o fluxo dos processos (pelosagentes) e a resultante mudança de estados (eventos) depois.• Perspectiva Estado-centrica enfatiza estados permitidos mais que o processo das transições.
Mas o Diagrama de estados mostra as restrições ao protocolo
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoNível 1 – Representar o Protocolo como um todo
Nível 2: Representação das Interacções entre os Agentes
Nível 3: Representação do processamento interno do Agente
Fig. 15. Diagrama de Actividades especificando o comportamento de um Agente que satisfaz uma Encomenda. A Tracejado interfaces com Agentes extern
cliente Proc.encomenda Envio factura Recebe pagam.
Faz encomenda Pede factura
Pagamento recebidoCompleto
Encomenda aceite Encomenda enviadaEncomenda produzidaEncomendacompleta
AceitarEncomenda
ProduzirEncomenda
EnviarEncomenda
TerminarEncomenda
Fazer/enviarFactura
Processarpagamento
Pagamentoaceite
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de Actividade
• Na Fig. 15 o processo dentro do Agente que satisfaz Encomenda.
• O diagrama de sequência mostra o processo a ser despoletado porum acto de comunicação “Fazer Encomenda” e termina com o eventode “Encomenda completa”
• O processamento interno é expresso pelo Diagrama de Actividades onde o processador da Encomenda:
aceita, produz (ou junta), empacota e fecha a encomenda.
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Diagramas de Actividade
• As caixas de operação ponteadas representam interfaces a processos de Agentes externos.
• Por exemplo: •Depois da produção/montagem da encomenda, ambas as acções (Encomenda Montada e Preparar/Enviar Factura) são disparadas em simultâneo.
• Só depois de “pagamento” aceite e Encomenda enviada, o processo Fecho de Encomenda pode ser invocado.
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónicoDiagrama de Estados
• O processo interno de um Agente pode também ser expresso por Diagramas de Estado
• A Fig.16 mostra os estados internos e as transições dos Agentes:
• Processador de Encomenda• Emissor de Factura• Receptor de Pagamentos
Como no anterior Diagrama de Actividades os Agentes tem interfaces entre eles (linhas tracejadas)
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
Processador de
Encomenda
Receptor
PagamentoEmissor Factura
Figure 16. Diagrama de Estados especificando o comportamento de três agentesPara as actividades de processamento de Encomenda.
Janeiro 2004Janeiro 2004 MEIMEI--LEIC / LEIC / EugénioEugénio OliveiraOliveira
TecnologiasTecnologias de de NegócioNegócio ElectrónicoElectrónico
CONCLUSÕES
Mecanismos de extensão baseados em UML fornecem formalismospara especificar interacção de agentes a vários níveis:
• Especificar protocolos como um todo;
• Exprimir padrões de interação entre Agentes por Protocolo;
• Expressar o comportamento interno a um Agente;
• Formalização da especificação dos Agentes e AIPs importantePara Especificação e Implementação de Sistemas de NegócioElectrónico