É importante notar que a infraestrutura normativa agregada à descrição de ambiente não é uma abordagem para modelar organizações, apesar de ser possível utilizar para este fim, tal organização ficaria restrita a um modelo simplificado. Com a definição de espaços normativos, onde um conjunto de papéis organizacionais podem ser situados, pretende-se preencher a lacuna conceitual entre a maneira usual em que as organizações e ambientes são modelados. A partir dos conceitos associados à infraestrutura normativa introduzidos neste trabalho possibilitam a conexão de definições de organizações e ambientes. Além disso, a distribuição de informação organizacional e normativa pode facilitar a modelagem de grandes organizações.

Na figura 5.2 são apresentadas duas formas de integração entre ambiente e organi-zações. As organizações podem ser integradas diretamente aos agentes individualmente, mas nesta figura é mostrada apenas a integração entre ambiente e organização.

As duas formas básicas de ligação de organizações e um ambiente no modelo MAS-SOC são as seguintes:

Estática: como mostrado do lado esquerdo da Figura 5.2, a partir de uma descrição ex-terna organização, o projetista pode modelar conceitualmente a estrutura normativa para refletir uma imagem estática da organização, convertendo estruturas

organi-Environment

Figura 5.2: Ligação entre Organizações e Ambiente

zacionais em papéis relativos e relações organizacionais. Esta imagem existiria apenas conceitualmente ou na documentação, sem estruturas específicas que a im-plementam. Neste caso, os papéis seriam inserido nos espaços normativos enquanto as relações e os comportamentos organizacionais são prescritos em normas contidas nos objetos normativos, de modo a refletir a imagem conceitual da organização.

Dinâmica: como mostrado no lado direito da Figura 5.2, o agente ‘org ag’, obtém as informação disponível na descrição da organização e dinamicamente atualiza a es-trutura normativa no ambiente. O agente que recebe as percepções do ambiente pode utilizar esta informação como feedback para a ferramenta externa de repre-sentação de organizações que poderá alterar a estrutura organizacional. O agente

‘org ag’ pode fazer parte da simulação ou não, de acordo com a necessidade da aplicação; da mesma forma que o técnico de um time usualmente não faz parte do jogo, mas pode mudar a organização de seu time dinamicamente.

As formas de ligação entre ambiente e organizações, mencionadas acima, podem ser um complemento para uma abordagem organizacional existente. Usualmente, em abordagens de SMA centradas nas organizações, as organizações se conectam às mentes dos agentes, tal conexão não é conflitante com a abordagem apresentada para integrar organizações e ambientes. Mesmo quando as estruturas organizacionais têm conexões diretas com as mentes dos agentes, acredita-se que a conexão indireta com os agentes pode ser bastante útil. Utilizando-se estas formas simples de integração, seria possí-vel integrar o ambiente com a maioria das abordagens existentes para organizações em SMA, como (VÁZQUEZ-SALCEDA; DIGNUM; DIGNUM, 2005; HÜBNER; SICH-MAN; BOISSIER, 2002; GARCIA-CAMINO; NORIEGA; RODRÍGUEZ-AGUILAR, 2005). É claro que simplificações podem ser necessárias e algumas funcionalidades des-tas abordagens de organizações podem não ser capturadas pelo uso de tal integração.

5.1.1 Modelo Pop-Org

O modelo Pop-Org (Populations and Organisations) (DEMAZEAU; COSTA, 1996) é baseado em conceitos apresentados por (DEMAZEAU, 1995), define uma população de um SMA como um conjunto de agentes que o habitam, juntamente com o conjunto de comportamentos que os agentes são capazes de realizar e o conjunto de todos os processos de interações que os agentes podem estabelecer entre si (P opulacao(SM A) =Agentes+ Interacoes).

No modelo Pop-Org, uma organização invariante no tempo pode ser definida como um conjunto de papéis organizacionais e relacionamentos organizacionais. Sendo os papéis responsáveis por capturar as características do processo global que estão ligados aos pro-cessos locais dos agentes. Enquanto os relacionamentos seriam responsáveis por capturar as características do processo global que correspondem as influências mútuas entre os agentes. Desta forma uma organização poderia ser definida comoOrg = (Ro;Li), onde Roé o conjunto de papéis organizacionais existente eLié um conjunto de relacionamen-tos organizacionais que representam as influências mútuas entre os papéis da organização.

Esta forma de organização baseia-se na idéia que a organização de um sistema pode ser considerada como uma abstração da presença de agentes específicos no sistema, podendo ser definida como um conjunto de papéis organizacionais e relacionamentos organizaci-onais; onde os papéis capturam as características de processos globais que são partes do processo local dos agentes, enquanto os relacionamentos capturam as características do processo global que correspondem às influências mútuas entre os agentes (DEMAZEAU;

COSTA, 1996).

Desta forma, para completar o modelo de um sistema, a população e a organização de um sistema devem estar adequadamente relacionadas, de forma que a organização seja implementada pela população. Assim, uma relação de implementação de uma organi-zação Org por uma população Pop seria composta por agentes de Pop implementando papéis de Org; juntamente com relacionamentos (links) de Org sendo implementados por processos de interação de Pop.

