Um Mecanismo de Adaptação para Aplicações Tempo Real Baseado em Computação Imprecisa e Reflexão Computacional
Resumo
Diversas aplicações com restrições de tempo real são disseminadas através da Internet na forma de applets Java ou componentes Active-X. Por exemplo, aplicações que lidam com áudio e vídeo, ferramentas para trabalho cooperativo e vídeogames. A satisfação das restrições temporais torna-se um problema pois estas aplicações devem executar em diferentes plataformas (processadores e sistemas operacionais), as quais apresentam os mais variados níveis de desempenho e ocupação. Um problema importante é como projetar os componentes do software de forma que eles apresentem desempenho satisfatório nestas diferentes plataformas. Uma das técnicas que possibilitam esta adaptação é a Computação Imprecisa, na medida em que ela flexibiliza o tempo de execução das tarefas. O uso de Reflexão Computacional facilita a implementação da Computação Imprecisa, separando as questões funcionais das questões de controle responsáveis pela adaptação da aplicação. O objetivo deste artigo é mostrar como variações da Computação Imprecisa, implementadas através de reflexão computacional, podem ser utilizadas para permitir a adaptação de aplicações de tempo real a diferentes plataformas no contexto da Internet. O modelo de programação RTR será utilizado para ilustrar a forma como esta adaptação pode ser realizada.
Referências
A. Burns, A. Wellings. Real-Time Systems and Programming Languages. Addison-Wesley, 2nd edition, 1997.
J. Delacroix. Towards a Stable Earliest Deadline Scheduling Algorithm. Real-Time Systems, vol . 10, pp. 263-291, 1996.
O. Furtado. RTR Uma Abordagem Reflexiva para Programação de Aplicações Tempo Real. Tese de doutorado, LCMI-DAS, Univ. Federal de Santa Catarina, 1997.
Y. Honda, M. Tokoro. Reflection and Time-Dependent Computing: Experiences with the R2 Architecture. Sony Comp. Science Lab., Tokio, Japan, july 1994.
E. D. Jensen, C. D. Locke, H. Tokuda. A Time-Driven Scheduling Model for Real-Time Operating Systems. Proceedings of the IEEE Real-Time Systems Symposium, pp.112-122, december 1985.
J. Karlsson, K. Ryan. A Cost-Value Approach for Prioritizing Requirements. IEEE Software, pp.67-74, september/october 1997.
G. Lawton. In Search of Real-Time Internet Service. IEEE Computer, vol. 30, no. 11, pp.14-16, november 1997.
J. W.-S. Liu, W.-K. Shih, K.-J. Lin, R. Bettati, J.-Y. Chung. Imprecise Computations. Proceedings of the IEEE, Vol. 82, No. 1, pp. 68-82, january 1994.
P. Maes. Concepts and Experiments in Computational Reflection. Proc. of OOPSLA'87, pp. 147-155, october 1987.
S. E. Mitchell, A. Burns, A. J. Wellings. Developing a Real-Time Metaobject Protocol. WORDS'97, Newport Beach, California, USA, february 5-7, 1997.
S. Natarajan (editor). Imprecise and Approximate Computation. Kluwer Academic Publishers, 177 pages, 1995.
D. Nishida, O. Furtado, J. Fraga, J-M. Farines. Um Protótipo do Modelo Reflexivo Tempo Real RTR sobre a Linguagem Java. XXIII Conferência Latinoamericana de Informática, Vol. 2, pp. 589-598, Valparaiso Chile, novembro de 1997.
D. I. Rosu, K. Schwan, S. Yalamanchili, R. Jha. On Adaptive Resource Allocation for Complex Real-Time Applications. Proceedings of the 18th IEEE Real-Time Systems Symposium, december 1997.
F. Siqueira, O. Furtado, J. Fraga, J-M. Farines. Implementação Distribuída de um Modelo Reflexivo Tempo Real. I Workshop de Sistemas Distribuídos - WOSID, Salvador-BA, maio de 1996.
J. A. Stankovic, et al. Strategic Directions in Real Time and Embedded Systems. ACM Computer Surveys, Vol. 28, no. 4, pp. 751-763, december 1996.