tecnologias de negócio electrónicoeol/tne/apont/auml_slides.pdf · 1 janeiro 2004 mei-leic /...

29
Janeiro 2004 MEI-LEIC / Eugénio Oliveira Extensões ao formalismo UML para Agentes e Sistemas Multi-Agente Tecnologias de Negócio Electrónico Janeiro 2004 MEI-LEIC / Eugénio Oliveira • Definição de Agente de Software: Entidade computacional situada em um ambiente do qual recebe percepções e no qual efectua acções com autonomia e pró-actividade Pode ter raciocínio e adaptação Tecnologias de Negócio Electrónico •Sistema Multi-Agente: Conjunto de agentes que interagem entendendo-se e coordenando-se em tarefas globais envolvendo quer cooperação quer competição

Upload: vuongquynh

Post on 08-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Extensões ao formalismo

UML

para Agentes e Sistemas Multi-Agente

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

• 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

Tecnologias de Negócio Electrónico

•Sistema Multi-Agente:

Conjunto de agentes que interagem entendendo-see coordenando-se em tarefas globais envolvendoquer cooperação quer competição

2

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

•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

Tecnologias de Negócio Electrónico

• 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 2004 MEI-LEIC / Eugénio Oliveira

Agentes 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

n FIPA (www.fipa.org) en Grupo de Agentes do OMG-AUML (http://aot.ce.unipr.it/auml/)n Representação de Protocolos de interacção para Agentes

Tecnologias de Negócio Electrónico

3

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

• “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

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

Interacção

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

AgentClassifier

AgentClass

AgentRoleClass

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

4

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

Agentes e capacidades

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

Agentes e Serviços

5

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Papeis diferentes de um Agente podem ser descritos pelasintaxe UML

name/role:classMais Diagramas de Colaboração

Tecnologias de Negócio Electrónico

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 2004 MEI-LEIC / Eugénio Oliveira

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”

Tecnologias de Negócio Electrónico

Leilões são procedimentos interactivos dedeterminação de preço de um item tal que:Valor Comprador >=Preço>= Custo Vendedor

6

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Protocolos de Leilão:n Leilão inglês (aberto)

Tecnologias de Negócio Electrónico

vendedor anuncia valor inicial de venda (valordesejado)leiloeiro (pode ser o vendedor) decresce valorgradualmentetermina quando um comprador aceita o valor actual

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

? Leilão holandês (aberto)

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

- compradores submetem propostas conhecidas apenaspara o vendedor- comprador com proposta mais elevada vence o leilão, edeve pagar o valor anunciado

Tecnologias de Negócio Electrónico

? Leilão “Vickrey” (fechado)

Protocolos de Leilão:

n Leilão “primeiro preço” (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

7

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

UML Suporta :Modelos Estáticos: Diagramas de Classe e Package e a semântica de mensagens

n Diagramas de Classes usados de duas formas:n Modelam o domínio do Problema (para o utilizador)n Modelam a implementação das Classes (para o projectista)

n Diagramas de “packages” agrupam classes em agrupamentos conceptuais

Tecnologias de Negócio Electrónico

ReléFusível

Vedante Rolamento

Parafuso

comprimento : DoublecabecaParafuso : String = hexagonal, allel, estrelada

Porcas

largura : DoubletipoFreio : String = plático, nylon, mecânico, sem freio Anel

largura : Double

Caixa Direção

percurso : Double Bomba Direção

Sistema

tipo : String = monotronic, k-jetronic, mono-jetronic

EspecificacaoMotordescricao

RodasDentadas

numeroDente : IntegertipoDente : String = reto, espiral, cônico

Pneulargura : DoublerelacaoAspecto : IntegerdiametroInterior : Double

diametroInterno : Doublelargura : DoublenumFuros : Integermaterial : String = liga de aço, alumínio, aço

Transmissõescomprimento : Doublediametro : DoubletipoSistemaRotula : String = por bolas, por cruzes, de agulhas

ABS

AirBag

SegurançaPassiva

Bomba

pressaoTrabalho : DoubletipoBomba : String = pistões, embulo, ...

DiscoTravão

arqProjeto : arquivo

TuboTravagemarqProjeto : arquivo

Corrente

largura : Doublecomprimento : DoubletipoDentes : String = quadrado, redondo, trapéziotipoBorracha : String

Cabo da Corrente

comprimento : Doubleresistencia : Integermaterial : String = LISTA

Eletrônica

11

11

Relé-Fusivelintensidade : IntegersistemaFuncionamento : String = contador, ruptor

Vela

resistencia : Integerdiametro : Doubleassento : String = cônico, anel

Engrenagem

1..n1..n

Transmissão

1..n1..n

1..n1..n

1..n1..n

Outrosquantidade : IntegerdiâmetroNominal : String

Janelaaltura : Doublecomprimento : Doubleespessura : DoubletipoCristal : String = laminado simples, laminado duploformato : StringarqProjeto : arquivo

BorrachaVedante

comprimento : DoubletipoBorracha : String = macia, oca, ...

TuboBorracha

diametroInterior : Doublecomprimento : DoublepressaoMaxima : Double

Tintacor : Integerkg : Double

SistemaSegurança

arqProjeto : arquivo

1..n1..n

1..n1..n

1..n1..n

SistemaTravagem

1..n1..n

1..n1..n

1..n1..n

Vedante-Rolamento

diametroExterior : DoublediametroInterior : DoubleExpessura : DoublenumRotacao : Integer

Motor

11

1..n1..n

1..n1..n

1..n1..n

1..n1..n

Caixa

11

Automovel

conceito

1..n1..n

1..n1..n

1..n1..n

11

1..n1..n

1..n1..n

11

11

11

Componentequantidade : IntegerpressaoTrabalho : Doublealimentacao : String = mecânica, elétrica

Direção

11

11

Sinônimo

descriçãoSinônimo : StringSinonimizavel

1..n1..n 1..n1..n

temTodas as classes, com excessão das subclasses herdam da classe Sinonimizavel. Nem todos os relacionamentos foram colocados para não dificultar a visualizaçãoe leitura do diagrama.

Especificação UMLde Ontologia “Carro” (ex.)

8

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Modelos Dinâmicos: Incluindon Diagramas de Interacção (diagramas de Sequência e de Colaboração), n Diagramas de Estados e n Diagramas de Actividades

Casos: especificiação de acções que o sistema ou as classes executam quando interagem

Tecnologias de Negócio Electrónico

• Modelos de implementação: como os modelos de componentes e diagramas de distribuição dessas componentes em diferentesplataformas

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Extensões às representações UML com :n “packages” (pacotes)n “templates” (moldes)n Diagramas de Sequêncian Diagramas de Colaboraçãon Diagramas de Actividadesn Diagramas de Estados

Como extender UML para exprimir Protocolos de Interacçãoentre Agentes-PIA ( agent interaction protocols -AIP)?

Tecnologias de Negócio Electrónico

9

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

n Diagramas de Interacção, n Diagramas de Sequência + Diagramas de SequênciaDefinem o Comportamento de Grupos de Objectos:

n Interacções básicas entre Objectos ao nível da invocação dos Métodos. Para cada caso específicon Não são apropriados para interacção social nos Sistemas Multi -Agente

n

n Diagramas de Estadosn Usados 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 casosn Não apropriados para descrevêr comportamentos de Objectos Cooperantes

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

n Diagramas de Actividadesn Definem o curso dos acontecimentos eventos/acções

para diferentes objectos em diferentes casos

n São úteis para interacção social nos Sistemas Multi-Agente

n Não são necessárias alterações nem extensões

Tecnologias de Negócio Electrónico

10

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

Extensão

Notação Gráfica fornece uma linguagem comum para a comunicação nos AIP

Exemplo:n Tipos de conecçõesn Linha de vida do Agente

divide-se em “threads”

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Um AIP descreve um padrão de comunicação incluindo mensagenspermitidas entre agentes e as restrições impostas ao seu conteúdo

Fig. 1. Package (pacote) de um Template (molde) exprimindo um AIP

Cfpcfp

recusanão-entendido

proposta

tempolimite

aceitaproposta

rejeitapropostainforma

cancela

Decisão“x” = OUExclusivo

Tecnologias de Negócio Electrónico

Protocolo

Rede de Contratos

11

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

UMLAirlines/Leilão:Vendedor

Participantes-Leilão:Consumidor

Início tempo cfp Cfp(initial price)

Início tempo cfp+1 minuto

Inform(start-auction , departure,arrival)

{m?0} not-understood (syntax error)

{m?0} not-understood (ontology)

Propose(price, departurearrival

Reject-proposal(wrong price)

Accept-proposal(correct-price)

Cfp(new-price)

1/ inform(endofauction, departure,arrival)

{0..1}[actual-price>=reserved price

2/request(pay-price)

cfp -2

AIP-Protocolo do Leilão Inglês para sobras de Bilhetes de Avião.

Diagramas de sequênciacombinados com a notação dos Diagramas de Estados

Leiloeiro apresenta preço inferior ao esperado no mercado e incrementa -o gradualmente.Quando todos desistem,Aúltima proposta é válida se > preço de reserva

k

1

1

1

1

1

1

1

k

k

k

k

k

k

k

Fig. 2. AIP p/ Leilão Inglês

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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)

Tecnologias de Negócio Electrónico

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

12

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

O AIP considerado não especifica:

n Qual o procedimento do Iniciador para definir a CFP(Chamada a Propostas)n Qual o procedimento do Participante para gerar as Propostas

n Tais procedimentos podem detalhar o processo de Interacção através de Diagramas de Interacção, de Estados ou de Actividades

n O detalhe pode continuar a vários níveis (Fig3)

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig3. Podem combinar-se Diagramas para exprimir com maior detalhe os Protocolos de Interacção

Tecnologias de Negócio Electrónico

13

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Cada nível pode exprimir actividades Inter e Intraagentes

Em conclusão, os exemplos ilustram:

n Um Protocolo (como um todo) é uma entidadea alto nível

n O Diagrama de Sequência descreve as transacções inter-agentes necessárias para implementar o protocolo

n Actividades intra-Agentes podem ser especificadas por Diagramas de Actividades(UML)

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Nível 1 – Representar o Protocolo como um todo

n Patterns(Padrões) são conceitos úteis em um contexto e reutilizáveis noutros.

n Em UML quer “packages” quer “templates” expressam protocolos para reutilização

Tecnologias de Negócio Electrónico

14

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Na Fig.4 temos dois “packages”:

• Compra (“Purchasing”) exprimindo um protocolosimples entre um Intermediário (“Broker”) e Retalhista (“Retailer”)

• Fornecimento(“Supplying”)

Tecnologias de Negócio Electrónico

15

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

• 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”)

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Na 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)

Tecnologias de Negócio Electrónico

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

16

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig. 5. Aplicação do template (molde) da Fig1 a um cenário particular com Vendedores e Compradores

Tecnologias de Negócio Electrónico

AIP da Fig1 é um padrão:“custumizada”:Iniciador/Partcipante àComprador / Vendedor

CFP à seller-rfp2 tipos de recusa

Deadline explícita

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

17

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig. 6. Desenho da nova Package usando o Template da Fig1

A Fig5 foi o Molde (“Template”) resultante

Vendedor,

CompradorIniciador,

Participante

Deadline 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

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

Nível 1 – Representar o Protocolo como um todo

18

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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)