Baseado nestes conceitos apresentados, criou-se uma forma simplificada para defi-nir organizações baseadas no modelo Pop-Org para ser utilizada no contexto do Modelo MAS-SOC, apresentada a seguir.

5.1.2 Modelo Mínimo de Organizações

A fim de possibilitar no Modelo MAS-SOC a inclusão de conceitos que não estão espacialmente situados, foi incluída essa simplificação do modelo Pop-Org para exem-plificar o relacionamento de um estrutura organizacional não espacial dentro do modelo.

Esta se ligaria à simulação conforme apresentado na Seção 5.1, onde se menciona a liga-ção dinâmica do modelo MAS-SOC à uma organizaliga-ção.

Simplificando as definições do modelo Pop-Org para o contexto do modelo MAS-SOC, uma organização mínima poderia ser representada por um conjunto de papéis e um conjunto de normas que representariam as relações entre os papéis desta organização.

Desta forma, para cada relacionamento entre papéis seria definido um conjunto de normas.

Este modelo mínimo pode ser utilizado para representar características de organiza-ções de maneira não-espacial de forma a capturar os aspectos que seriam melhor defi-nidos desta maneira. Assim pode-se definir a organização não-espacial, relacionando-se diretamente com sua imagem projetada na infraestrutura normativa espacialmente con-textualizada.

A realização da implementação de uma organização é realizada basicamente pelos mecanismos de atribuição de papéis organizacionais para os agentes e o estabelecimento de relações entre agentes desempenhando os papéis organizacionais. Enquanto a dinâmica estrutural da organização seriam as operações de criação e deleção de papéis e normas relacionadas aos papéis. Estas operações podem ser realizadas pelos agentes definidos como owner da organização, que poderão incluir outros agentes nesta função, enquanto outros agentes poderão apenas receber as informações da estrutura organizacional.

Este modelo de organização mínimo baseado nos conceitos do modelo Pop-Org, se

concentra apenas na representação utilizada para representação de organizações invarian-tes no tempo. Desta forma, estariam representados apenas os estados momentâneos da organização, sem os mecanismos e a semântica que poderiam explicar o funcionamento dinâmico da organização, tais como os apresentados em (COSTA; DIMURO, 2008). As-sim, neste modelo simplificado, o estado armazenado da organização seria composto pela definição de uma organização e relações de implementação de papéis por agentes:

Organisation familyA{

roles = {father, mother, son, daughter};

owner = {ag1};

//norma não contextualizada:

Norm norm1 = {has(father,obligation(educate(son),true)))} ; }

implements(ag1, familyA.father);

implements(ag2, familyA.son);

implements(ag3, familyA.son);

No trecho acima está definida um organização simples com apenas quatro papéis e a definição de uma norma que definiria uma das formas de relacionamento entre os papéis.

Em seguida, uma lista com as relações de implementação de papéis pelos agentes.

Além disso, através da troca de mensagens com o controle da estrutura de organização, é possível para o agente habilitado alterar a estrutura da organização, como criar papéis e normas. Os agentes que possuem direitos para alterar a estrutura de uma organização não-espacial podem ser parte da simulação ou não, conforme o exemplo da figura 5.2, de acordo com as características da simulação.

familyA.createRole("inLaw");

familyA.createNorm("norm2","has(father,right(use(car),true))");

createOrg("familyB");

Também é possível aos agentes criar novas organizações, sendo o agente que cria a orga-nização designado como owner. Desta forma, é possível a existência de diversas organiza-ções, que possivelmente podem ter normas conflitantes. Assim, a influência das diversas organizações é dada pela decisão dos agentes em seguir suas normas e implementar seus papéis.

Acesso Dinâmico à Estrutura

Para alteração da estrutura organizacional durante a simulação, os agentes podem en-viar comandos de maneira semelhante a utilizada na infraestrutura normativa (Seção 4.6).

Da mesma forma, um processo distinto, que implementa a mesma interface de comuni-cação de um agente, recebe as mensagens dos agentes, verifica se o agente que enviou a mensagem tem direitos suficientes para alterar a organização e realiza a atualização, con-forme a Figura 5.3. As mensagens são enviadas da mesma maneira que para um agente comum, utilizando-se a infraestrutura do Jason.

• create(Id,[Property list]), para criar uma nova organização;

• set(Id,[Property list]), para alterar propriedades de uma organização existente;

• get(Id,Property]), retorna via mensagem o valor da propriedade;

Org.

agn Ag Organizational

Structures request

response

Figura 5.3: Acesso à Estrutura de Organizações

• getIds, retorna via mensagem os identificadores das organizações existentes;

• implements(Org.Role, Agent)), para incluir relação de implementação de um agente e um papel de uma organização;

• remove(Org.Role, Agent)), para remover relação de implementação de um agente e um papel da Organização;

• insert(Org, Norm)), para inserir norma da Organização;

• removeNorm(Org, Norm)), para remover norma da Organização;

• getImplementation(Org), retorna as relações de implementação existentes na organização.

No documento Modelo MAS-SOC: Integrando Ambientes e Organizações para Simulações Baseadas em Sistemas Multiagentes Situados (páginas 54-58)