• No results found

4. Diskusjon

4.1. Resultatdiskusjon

MAORI ´e estruturada em camadas. Destacam-se duas camadas principais: uma camada inferior, denominada camada de integra¸c˜ao de modelos (camada M2M); e uma camada superior, denominada camada de interoperabilidade organizacional (camada ORI). Na figura 7.2, ilustra-se a divis˜ao de MAORI nas camadas M2M e ORI, bem como os principais componentes que pertence a essas duas camadas.

7.2.1

Camada de Integra¸c˜ao de Modelos

Na camada de integra¸c˜ao de modelos (M2M), encontram-se dois tipos de compo- nentes: metamodelos e transforma¸c˜oes.

Os metamodelos designados por MM1, MM2, ..., MMn s˜ao representa¸c˜oes

da estrutura conceitual de modelos organizacionais OM1, OM2, ..., OMn, respec-

tivamente. O metamodelo MMint consiste na integra¸c˜ao conceitual dos modelos

organizacionais representados por MM1, MM2, ..., MMn, conforme apresentado

no cap´ıtulo 6.

As transforma¸c˜oes s˜ao fun¸c˜oes execut´aveis que implementam os mapeamen- tos de articula¸c˜ao entre o metamodelo integrado MMinte os metamodelos MM

1,

MM2, ..., MMn definidos durante a cria¸c˜ao de MMint. Cada mapeamento d´a

origem a duas transforma¸c˜oes: uma transforma¸c˜ao transf(from: MMi): MMint,

Gestão de Interações I Gestão de Organizações O Deliberação Estado Mental A A Atuador E Sensor E Organização de Agentes O Gestão de Interações I Gestão de Organizações O Deliberação Estado Mental A A Atuador E Sensor E Gestão de Interações I Gestão de Organizações O Deliberação Estado Mental A A Atuador E Sensor E Gestão de Interações I Gestão de Organizações O Deliberação Estado Mental A A Atuador E Sensor E Estado / Especificação

transf(from:MM ): MMint i transf(from:MM ): MMi int

MMint MM 1 MMi . . . MMn CAMADA M2M . . . . Estado / Especificação Infraestrutura

baseada em OM Infraestruturabaseada em OM Infraestruturabaseada em OM

Adaptador OM1

Adaptador OMn

11 i1 i2 n1

Rep Rep Rep

i1 i2 n1 Estado / Especificação Rep n1 Rep 11 Rep 11 Rep i1 Rep i2 . . . Provedor OMi CAMADA ORI monitora

Figura 7.2: infraestrutura MAORI.

representa¸c˜ao equivalente conforme MMint; e a inversa transf(from: MMint):

MMi, que converte do metamodelo integrado MMint para um particular meta-

modelo MMi.

Pela defini¸c˜ao de integra¸c˜ao conceitual, se¸c˜ao 3.2, observa-se que nas trans- forma¸c˜oes transf(from: MMi): MMint n˜ao ocorrem perdas de informa¸c˜ao. J´a

nas transforma¸c˜oes inversas transf(from: MMi): MMint, em geral, pode-se per-

der informa¸c˜ao. Esta observa¸c˜ao pode ser formulada de modo mais preciso da seguinte maneira. Dada a defini¸c˜ao

convij(f rom) =def transf (transf(f rom : MMi) : MMint) : MMj

sempre se tem

spec = convii(spec)

mas n˜ao h´a garantias de que

spec = convji(convij(spec))

para qualquer especifica¸c˜ao spec escrita conforme um dado metamodelo MMi.

para o metamodelo integrado e em seguida fazer o inverso, resulta na mesma especifica¸c˜ao original. Por outro lado, partir de uma especifica¸c˜ao escrita em um MMi, converter esta especifica¸c˜ao para um metamodelo diferente MMj por

interm´edio de MMint, e em seguida fazer o caminho inverso, n˜ao necessariamente

resulta na especifica¸c˜ao original escrita conforme MMi. Uma discuss˜ao mais

