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.