• Nenhum resultado encontrado

O Modelo Reflexivo Tempo Real RTR EFUR97]* é um modelo de progjamação orientado à objetos e reflexivo destinado a programação de aplicações tempo real, com destaque àquelas que seguem o paradigma do melhor esforço. Dentre as principais vantagens do modelo destacamos, flexibilidade, capacidade para gerenciamento da complexidade e sua independência de suporte e de ambiente operacional relativa ao controle de restrições temporais das tarefas de uma aplicação e ao escalonamento tempo real <testas Grafas

A principal limitação do modelo é a falta de previsibilidade em função da flexibilidade oferecida; devido a essa restrição, o modelo não é adequado para programação de aplicações tempo real hard.

Por outro lado, o Modelo RTR apresenta características atrativas para modelagem e programação de aplicações tempo real sqft, incluindo aplicações tempo real abertas [STA96],

O Modelo RTR (Reflexivo Tempo Real) é um modelo de programação para aplicações tempo real que se caracteriza como sendo uma extensão concorrente, reflexiva e tempo real do modelo de objetos convencional.

Por ser uma extensão do modelo de objetos convencional, o modelo proposto herda seus mecanismos de estruturação e consequentemente sua potencialidade relativa ao entendimento, reuso, extensão e manutenção de sistemas. Consequentemente, por ser orientado a objetos, o modelo proposto possibilita um tratamento das questões de concorrência e distribuição inerentes a muitos dos STR atuais, além de facilitar o uso de reflexão computacional.

Reflexão computacional é introduzida no modelo RTR através da abordagem de meta-objetos [MAE87], que estabelece a separação dos aspectos funcionais da aplicação (implementados através de objetos-base) do controle de seu comportamento (implementado através de meta-objetos), flexibilizando o desenvolvimento de STR, na medida em que permite que as políticas de controle sejam modificadas e/ou substituídas (inclusive dinamicamente), sem que os objetos base da aplicação e o suporte de execução necessitem ser modificados; assim sendo* a evolução do sistema bem como sua independência de ambiente operacional ficam facilitadas. No Modelo RTR, todos os aspectos temporais (restrições* exceções e escalonamento) e mais os aspectos de concorrência e sincronização são tratados de forma reflexiva, possibilitando o uso de diferentes mecanismos e políticas no controle do comportamento dos aspectos refletidos. Adicionalmente, a separação explícita entre questões funcionais e não funcionais, contribui para o entendimento do sistema* favorece o reuso e a manutenção de objetos-base e meta-objetos e incrementa a produtividade do programador.

Estruturalmente o modelo RTR é composto por objetos-base de tempo real, meta- objetos gerenciadores (um para cada objeto-base tempo real existente), um meta-objeto escalonador e um meta-objeto relógio* os quais interagem através de passagem de mensagens (ativações de métodos) síncronas e assíncronas, visando a realização das funcionalidades da aplicação de acordo com as restrições temporais associadas métodos dos objetos-base.

Capítulo 3 - Reflexão Computacional 61

A Fig. 3.15 apresenta a dinâmica de funcionamento do modelo RTR, podendo ser assim descrita: A ativação de um determinado objeto-base é desviadas para seu meta- objeto gerenciador correspondente (ação 1 da Fig. 3.15). O meta-objeto gerenciador interage com o meta-objeto escalonador (ação 2) e com o meta-objeto relógio (ação 3) para processar as restrições temporais associadas ao método solicitado e verificará as restrições de concorrência e sincronização; caso estas restrições não sejam violadas, ativará o método solicitado no objeto-base (ação 4) retomando em seguida, via meta- objeto gerenciador para o objeto que deu origem a chamada (ações 5 e 6).

Conforme descrito em [FUR97], o modelo RTR está estruturado com os seguintes componentes básicos:

• Obietos-Base de Tempo Real (OBTR) implementam a funcionalidade da aplicação e, em adição ao modelo de objetos convencional, podem ter restrições temporais e manipuladores de exceções temporais associados à declaração e ativação dos métodos.

• Meta-Obietos Gerenciadores (MOG) gerenciam o comportamento dos objetos- base, sendo responsáveis pelo gerenciamento das requisições para ativação dos métodos de seus objetos-base correspondentes, pelo controle de concorrência na execução de métodos, pelo gerenciamento das restrições de sincronização e pelo

processamento das restrições temporais e das exceções temporais associadas aos métodos dos objetos-base.

• Meta-Qbieto Escalonador (MOE) tem como função básica receber, ordenar e liberar os pedidos de escalonamento (provenientes dos MOG) segundo uma determinada política de escalonamento, visando fornecer os parâmetros necessários ao escalonamento realizado pelo suporte subjacente.

• Meta-Qbieto Relógio (MOR) tem como função controlar a passagem do tempo (visando a detecção de violação das restrições temporais) e realizar ativações programadas para um tempo futuro (ativações “tim e-trigger”).

3.6 - Conclusões

O presente capítulo apresentou as potencialidades e limitações do paradigma da reflexão computacional para a programação atual. A seguir a dinâmica de funcionamento de uma arquitetura reflexiva foi apresentada, sendo identificadas suas características, contribuições e limitações em relação ao modelo de programação convencional. Adicionalmente, a questão da reflexão computacional no domínio tempo real foi discutida, abordando suas principais características e sua utilização na programação de STR soft. Além disso, os principais modelos e linguagens baseados neste paradigma foram descritos.

Com relação aos modelos e linguagens apresentados, foram identificadas suas principais características, contribuições, aplicações e limitações.

Com base no estudo realizado, constatamos que muitos dos modelos e linguagens apresentados, não exploram completamente o paradigma da reflexão computacional tais como, flexibilidade, capacidade de integração, de evolução e independência de ambiente operacional. Tais fatores, flexibilizam a programação das aplicações, dentre as quais, aquelas que envolvem sincronização multimídia.

Neste sentido, este trabalho propõe a utilização do Modelo RTR (Reflexivo Tempo Real) baseado no paradigma da reflexão computacional, como um modelo alternativo e promissor, que permita que aplicações envolvendo sincronização

Capítulo 3 - Reflexão Computacional 63

multimídia possam ser estruturadas e programadas de forma sistemática, confiável e flexível. Além disso, conforme apresentado na seção 3.5.2.3 deste capítulo, o modelo RTR também tem como objetivo ser independente de linguagem de programação e de ambiente operacional, favorecer a extensão e a evolução dos sistemas, permitindo sua adaptação a mudanças internas (no sistema) e externas (no ambiente operacional), favorecer o reuso e a manutenção do software desenvolvido. Assim sendo, concluímos que o modelo RTR pode contribuir significativamente na solução de muitos dos problemas atualmente encontrados na programação de aplicações multimídia, principalmente na especificação dos requisitos de sincronização.

O capítulo seguinte tem como objetivo, averiguar a adequação do modelo RTR para modelagem e programação de aplicações multimídia.

Documentos relacionados