detalhada sobre as implica¸c˜oes deste fato ´e apresentada nas considera¸c˜oes ao final deste cap´ıtulo.

Em suma, a fun¸c˜ao principal da camada de integra¸c˜ao de modelos ´e pro- ver transforma¸c˜oes que possam ser combinadas para converter especifica¸c˜oes e estados organizacionais entre modelos organizacionais.

7.2.2

Camada de Interoperabilidade Organizacional

A camada de interoperabilidade organizacional (ORI) funciona como uma ex- tens˜ao das infraestruturas organizacionais utilizadas na implementa¸c˜ao de orga- niza¸c˜oes de agentes. Buscando habilitar a participa¸c˜ao de agentes heterogˆeneos em uma mesma organiza¸c˜ao, a camada ORI adiciona trˆes componentes b´asicos `as infraestruturas organizacionais: provedores organizacionais, adaptadores orga- nizacionais e representantes de agentes.

7.2.2.1 Provedores e adaptadores

Provedores organizacionais s˜ao respons´aveis por exportar a especifica¸c˜ao e es- tado de uma organiza¸c˜ao de agentes. Neste caso, exportar significa converter a especifica¸c˜ao e estados organizacionais expressos de acordo com um dado me- tamodelo MMi para o metamodelo integrado MMint, utilizando transf(from:

MMi): MMint.

Adaptadores organizacionais s˜ao respons´aveis por importar a especifica¸c˜ao e estado organizacionais exportados pelos provedores, emulando a organiza¸c˜ao exportada em uma infraestrutura destino. A importa¸c˜ao ocorre utilizando a transforma¸c˜ao transf(from: MMint): MM

j, caso a infraestrutura destino seja

baseada no modelo organizacional OMj.

Deste modo, para cada organiza¸c˜ao formada por agentes heterogˆeneos deve existir um provedor organizacional. Conectados ao provedor, pode haver v´arios adaptadores organizacionais, um para cada infraestrutura organizacional na qual situam-se agentes heterogˆeneos que participam da organiza¸c˜ao. Para estabe- lecer conex˜oes, os provedores e adaptadores devem compartilhar um meio de

Figura 7.3: Sociedade de interoperabilidade organizacional ORISOC.

comunica¸c˜ao e protocolo de intera¸c˜ao. Na se¸c˜ao 7.3, discute-se o protocolo de intera¸c˜ao; j´a o meio de comunica¸c˜ao compartilhado ´e discutido a seguir.

Sociedade de Interoperabilidade Organizacional

De modo a permitir que se estabele¸cam conex˜oes, provedores e adaptadores orga- nizacionais s˜ao concebidos como agentes que participam como membros de uma organiza¸c˜ao chamada de sociedade de interoperabilidade organizacional (ORI- SOC). Desta maneira, internamente, a pr´opria camada ORI ´e concebida como um SMA-CO, como ilustrado na figura 7.3.

Concebida como um SMA-CO, a camada ORI pode ser modelada por meio de uma especifica¸c˜ao organizacional. Utilizando o modelo MOISE+ (subse¸c˜ao 4.2.4), a especifica¸c˜ao organizacional da camada ORI, restrita `a dimens˜ao estrutural, ´e apresentada na figura 7.4. Na figura, o grupo ORISOC representa a camada ORI. Compondo ORISOC, podem existir v´arios (sub)grupos OrgIntGr. Em cada

OrgIntGr, definem-se dois pap´eis: OrgProvider eOrgAdapter. Dentro de um grupo

OrgIntGr, no papel deOrgProvider, s´o pode haver um ´unico agente, e este agente ´e um provedor organizacional. J´a no papel de OrgAdapter, podem existir v´arios agentes, e estes agentes s˜ao adaptadores organizacionais. Por fim, agentes no papel de OrgProvider podem se comunicar com agentes no papel deOrgAdapter, e vice-versa. Deste modo, cada grupoOrgIntGr deORISOCrepresenta uma conex˜ao que pode ser estabelecida entre um provedor e v´arios adaptadores organizacionais dentro da camada ORI para prover interoperabilidade organizacional.

