Tecnologias de Negócio Electrónicoeol/TNE/www/AUML_slides.pdf · Janeiro 2004 MEI-LEIC / Eugénio...

Post on 06-May-2018

215 views 1 download

Transcript of Tecnologias de Negócio Electrónicoeol/TNE/www/AUML_slides.pdf · Janeiro 2004 MEI-LEIC / Eugénio...

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