A Distributed Object- A Distributed Object- Oriented Framework for Oriented Framework for Dependable Multiparty Dependable Multiparty Interactions Interactions A.F.Zorzo, R.J.Stroud A.F.Zorzo, R.J.Stroud Leonardo Viccari Leonardo Viccari
A Distributed Object-A Distributed Object-Oriented Framework for Oriented Framework for Dependable Multiparty Dependable Multiparty
InteractionsInteractions
A.F.Zorzo, R.J.StroudA.F.Zorzo, R.J.StroudLeonardo ViccariLeonardo Viccari
Interação MultiparticipanteInteração Multiparticipante
Mecanismo que compreende múltiplas Mecanismo que compreende múltiplas partes (processos, objetos, threads, etc.) partes (processos, objetos, threads, etc.) executando, juntas, um conjunto de executando, juntas, um conjunto de atividades.atividades.
Propriedades:Propriedades: Sincronização na entrada;Sincronização na entrada; Checagem de pré- e pós-condições;Checagem de pré- e pós-condições; Atomicidade.Atomicidade.
Interação Multiparticipante Interação Multiparticipante Confiável (DMI)Confiável (DMI)
Interação multiparticipante com meios Interação multiparticipante com meios para o tratamento de exceções.para o tratamento de exceções. Possibilidade de tratar exceções Possibilidade de tratar exceções
concorrentes;concorrentes; Sincronização antes do término da Sincronização antes do término da
interação.interação.
Construir DMIs a partir de interações Construir DMIs a partir de interações não-confiáveis em cadeia.não-confiáveis em cadeia.
DMIDMI
DMI FrameworkDMI Framework
Quatro tipos de objetos distribuídos:Quatro tipos de objetos distribuídos:
DMI FrameworkDMI Framework
Interação multiparticipante é um conjunto Interação multiparticipante é um conjunto de de managersmanagers..
DMI é uma união de MIs fazendo uso da DMI é uma união de MIs fazendo uso da associação associação activatesactivates..
Cada DMI pode ser representada por Cada DMI pode ser representada por vários conjuntos desses 4 objetos.vários conjuntos desses 4 objetos.
ManagerManager
Gerencia um único Gerencia um único rolerole.. Conhece o Conhece o leaderleader.. Recebe, quando instanciado, o tratador de Recebe, quando instanciado, o tratador de
cada tipo de exceção.cada tipo de exceção. Execução:Execução:
Sincroniza;Sincroniza; Testa pré-condição;Testa pré-condição; Executa Executa rolerole;; Testa pós-condição;Testa pós-condição; Sincroniza;Sincroniza;
RoleRole
Possui um único Possui um único managermanager.. Pode ser executado somente pelo seu Pode ser executado somente pelo seu
managermanager.. Ao aparecerem exceções, trata ou passa Ao aparecerem exceções, trata ou passa
ao ao managermanager..
External, Shared ObjectsExternal, Shared Objects
External objectsExternal objects são objetos visíveis de são objetos visíveis de fora da DMI, contendo seu estado.fora da DMI, contendo seu estado.
Shared objectsShared objects são objetos usados para são objetos usados para trocar informações entre dois trocar informações entre dois rolesroles diferentes.diferentes.
Coordinated Atomic Coordinated Atomic actionaction
Mecanismo para coordenar interações Mecanismo para coordenar interações multi-thread.multi-thread.
Pode ser implementada através de uma Pode ser implementada através de uma DMI.DMI.
DMI e DMI e CA actionCA action
Aplicação PráticaAplicação Prática
Aplicação PráticaAplicação Prática
Aplicação PráticaAplicação Prática
Aplicação PráticaAplicação Prática