Agente1/Papel:Classe Agente2/Papel:Classe

Actos de Comunicação

Diagramas de Sequência

Tecnologias de Negócio Electrónico

19

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Na 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

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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)

Tecnologias de Negócio Electrónico

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

20

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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)

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

21

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig. 9. Multiplas técnicas expressando comunicaçãoconcorrente e agentes com múltiplos papeis ourespondendo a diferentes Actos de Comunicação (CAs)

Os CAs podem serenviados ao mesmo ou a diferentesAgentes

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig. 10. Exemplo de Diagrama de Colaboração especificando a interacção entre agentes com múltiplos papeis (dimensão tempo

não existe)

Tecnologias de Negócio Electrónico

B/Contractor

A/Costumer

C/CompetitorB/Competitor

Analyzer

C/Contractor2A/NegotiatorC/Contractor1

D/ContractorD/Debtor

Change Role

Change Role 2:Question

3:

1:1 Request 4:refuse

1:2Request5:Propose7: Commit

12:Assert+Request14: 13:Ship

8:Commit11:Ship

1:3Request

6:

9:Assert

10:Refuse

Change Role

22

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Figura 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

Tecnologias de Negócio Electrónico

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Fig. 11. Versão Diagrama de Sequência da Fig10

Tecnologias de Negócio Electrónico

