next up previous contents index
Next: Herança Up: No Title Previous: Organização do Documento

Trabalho Relacionado

 

Se se tiver em conta o âmbito em que foi desenvolvido o trabalho que ora se apresenta, programação uniforme e transparente, orientada para objectos, de aplicações modulares em que alguns objectos apresentam características especiais, facilmente se chega à conclusão que são muitos os pontos de relacionamento com vários sistemas existentes. Aqui vão ser apresentados alguns sistemas que forneçem e/ou utilizam técnicas semelhantes, ainda que apenas em parte, às propostas neste documento. Não será dada muita importância ao facto de, em alguns casos, os sistemas apresentados não partilharem os mesmos objectivos que o trabalho da tese. Interessa, somente, comparar os métodos utilizados para os atingir com os propostos neste documento.

Assim, a preocupação não está na natureza dos serviços, nem no seu fornecimento, mas sim na forma como este é feito e, especialmente, na maneira de programar esses serviços, por forma que uma aplicação não tenha que ser consciente da sua existência, pelo menos nos níveis mais elevados.

Vários aspectos vão servir de pontos de relacionamento entre o trabalho e os vários casos apresentados. Eles são o acesso uniforme a operações especiais sobre objectos, quando a estes estão associadas características que as justifiquem, e.g. exportação; a transparência na utilização dessas características; a geração de código, como forma simplificativa da tarefa de programação e/ou manutenção de aplicações; o estilo de programação, e.g. transparência; e a eficiência e flexibilidade.

Consideram-se ainda aspectos relacionados com a linguagem de programação utilizada, que não necessita de suportar explicitamente nenhum dos aspectos apresentados no parágrafo anterior. Os pontos de interesse são a ausência de modificações na linguagem de suporte para cada caso; suporte linguístico a conceitos não nativos, transparência, uniformidade e integração no sistema em que a linguagem é utilizada.

Não se consideram sistemas em que tenham sido definidas novas linguagens, e.g. GUIDE [Balter et al., 1991] ou E [Richardson et al., 1989], uma vez que o objectivo do trabalho apresentado é muito diferente do desses sistemas, já que o que se pretende é fornecer funcionalidade adicional preservando a linguagem actual, que em princípio não tem a funcionalidade desejada.

Finalmente, são abordados alguns aspectos particulares dos sistemas considerados e analisada a dificuldade associada à definição de nova funcionalidade, assim como alguns problemas intrínsecos e limitações.

Apesar de a programação de aplicações baseadas em sistemas de objectos persistentes e distribuídosgif, com a panóplia de características que lhe está associada, ter sido a motivação inicial deste trabalho, eles não vão ser aqui apresentados, pelo menos focando esses aspectos em especial. Esta decisão justifica-se pelo facto de a distribuição, assim como outras possíveis características, e.g. persistência, serem vistas apenas como o resultado da associação de módulos funcionais à aplicação, e não como fins especiais em si. No entanto, e devido à importância do papel que aqueles sistemas desempenharam na motivação para o trabalho, é necessário mencionar que algumas ideias, especialmente na concepção dos exemplos do capítulo 5 ficam a dever-se a alguns desses sistemas, especialmente IK [Marques et al., 1988,Sousa et al., 1993], Amadeus [Cahill et al., 1990,Cahill et al., 1993], ambos desenvolvidos no âmbito do projecto ESPRIT COMANDOS [Marques et al., 1988], e ARGUS [Liskov et al., 1987,Liskov, 1988].

Sendo os sistemas apresentados exemplos de conceitos e paradigmas, a natureza dos ambientes em que funcionam (heterogéneos ou não), não tem relevância para a presente discussão. Todavia, algumas considerações serão tecidas no final do capítulo a este respeito.





next up previous contents index
Next: Herança Up: No Title Previous: Organização do Documento



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