Trabalho 3

Data de entrega: 25/11

Descrição do Trabalho

O sistema de controle de base de dados desenvolvido no trabalho 2 deve ser utilizado na criação de:

  1. Uma biblioteca com operações begin_transaction e end_transaction . A operação begin_transaction deve ter como parâmetro a lista de arquivos envolvidos na transação.
  2. Uma aplicação cliente que use esta biblioteca. A aplicação deve ser um loop infinito ("interrompível" com CTRL-C) onde, em cada iteração, um intervalo de tempo randōmico é escolhido para ser a duração da transação. Um arquivo de configuração, lido quando a aplicação é iniciada, deve informar as transações tratadas e os arquivos envolvidos em cada uma delas. A cada iteração, a aplicação deve escolher, também aleatoriamente, uma destas transações para executar. Cada arquivo deve constar de uma lista de horários, um por linha. Sempre que uma transação escreve em um arquivo, ela deve escrever a hora corrente na última linha. Sempre que uma transação lê um arquivo, ela deve ler o valor da última linha.

Arquivo de configuração

Cada linha do arquivo de configuração deve descrever uma transação. Um ítem do tipo nome-E/L indica o nome de um arquivo e se a operação envolvida é de leitura ou escrita. Por exemplo, o arquivo:

A-E B-E
A-E C-E
B-L C-L

descreve três transações. Na primeira, os arquivos A e B são usados para escrita. Na segunda, os arquivos A e C são usados para escrita. Na terceira, os arquivos B e C são usados para leitura. A aplicação pode supor que os arquivos descritos no arquivo de configuração já existem. Além disso, pode-se supor que o nome de um arquivo é sempre uma única letra maiúscula.

Questões de Ordem

  • O trabalho deve ser desenvolvido em ambiente linux.
  • Na apresentação do trabalho, deve ser entregue documentação (relatório) incluindo uma descrição geral de cada uma das partes do trabalho, com as estruturas de dados e algoritmos básicos utilizados.
  • Os arquivos fonte e executáveis devem ser deixados em um diretório chamado sc2/trab3, com acesso de leitura, na conta linux de um dos elementos do grupo.
  • A apresentação deve ser preparada de modo a utilizar três máquinas e exibir as principais características do sistema desenvolvido.
  • Cada grupo deve ser composto por até 3 alunos.
  • Deve ser marcado um horário para apresentação do trabalho nos dias 25 ou 26 de novembro. (É de responsabilidade de cada grupo ter um horário marcado em um destes dias.) Last update: Tue Nov 4 09:52:23 EDT 1997 by Noemi