23

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

Fig.12Modelação de papeis representando cada nó “objecto” como uma classe de papeis

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

24

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

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 2004 MEI-LEIC / Eugénio Oliveira

Diagramas de Actividade são similares à natureza das redesde Petri Coloridas porque:

Tecnologias de Negócio Electrónico

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 de Petri a vêr mais tarde

25

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

A 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)

Tecnologias de Negócio Electrónico

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 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electró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.

26

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electró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 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico

Fig. 14. Diagrama de Estados com estados válidos para protocolo de Encomenda.

27

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Nível 3: Representação do processamento interno do Agente

Tecnologias de Negócio ElectrónicoNível 1 – Representar o Protocolo como um todo

Nível 2: Representação das Interacções entre os Agentes

Fig. 15. Diagrama de Actividades especificando o comportamento de um Agente que satisfaz uma Encomenda. A Tracejado interfaces com Agentes externos

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 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electró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 por um 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.

28

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electró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 2004 MEI-LEIC / Eugénio Oliveira

• 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)

Tecnologias de Negócio Electrónico

Diagrama de Estados

29

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

Tecnologias de Negócio Electrónico

Figure 16. Diagrama de Estados especificando o comportamento de três agentesPara as actividades de processamento de Encomenda.

Processador de

Encomenda

Receptor

PagamentoEmissor Factura

Janeiro 2004 MEI-LEIC / Eugénio Oliveira

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

Tecnologias de Negócio Electrónico