Requirements as Goals and
Commitments too
Rômulo César
[email protected]
Centro de Informática (www.cin.ufpe.br)
Universidade Federal de Pernambuco (Cin/UFPE)
Autores
John Mylopoulos recebeu seu grau de BEng Brown
University em 1966 e seu doutorado em Princeton em
1970, ano em que se juntou ao corpo docente da
Universidade de Toronto. Seus interesses de pesquisa
incluem
informações
técnicas
de
modelação,
abrangendo notações técnicas, execução e aplicações,
sistemas baseados em conhecimento, modelos de
dados semânticos, projeto de sistema de informação e
engenharia de requisitos.
Departamento de Ciência da Computação
Universidade de Toronto
[email protected]
Amit Chopra PhD, Ciência da Computação, North
Carolina State University, dezembro 2008.
MS, Ciência da Computação, North Carolina State
University, 2003
Fabiano Dalpiaz, Paolo Giorgini and
Munindar P. Singh
Introdução
Em engenharia de software de pesquisa tradicional e na prática, os requisitos são classificados como
funcionais ou não funcionais. Os requisitos funcionais consistem de todas as funções do sistema a ser
deveria apoiar, e foram modelados e analisados em termos de diagramas e flechas. Os requisitos não
funcionais incluem qualidades software desejado para o sistema a ser desenvolvido e têm sido descritos em
linguagem natural, quer seja em termos de métricas.
•
Requisitos têm sido tradicionalmente conceituado como o que o sistema precisa ser capaz de executar. Os
casos de uso é um tipo de classificador tradicional que representa uma unidade funcional .
•
O objetivo principal do trabalho é propor um próximo passo da linha de pesquisa, adicionando conceito de
compromisso condicional e metas.
Introdução
O trabalho está estruturado da seguinte forma:
A Seção 2 fornece uma visão abrangente sobre os compromissos, especialmente em seu uso em
sistemas multiagentes.
Seção 3 ilustra como os compromissos podem ser usados com objetivos para especificar os
requisitos, e introduz alguns princípios de raciocínio.
Seção 4 exemplifica como o raciocínio pode ser aplicado em um ambiente de agência de viagens.
Seção 5 compara o nosso modelo de trabalho relacionado.
Seção 6 conclui com um resumo da nossa abordagem.
2 Commitments in Multiagent
Systems
O conceito de compromisso abrange muitas disciplinas, de Filosofia da Mente, a Psicologia,
Sociologia e Economia. Uma revisão da literatura sugere que o conceito só foi estudada na segunda
metade do século passado (é verdade: Aristóteles não descobriu tudo!).
Os compromissos têm sido aplicados como base para a interação flexível entre os agentes,para a
formulação de linguagens de comunicação do agente [17], como uma abstração para os negócios
processo de concepção [11, 14], no sentido de uma teoria de tipo para protocolos [6, 24], para a
compreensão de interoperabilidade entre os agentes [6, 7] e para a formulação de uma arquitetura
orientada a serviço [38]. Aspectos relacionados ao raciocínio sobre os compromissos tenham sido
abordadas em [7, 13, 16, 36]. Compromissos também foram recentemente aplicados em engenharia
de requisitos [39], e para o acompanhamento em conjunto com os objetivos [26].
2.1 Multiagent Systems
Sistemas Multiagentes (SMA) são sistemas abertos: entidades autônomas e heterogêneas. Um agente
da autonomia significa que nenhum agente tem controle sobre ele. Um agente da heterogeneidade
significa que é um agente interno de construção é inacessível a outros agentes. Um agente pode ser
uma organização humana, ou algum dos interessados previsto no sistema de software. É importante
ressaltar que os sistemas sócio-técnicos(interação entre tecnologias e pessoas) são, em primeiro
lugar, Sistemas Multiagentes.
Nós especificamos as expectativas em termos de compromissos. Um agente que não cumprir seus
compromissos para com os outros é não-conformidade. Um agente pode fazer o que quiser, mas a
partir da perspectiva do sistema pode ser não-conformidade.
2.2 The Concept of Commitment
O compormisso é da forma C (devedor, credor, antecedente, conseqüente), onde o devedor e o credor
são agentes, e antecedente e conseqüente são proposições. Um compromisso C (x, y, r, u) significa
que x tem o compromisso de que, se y r mantém, então ele vai trazer u. Se r detém, então C (x, y, r, u)
é independente, e com o compromisso C (x, y, T, U) detém (T é a constante de verdade). Se u tem, o
compromisso é alta e não se sustenta mais. Todos os compromissos são condicionais, um
compromisso incondicional é apenas um caso especial em que o antecedente é igual Exemplos T.
05/03 ilustrar esses conceitos. Nos exemplos, eBook é uma livraria, e Alice é uma cliente, deixe
BNW e US $ 12 referem-se às proposições Brave New World foi entregue e o pagamento de US $ 12
foi feito, respectivamente.
Exemplo . (Compromisso), C (EBook, Alice, 12 dólares, AMN) significa que Alice paga 12 dólares
e, em seguida EBook irá enviar-lhe o livro Admirável Mundo Novo.
Um compromisso surge em um contexto social ou legal. O contexto define as regras do encontro
entre as partes que interagem e, muitas vezes serve como um árbitro em disputas e impõe sanções aos
partidos que violarem seus compromissos. Por exemplo, o eBay é o contexto de todos os leilões que
ocorrem através do seu serviço, se o licitante não cumprir uma obrigação de pagamento de um leilão
que ganhou, o eBay pode suspender o licitante.
2.3 System Specification: Protocols
As abordagens tradicionais descrevem um protocolo, em termos da ocorrência e da ordem relativa de
mensagens específicas.
O protocolo da Figura. 1 Começa com um envio de uma orferta do EBook para Alice. Alice pode
aceitar ou rejeitar a oferta. Se ela o rejeitar, o protocolo termina, se ela aceita, EBook manda o livro.
Em seguida, Alice envia o pagamento para o EBook.
Fig. 1. Um protocolo de compra como uma máquina de estado finito.Cada mensagem é marcada com
o emissor e o receptor (e aqui abaixo, E é EBook; A é Alice).
2.3 System Specification: Protocols
Tabela 1, um protocolo de aquisição expresso em termos de compromissos
A figura. 2, mostra uma possível aprovação do protocolo descrito na Tabela 1. Ao enviar Criar (cB),
infere EBook CB; após o recebimento da mensagem de Alice cB conclui. Ao declarar o envio ($ 12),
conclui que Alice tem 12 dólares. Conseqüentemente, ela deduz que CB é individual, gerando CUB.
EBook Quando recebe Declare ($ 12), infere CUB. EBook finalmente envia Declare (AMN),
concluindo que seu compromisso é descarregada. Quando Alice recebe Declare (AMN).
2.4 Architecture, Interoperability,
and Middleware
Architecture: especificam as interconexões entre os agentes (através de papéis). protocolos de
compromisso abstrair a partir de considerações de controle e fluxo de dados, em vez incidindo sobre
as relações contratuais entre os agentes.
Interoperability: Interoperabilidade é a capacidade de um sistema (informatizado ou não) de se
comunicar de forma transparente (ou o mais próximo disso) com outro sistema (semelhante ou não).
Para um sistema ser considerado interoperável, é muito importante que ele trabalhe com padrões
abertos.
...
pt.wikipedia.org/wiki/Interoperabilidade
São abordados em [6, 7] através do conceito de alinhamento compromisso.
Middleware: seria idealmente capaz de monitorar metas e compromissos, a razão sobre a
conformidade e interoperabilidade, e adaptações de apoio. Em essência, o middleware que codificam
uma semântica de negócios e formar um substrato comum para todos os tipos de aplicações de
negócio. O middleware seria oferecer um novo modelo de programação: ele suporta a gravação de
serviços diretamente em termos de metas e compromissos, e irá aliviar significativamente o encargo
de escrever agentes.
3 From Goals to Commitments
Resumindo a discussão sobre os compromissos:
•
•
•
•
Compromissos resumo sobre os dados e controle de fluxo.
Compromissos são uma abstração social estar fundamentada na interação, eles codificam
publicamente verificáveis relações entre os agentes.
Compromissos de apoio a noção de respeito que permite a um agente para agir com flexibilidade.
Protocolos podem ser especificados como a compromissos que possam surgir entre os agentes
participantes do sistema.
Noção de metas como estudado em ER
•
•
•
•
Metas resumo sobre os dados e especificações de controle de fluxo.
Metas representam os estados do mundo particular de um agente quer atingir
Os agentes podem ser especificados em termos de abstrações como metas, recursos, e assim por
diante.
As metas também pode ser apoiada em middleware: um agente pode monitorar as metas e agir para
alcançá-los.
3 From Goals to Commitments
Metas e compromissos são complementares. Um agente tem determinados objetivos que quer
cumprir, e ao fazê-lo normalmente deve fazer (para outros) sobre autorizações de determinadas
metas. Como alternativa, um agente tem compromissos com outros (e uma meta a cumprir), e, em
seguida, adota objetivos específicos para cumprir seus compromissos.
Exemplo. Considere objetivo Alice BNW. O compromisso C (comerciante, Alice, o pagamento,
AMN) o comerciante apóia o objetivo, mas só se apóia se Alice fazer o pagamento.
•
•
Um agente malicioso ou imprudente só cuidada para que suas metas sejam suportadas,
independentemente de seus compromissos são suportados
Um agente prudente, por outro lado seria assegurar que os compromissos são também suportados.
4 Applying Goals and
Commitments
Os clientes estão interessados em comprar bilhetes de avião, por algum motivo (por
exemplo, férias ou viagens de negócios), agências de viagens fornecer um serviço de
bilhetes vendidos para os clientes, reservar bilhetes de vôos de companhias aéreas,
transportadores oferecem um serviço de entrega de bilhetes.
Fig 4. Compromissos são retângulos que se conectam (via seta direcionada) de um devedor
ao credor. O protocolo é definido como um conjunto de papéis (círculos) ligados através
de compromissos.
4 Applying Goals and
Commitments
Tabela 3. Compromissos assumidos no protocolo de agência de viagens
Descrição
C1
expedidor da agências de viagens: verfica se o custo de transporte tenham sido pagos, os bilhetes de avião será enviado
C2
agência de viagens ao cliente: se o serviço de reservas tenha sido pago, os bilhetes eletrônico serão enviados por correio eletrônico
C3
agência de viagens ao cliente: se o serviço de reserva e o custo de transporte tenham sido pagos, bilhetes de avião será enviado
C4
companhia aérea para agências de viagens: se os bilhetes de avião foram pagos, os ingressos serão reservados
C5
companhia para o cliente: se os bilhetes foram mostrados, o embarque de vôo será permitido
5 Discussion
•
Engenharia requisitos orientada a meta é uma metodologia que foi concebida com uma visão
tradicional de software em mente. Ela é adequada para o projeto de sistemas onde as partes
interessadas cooperarão num determinado ambiente.
•
A identificação das partes interessadas na análise cenário organizacional e modelo desses atores
(agentes) interessados em termos de suas próprias metas e as dependências entre eles.
•
Começa a partir da identificação das partes interessadas (stakeholders) na análise e definição do
modelo organizacional estes atores interessados em termos de suas próprias metas e as dependências
entre eles.
6 Conclusions
O poder de qualquer técnica de elicitação, modelagem e análise de requisitos repousa sobre os
conceitos primitivos usados para conceituar-los. O advento da orientação por meta na ER provocou
uma mudança a partir de um funcional a uma visão intencional dos sistemas de software. As
implicações desta mudança ainda estão sendo trabalhadas.
O conceito de compromisso e de conceitos relacionados ao social, exige uma nova forma de
especificação do sistema que prescreve sistema de um curso de ação mais concreta do que orientada
técnicas e metas. Vemos nesta proposta mais um passo no sentido de uma visão orientada para agente
de sistemas sócio-técnicos, sua conceituação, design e evolução.
FIM !!!
Download

Apresentação do PowerPoint - Centro de Informática da UFPE