Escolar Documentos
Profissional Documentos
Cultura Documentos
Wasap 2
Wasap 2
Introduo
* ORBeline marca registrada da Post Modern Computing. Orbix marca registrada da Iona Technologies.
META-OBJETO
RELGIO
55555
Meta-Objeto
Gerenciador
Meta-Objeto
Gerenciador
Objeto-Base
Objeto-Base
Meta-Objeto
Gerenciador
Nvel-Meta
Nvel-Base
Objeto-Base
conexes com servidores utilizando a mesma interface DII CORBA. Da mesma forma,
servidores podem suportar vrios MetaSkeletons. A estrutura do modelo construdo segundo
uma arquitetura CORBA apresentada na figura b.
META-OBJETO
ESCALONADOR
META-OBJETO
RELGIO
55555
CLIENTE
Meta-Objeto
de
Meta
Stub
Meta
Stub//DII
DII
Comunicao
(MetaStub/DII)
Meta-Objeto
Gerenciador
Nvel-Meta
Nvel-Base
Objeto-Base
Objeto-Base
de
Meta
Stub
Meta
Stub/ /DII
DII
Comunicao
(Stub/DII)
META-OBJETO
ESCALONADOR
META-OBJETO
RELGIO
55555
Meta-Objeto
de
MetaStub
Stub//DII
DII
Meta
Comunicao
(MetaSkeleton)
SERVIDOR
Meta-Objeto
Gerenciador
Nvel-Meta
Nvel-Base
Objeto-Base
de
MetaStub
Stub/ /DII
DII
Meta
Comunicao
(Skeleton)
Objeto-Base
Em sistemas abertos, alm das excees reject (restrio violada antes do incio da
execuo do mtodo do objeto-base) e abort (execuo do mtodo j havia sido iniciada)
definidas pelo modelo RTR, deve ser previsto um novo tipo de exceo de modo a indicar a
ocorrncia de uma violao do timeout imposto pelo cliente. A exceo timeout detectada
pelo cliente com o auxlio do meta-objeto relgio e comunicada ao meta-objeto servidor
atravs do suporte de comunicao.
A chamada realizada pelo cliente encaminhada via um MetaStub para o servidor ao
qual se destina a requisio (ao da figura b). O MetaStub requisita o mtodo chamado
pelo objeto-base atravs do ORB utilizando stubs (ao ), e envia ao meta-objeto relgio o
valor de timeout associado chamada (ao ). O MetaStub passa a aguardar uma mensagem
de resposta do servidor, ou do meta-objeto relgio, sinalizando uma violao de timeout.
A requisio do mtodo chega ao servidor correspondente atravs do ORB, que ativa o
mtodo utilizando skeletons CORBA e MetaSkeletons. A ativao desviada para o metaobjeto gerenciador do servidor (ao da figura b), que interage com o meta-objeto
escalonador do servidor (ao ), aguardando por uma autorizao para ativar o mtodo
requisitado. Quando o meta-objeto escalonador sinaliza que o mtodo deve ser executado, o
meta-objeto gerenciador do servidor verifica se as restries temporais (ao ) e de
sincronizao foram violadas, retornando uma exceo reject neste caso. Caso contrrio, o
mtodo chamado no objeto-base do servidor (ao ). Concluda a chamada, ocorre
novamente a verificao das restries temporais, resultando em uma exceo abort caso
estas tenham sido violadas. O resultado da chamada enviado na forma de parmetros ao
objeto-base do cliente, passando atravs do ORB (usando stubs e skeletons) e de MetaStub
(aes , e ).
No caso de, antes da finalizao do protocolo, o meta-objeto relgio reportar a
MetaStub uma violao de timeout (ao da figura b), uma indicao de exceo enviada
ao objeto cliente (ao ). Em seguida, MetaStub remete atravs do ORB e do MetaSkeleton
a indicao de exceo do tipo timeout ao meta-objeto gerenciador do servidor (aes ,
e ), que se encarrega de cancelar a execuo do mtodo, retirando a requisio da fila de
pedidos do escalonador ou interrompendo a execuo do mtodo no objeto-base.
Utilizamos uma estrutura semelhante na implementao da chamada assncrona,
permitindo no entanto que o objeto-base do cliente continue seu processamento assim que
efetuada a chamada. Caso o cliente venha a necessitar futuramente de dados de resposta
provenientes da execuo do mtodo no servidor (ou seja, em uma chamada do tipo semisncrona), este pode verificar se a resposta se encontra disponvel em um momento posterior,
ou mesmo bloquear-se espera da chegada da resposta.
requisies recebidas pelos objetos, tratando-as segundo o modelo RTR distribudo conforme
especificado na seo 3.2.3.
Objetos do modelo devem pertencer classe de escalonamento Real-Time (RT)
Solaris, com quantum de tempo infinito (ou seja, tempo de execuo do processo ilimitado). A
atribuio de prioridades tempo-real aos processos aos quais pertencem os objetos-base e
meta-objetos do modelo ocorre durante a criao do meta-objeto.
Atravs do estabelecimento de prioridades utilizadas pelo Solaris no escalonamento a
processos e threads, em conjunto com a utilizao do meta-objeto escalonador para determinar
a ordem a ser obedecida na execuo dos mtodos requisitados, ser obtido o comportamento
desejado dos objetos da aplicao em conformidade com o especificado pelo modelo.
Se analisarmos apenas o processamento de mtodos a nvel-base, haver preempo
de mtodos dos objetos-base somente quando o mtodo em execuo chamar de modo
sncrono um outro mtodo com restries de tempo associadas, e residente em outro objeto
ou seja, em caso de chamadas aninhadas. Neste caso, ser processada a chamada, o mtodo
aguardar a execuo desta, mas o suporte deve impedir que acontea a execuo de um outro
mtodo do mesmo objeto em nvel-base devido s restries de excluso mtua que devem ser
garantidas no objeto-base.
Enquanto estiverem somente processando requisies de mtodos a nvel-meta, os
processos com objetos do modelo devem possuir uma mesma prioridade fixa. No caso do
processo receber a liberao do meta-objeto escalonador para executar um mtodo a nvelbase, este deve modificar sua prioridade para o valor que lhe for atribudo pelo escalonador,
situado dentro de uma faixa de prioridades de nvel-base, que ser determinado em funo do
nmero de objetos suspensos aguardando o retorno de chamadas sncronas aninhadas naquele
nodo da rede. Deste modo, garantimos que o objeto que realizou a chamada aninhada ir
reassumir o processador assim que terminar a execuo do mtodo requisitado.
Descrio de
Interface IDL
do Servidor
Base
Compilador IDL - CORBA
Cd. Fonte Cd. Fonte
Cdigo
do Obj-Base do Meta-Obj Fonte das
Cliente
Cliente
MetaStubs
Cdigo
Fonte das
Stubs
Cdigo
Fonte do
Skeleton
Cdigo
Objeto das
Stubs
Cdigo
Objeto do
Skeleton
Linker do Sistema
CLIENTE
DA APLICAO
Cdigo
Executvel
do Cliente
Cdigo
Executvel
do Servidor
SERVIDOR
DA APLICAO
Estao A
Estao B
Estao C
Servidor
de Som
Servidor
de Imagem
Servidor
de Texto
Cliente
de Som
Cliente
de Imagem
Cliente
de Texto
Composio do
Documento Multimdia
original do Xplay s emite o som aps a leitura completa do arquivo). O programa Xplay
pode manipular arquivos nos formatos Sun Audio, Windows Wave, e AIFF, e possui uma
interface grfica de acordo com o padro Motif , permitindo operaes de pausa, retorno e
avano do som, controle de volume e do dispositivo de sada utilizado (alto-falante ou fone de
ouvido).
Para exibio da imagem utilizamos um decodificador de arquivos no formato MPEG,
o programa de domnio pblico mpeg_play (verso 2.0, Computer Science Division,
University of California at Berkeley). A verso utilizada adota uma interface grfica Motif
para o mpeg_play ( The Geometry Center; University of Minnesota), com comandos de
pausa, avano quadro a quadro e retrocesso da imagem. Adicionalmente, existe a possibilidade
de, no momento da chamada do programa, especificar os algoritmos de dithering que devem
ser utilizados na decodificao e exibio da imagem.
(oito bits) e que no sofre nenhum tipo de converso de dados na sua transmisso.
#include RTparams.idl
interface media
{
typedef sequence<octet> BufType;
long open_media
( in string name, inout RTparams rt );
void rewind_media ( inout RTparams rt );
long read_media
( out BufType buffer, in long length,
inout RTparams rt );
};
() { input = NULL; }
CORBA::Long open_media
( const CORBA::String& name );
void
rewind_media ();
CORBA::Long read_media
( media::BufType*& buffer,
CORBA::Long length
);
};
CORBA::Long open_media
Concluses e Perspectivas
Alm dos trabalhos que se encontram em andamento e que de alguma forma esto
relacionados com o modelo reflexivo tempo-real, podemos destacar outras propostas de
continuidade do trabalho desenvolvido nesta dissertao.
Primeiramente, apresentamos como proposta de trabalho a ser desenvolvido a
implementao de ferramentas de auxlio programao de aplicaes utilizando o modelo
RTR distribudo.
Uma outra possibilidade de continuidade do trabalho apresentado nesta dissertao
consiste no mapeamento do modelo RTR distribudo sobre outras plataformas de execuo,
alm da plataforma Solaris. Este trabalho seria seguido da implementao do modelo sobre
estas novas plataformas adicionada de um ORB para prover a comunicao em ambiente
aberto.
Finalmente, como perspectiva de um futuro trabalho propomos a validao do modelo
RTR distribudo a partir de aplicaes com maior grau de complexidade, envolvendo um
ambiente realmente heterogneo, o que seria possvel a partir do mapeamento do modelo sobre
outras plataformas de execuo, e a avaliao do modelo comparando-o com outros modelos
tempo-real como os apresentados em [Hon 94], [Kim 94], [Li 94] e [Tak 92].
Bibliografia
[Aud 90]
Audsley, N. ; Burns, A. Real Time System Scheduling, Specification and Design for
Dependability, PDCS - Predictability Dependable Computer Systems - ESPRIT, 1st Year
Report, LAAS, Toulouse, May 1990.
[Fab 95]
[Fra 95]
[Fur 95]
[Hon 94]
[Kar 93]
[Kim 94]
[Li 93]
[Li 94]
G. Li Distributed Real-Time Objects : the ANSA Approach, 1st Workshop on Objectoriented Real-time Dependable Systems, September 1994.
[Mae 87]
[OMG 93] OMG Object Management Group The Common Object Request Broker : Architecture
and Specification, Revision 1.2, OMG Document Number 93-12-43, December 1993.
[Tak 92]