A partir da representa¸c˜ao da camada ORI por meio de uma especifica¸c˜ao organizacional, o maior benef´ıcio ´e que se pode utilizar uma infraestrutura orga-

Figura 7.4: Especifica¸c˜ao organizacional da camada ORI, em MOISE+.

nizacional para implement´a-la. Seguindo este caminho, o meio de comunica¸c˜ao compartilhado entre provedores e adaptadores organizacionais ser´a a infraestru- tura de comunica¸c˜ao subjacente `a infraestrutura organizacional utilizada. Por exemplo, observando que se utilizou MOISE+ para modelar a camada ORI, a es- colha natural de infraestrutura organizacional ´e S-MOISE+, descrita na subse¸c˜ao 2.3.3.3. Utilizando S-MOISE+, a comunica¸c˜ao entre provedores e adaptadores pode ser realizada conforme ilustrado na figura 7.5. A figura ´e uma instan- cia¸c˜ao da arquitetura de S-MOISE+ (figura 2.7) na qual os agentes da camada de aplica¸c˜ao s˜ao provedores e adaptadores que comp˜oem a camada ORI da infra- estrutura MAORI.

Dado este meio de comunica¸c˜ao, uma conex˜ao entre um provedor e v´arios adaptadores ocorre da seguinte maneira:

1. Um provedor obt´em um OrgBox na infraestrutura S-MOISE+.

2. A partir do OrgBox, o provedor cria um grupo OrgIntGr e assume o papel

OrgProvider.

3. Em seguida adaptadores obtˆem componentes OrgBox e entram no grupo criado assumindo o papel de OrgAdapter.

4. Uma vez no grupo, provedores e adaptadores podem trocar mensagens uti- lizando a infraestrutura de comunica¸c˜ao subjacente a S-MOISE+.

Mais detalhes relativos a este protocolo s˜ao apresentados na se¸c˜ao 7.3.

7.2.2.2 Representantes de Agentes

Como o nome sugere, representantes de agentes s˜ao componentes da camada ORI que funcionam como representantes locais (proxies) de agentes situados em

KQML/FIPA-ACL ComunicaçãoCamada de OrgManager OrgBox 1 OrgBox i OrgBox n

Provedor OM-i S-MOISE+ ORISOC Adaptador OM-1 Adaptador OM-n

Figura 7.5: Conex˜ao entre provedor e adaptadores por meio de S-MOISE+.

infraestruturas organizacionais remotas. O prop´osito b´asico destes componentes ´e possibilitar que agentes situados em diferentes infraestruturas organizacionais possam trocar mensagens.

Quando um agente entra em uma organiza¸c˜ao, em geral, espera-se que ele venha a trocar mensagens com outros agentes que fazem parte da mesma or- ganiza¸c˜ao. Contudo, se o agente que deve receber a mensagem n˜ao estiver fi- sicamente localizado no mesmo espa¸co de comunica¸c˜ao, i.e., infraestrutura or- ganizacional, h´a o problema de como fazer para que a mensagem chegue at´e o recipiente. Na camada ORI, isto ´e feito atrav´es dos representantes de agentes. Tanto o provedor quanto os adaptadores registram um representante para cada agente remoto, i.e., um agente que ´e parte da organiza¸c˜ao mas que est´a situado em um espa¸co de comunica¸c˜ao diferente. Estes representantes s˜ao vistos como agentes locais pelos outros agentes presentes no mesmo espa¸co de comunica¸c˜ao. Desta maneira, n˜ao importando onde estejam situados, os agentes tˆem uma vis˜ao de todos os agentes que atualmente fazem parte da organiza¸c˜ao, como ilustrado na figura 7.3.

Caso um agente enderece uma mensagem a um representante de agente, a mensagem ´e roteada via provedor e adaptadores at´e chegar ao seu destinat´ario real, como apresentado a seguir.