Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSara Prior Alterado mais de 9 anos atrás
1
Trabalho de Persistência para o EPOS
2
Problema Proposto Implementar no Epos objetos persistentes, ou seja, fazer com que o sistema, ao ser reiniciado, por exemplo, permita sua recuperação.
3
Proposta para a Solução Proposta: Utilizar templates, declarando os atributos que serão persistidos, também fazer uso de override de operadores, fazendo com que os objetos ao serem atualizados sejam salvos “automaticamente”.
4
Implementação Para os atributos serem persistidos, a classe deve estender a nossa classe PersistentObject. A utilização de templates permite que o usuário declare os atributos que serão permitidos da seguinte maneira: Persistent var; Na criação destes objetos persistentes também deve ser fornecido um ID, como parâmetro adicional no seu construtor. Quando o objeto for criado, é feita uma verificação pelo seu ID, caso ele já estiver em memória, os valores dos seus atributos persistentes são carregados.
5
Implementação Foi criada uma interface Memory para que diferentes tipos de memória possam ser utilizados, bastando implementar os métodos read, write e size.
6
Implementação A classe PersistenceManager vai gerenciar a geração de novos id’s e o armazenamento dos objetos através do ObjectsTable, que carregará e salvará os objetos na memória e os organizará por dois id’s, o do objeto e o do atributo. Os id’s de atributos serão gerados automaticamente pela classe Persistent.
7
Armazenamento dos dados Quando for definida a memória a ser utilizada através do método setMemory, o PersistenceManager carregará o índice de objetos da memória, que ficará no ObjectsTable. A primeira posição da memória conterá o tamanho do índice. Cada elemento do índice será composto de: identificador, endereço e tamanho.
8
Diagrama de classes
9
Sequência – operador =
10
Sequência - setMemory
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.