Download - UML
-
Sistemas Distribudos Baseados em Componentes
Fabio Kon
Departamento de Cincia da ComputaoIME - USP
4 / abril / 2001
ECOOP'99 OOOSW
4 / abril / 2001
Contedo da PalestraDescrio do contexto e dos problemas
Resoluo dos problemas
Aplicaes Prticas
Trabalho Futuro
ECOOP'99 OOOSW
4 / abril / 2001
ContextoA sociedade moderna exige dos desenvolvedores de softwarea produo de muitos programas em pouco tempoa produo de programas grandes e complexosfuncionamento em diferentes sistemas operacionaisfuncionamento em diferentes arquiteturas de hardwareSoluo parcial: Tecnologia de ComponentesEnterprise Java BeansActiveX Controls, COMCORBA Component Model
ECOOP'99 OOOSW
4 / abril / 2001
Programao Baseada em Componentes uma extenso da idia de programao orientada a objetosTorna a reutilizao de cdigo mais fcilPossibilita a criao de aplicaes complexasusando interfaces grficasusando interfaces de programao
ECOOP'99 OOOSW
4 / abril / 2001
Problemas de ConfiguraoInstalao e remoo de programas
Atualizaes de sistema operacionais
Atualizaes de aplicaes e ferramentas
Ambientes distribudos ligados Internet
ECOOP'99 OOOSW
4 / abril / 2001
Problemas de AdaptaoComponentes tm requisitos especficosFalha em uma componente pode se alastrar por todo o sistemaReconfigurao dinmica muito difcil
Causa: no h um gerenciamento apropriado das dependncias dentro do sistema.
ECOOP'99 OOOSW
4 / abril / 2001
Contedo da PalestraDescrio do contexto e dos problemas
Resoluo dos problemas
Aplicaes Prticas
Trabalho Futuro
ECOOP'99 OOOSW
4 / abril / 2001
Mtodo para Gerenciamento de DependnciasLidamos com dois tipos de dependncias:
1. Pr-requisitos
2. Dependncias Dinmicas
ECOOP'99 OOOSW
4 / abril / 2001
Pr-requisitosEspecifica o que cada componente necessita:natureza dos recursos de hardwarecapacidade dos recursos de hardwareservios de software (outras componentes)Exemplo de um Cliente de Vdeo:SPARC com alto-falante50% de uma UCP de 400MHzcomponente de software decodificadora de MPEGServio de vdeo no padro CORBA
ECOOP'99 OOOSW
4 / abril / 2001
Simple Prerequisite Description Format (SPDF)# Cliente de vdeo :hardware requirements machine_type SPARC os_name Solaris os_version 2.7 min_ram 5MB optimal_ram 40MB cpu_speed >400MHz cpu_share 50%
:software requirements Decoder CR:/video/decoders/MPEG VideoServer NS:/local/MPEGVideoServer
ECOOP'99 OOOSW
4 / abril / 2001
Servio de Configurao AutomticaRepositrio de ComponentesAnalisador dePr-requisitosResolvedordePr-requisitosGerenciador deRecursosCacheexecuta aplicaoretorna refernciabusca pr-requisitosbusca componentes
ECOOP'99 OOOSW
4 / abril / 2001
Desempenho do Servio de Configurao Automtica
ECOOP'99 OOOSW
4 / abril / 2001
ComponentConfiguratorGuarda as dependncias dinmicas
Permite inspeo e reconfigurao
Pode ser modificado sob medida (customized) atravs de herana
Separao clara de aspectos
ECOOP'99 OOOSW
4 / abril / 2001
Representao Explcita de DependnciasAjuda a dar suporte para:tolerncia a falhasreconfigurao dinmicaadaptao dinmicabalanceamento de cargacomputao mvel
ECOOP'99 OOOSW
4 / abril / 2001
Exemplo: Adaptaes Dinmicas em um Navegador Web
ECOOP'99 OOOSW
4 / abril / 2001
Gerenciamento de Sistemas de Componentes em grande escala: Sistema de Agentes MveisApropriado para sistemas de grande escala
til paradistribuio de componentesreconfigurao dinmicainspeo
ECOOP'99 OOOSW
4 / abril / 2001
Contedo da PalestraDescrio do contexto e dos problemas
Resoluo dos problemas
Aplicaes Prticas
Trabalho Futuro
ECOOP'99 OOOSW
4 / abril / 2001
AplicaesSistema de Distribuio de Multimdia
dynamicTAO, ORB CORBA Reflexivo
Gaia, sistema para computao ubqua
SIDAM, sistema para controle de trfego
Computao Musical
ECOOP'99 OOOSW
4 / abril / 2001
Sistema de Distribuio de Multimdia em Grande EscalaObjetivo: enviar fluxos multimdia para milhes de usurios simultneos atravs da Internet.Pode ser utilizado para Envio ao-vivo de udio, vdeo, texto, HTML Envio de vdeos pr-gravados udio/Videoconferncia
Mtodo: rede de grande-rea de Refletores
ECOOP'99 OOOSW
4 / abril / 2001
Rede de Refletores
ECOOP'99 OOOSW
4 / abril / 2001
Experincia com o SistemaMisso Mars Pathfinder NASA JPL (1998)30 refletores em 4 continentesApplet decodifica vdeo e udio p/ cliente1.2M de sesses de vdeo / udio24h/dia durante 3 meses
Encontramos erros enquanto o sistema rodava
ECOOP'99 OOOSW
4 / abril / 2001
Aplicando a ArquiteturaPr-requisitos e Sistema de Configurao Automtica :Usados para carregar e configurar as componentes de cada RefletorReserva de memria, UCP, e rede (no implementados)
ComponentConfigurators :representam dependncias intra- e inter-Refletoresdo suporte a tolerncia a falhas
ECOOP'99 OOOSW
4 / abril / 2001
Reconfigurao Dinmica para Tolerncia a Falhas
ECOOP'99 OOOSW
4 / abril / 2001
Impacto da Reconfigurao na Qualidade do Servio
ECOOP'99 OOOSW
4 / abril / 2001
Aplicao destas tcnicas no Projeto SIDAMPSIT: Prottipo de Sistema de Informaes de TrnsitoComponentes do sistema so objetos Java distribudos em uma rede metropolitanaComunicao feita atravs de Java RMIatualizao de dados: sensores e funcionrios da CETconsulta: populao, CET, ambulncias, ...
ECOOP'99 OOOSW
4 / abril / 2001
Gerenciamento de Dependncias no PSITServidores de Informao (sobre trnsito)Servidores de Localizao (dizem qual SI deve ser utilizado)ComponentConfigurators guardam relaes de dependncias entre SLs e SisGuardam tambm alternativasSistema desencadeia reconfigurao automaticamente quando detecta queda de SIs
ECOOP'99 OOOSW
4 / abril / 2001
PSIT:Trabalho em AndamentoReconfigurao automtica quando da falha de qualquer componente do sistema.Criao e destruio de rplicas de SIs e SLs automaticamente de acordo com a carga.Migrao de Componentes de acordo com carga e localizao fsica.
Objetivo: oferecer Servio de Informaes sobre trnsito sempre disponvel e com resposta rpida.
ECOOP'99 OOOSW
4 / abril / 2001
Contedo da PalestraDescrio do contexto e dos problemas
Resoluo dos problemas
Aplicaes Prticas
Trabalho Futuro
ECOOP'99 OOOSW
4 / abril / 2001
Trabalho Futuro:Pr-RequisitosInvestigar linguagens ou formatos mais elaborados para especificao de prerequisitos (possivelmente com XML).
Gerenciamento de verses em sistemas distribudos baseados em componentes.
ECOOP'99 OOOSW
4 / abril / 2001
Trabalho Futuro:ComponentConfiguratorCriar bibliotecas reutilizveis de configuradores de componentes parareconfigurao dinmica etolerncia a falhas.
ECOOP'99 OOOSW
4 / abril / 2001
Trabalho Futuro:Computao MusicalAplicao centralizada:Seqnciador baseado em componentes (ferramenta para composio musical)
Aplicaes distribudas:Analisador e Gerenciador de Acstica de SalasSistema de Agentes Mveis Musicais (ambiente para composio e execuo musical)
ECOOP'99 OOOSW
4 / abril / 2001
Trabalho Futuro:Middleware ReflexivoClienteServidorMiddlewareInterface parareconfiguraodinmicaProttipos: U. Illinois: dynamicTAO, LegORB, UIC Lancaster: OpenORB USP e PUC-RJ: ???
ECOOP'99 OOOSW
4 / abril / 2001
FIMPerguntas?
ECOOP'99 OOOSW
An example of the video client thing using SPDF. We could have used other formats or languages to represent prerequisites. We just defined this SPDF because it made things easier and enabled us to prototype the idea.
To make this example more interesting, I added the Decoder line, which our current SPDF parser can understand and the VideoServer line, which our current SPDF parser cant yet understand. In the first case, the component is fetched from the component repository. In the second case, the AutoConfig service should simply resolve the name /local/MPEGVideoServer from the Name Service and store the IOR it gets from the binding in the VideoServer hook of the video client component configurator. This is not implemented yet but I put it here because its part of the model. BTW, this is trivial to implement using our NSBroker. It would require less than 20 lines of code.