next up previous contents index
Next: Identificação Up: Persistência Previous: Persistência

Estrutura e Identidade de Objectos

Utiliza-se a noção de grafo persistente para designar a entidade que aglomera um conjunto de agrupamentos de objectos. Cada agrupamento é formado por todos objectos acessíveis a partir de um outro, que será designado por raiz do agrupamento, e que ainda não pertençam a nenhum outro agrupamento

A criação de um grafo persistente consiste em encontrar uma representação, das relações entre os objectos que dele fazem parte, em memória estável. Esta representação deve, como é óbvio, ter a ela associada uma forma de a identificar, para que possa vir a ser mais tarde carregada de novo em memória.

A especificação de um agrupamento passa pela da sua raiz. Cada agrupamento posssui um nó a partir do qual todos os outros no mesmo agrupamento são acessíveis. A especificação da raiz é aleatória, querendo isto dizer que qualquer objecto pode ser uma raiz. Uma raiz pode ser designada de forma implícita ou explícita. A forma explícita é utilizada pelo nível de programa e corresponde à associação de um nome a um dado objecto. A associação formada por esse nome e um identificador único é registada num servidor de nomes. A forma implícita corresponde a associar a um objecto um identificador único, ou seja, difere da explícita apenas no facto de não utilizar o servidor de nomes. A forma implícita está disponível apenas para os níveis de ligação e suporte.

Cada grafo persistente contém apenas uma raiz explícita, podendo, contudo, possuir um número indeterminado de raízes implícitas. Cada agrupamento tem apenas uma raiz, que pode ser implícita ou explícita.

Referências para as raízes explícitas são colocadas numa tabela do gestor do módulo. O carregamento de qualquer módulo para dentro de um contexto também coloca as raízes dos módulos nesta tabela.



David M. M. de Matos
Thu Jun 29 14:58:09 MET DST 1995