An Infrastructure for Development of Dynamically Adaptable Distributed Components
|
|
- Lorenzo Estrada Silva
- 6 Há anos
- Visualizações:
Transcrição
1 14/2/2006 PUC-Rio 1 An Infrastructure for Development of Dynamically Adaptable Distributed Components Renato Figueiró Maia DOA 2004 Agya Napa, Cyprus
2 Agenda Introduction Software Components Dynamic Adaptation CCM Model LOAF Use Examples Conclusions Future Work
3 Introduction Challenges in software evolution Flexibility to incorporate unexpected changes Larger the amount of software requirements Apropriate programming abstractions More complex and tenologically advanced Changes at run time (dynamic adaptation) More essential (e.g. financial, medical, military). Run for months or even years.
4 Software Components Enables modularity and reuse Black-box components Interactions through connectors and contracts Offered services Dependencies with other components Complements object orientation Objects are too small Dependencies are not explicit and are spread thorugh many objects
5 Dynamic Adaptation Definition Changes of a running system prior of changes on their requirements Types of change Expected Mobile computing, software agents Unexpected Long-term systems, computer-intensive systems Mechanisnms (computational reflection) Introspection (interfaces) Java reflrection API, CORBA Interface Repository. Intercesstion (variation points) Interceptors, function pointers, etc.
6 Coarse-grained adaptations Alterações na estrutura (macro) do sistema Modular Substituição dos módulos. Orientação a objetos Troca de objetos e relacionamentos. Componentes Troca de conexões entre os componentes. Reconfiguração de componentes Substituição Reconexão
7 Adaptação em Ponto Pequeno Alterações internas aos componentes que formam o sistema. Estruturas mais fundamentais. Nível de detalhe maior. Níveis de detalhe Linguagem de programação. Arquitetura ou middleware. Componentes. Introspecção da estrutura do componente Intercessão da implementação do componente.
8 Ponto Grande vs. Ponto Pequeno Ponto Grande Mais simples e eficiente. Exige planejamento da arquitetura pra acomodar alterações. Adequada para alterações esperadas. Aplicações auto-adaptáveis (alterações no contexto). Ponto Pequeno Mais flexível, porém mais complexa. Adequada para alterações não esperadas. Manutenção dinâmica de sistemas.
9 CCM Model Facetas Receptores de eventos Home Atributos e interfaces oferecidas Componente instancia Composição Receptáculos Fontes de eventos component MyComponent supports SupportedInterface : SuperComponent { attribute string myattribute; provides Interface myfacet; uses Interface myreceptacle; publishes Event mypublisher; emits Event myemitter; consumes Event myconsumer; }; home MyHome manages MyComponent {};
10 CCM Container Protected execution environment Different types of components Intercepts all interactions with the external world Simplifies the implementation Manages instances Creation and activation. Offers services Transaction, persistence. Manages connections. Executor callback internas Contêiner externa
11 LOAF LuaOrb Adaptation Framework LuaCCM Protocols and roles Handlers
12 LuaCCM Ambiente para construção de componentes reflexivos Motivação Incorporar os conceitos do CCM ao LuaOrb. Simplicidade e flexibilidade. Estrutura de implementação: CORBA LuaCCM CCM LuaOrb LOOP Lua
13 Contêiner Lua Executor Principal Servant LuaOrb Tratador de evento Servant LuaOrb Executor de faceta Servant LuaOrb Contexto Contêiner Lua
14 Contêiner Lua Instâncias de Componente Contêiner Lua Classe do Envoltório instanciado delega consulta define Envoltório (objeto Lua) Repositório de Interfaces de Componentes (serviço de objetos) Gerenciador de Definição (objeto Lua) Classe de Contexto instanciado usa Executor (objeto Lua) Contexto (objeto Lua)
15 Componentes LuaCCM Recursos reflexivos Introspecção (interfaces do CCM) Obter informações sobre portas. Estabelecer e desfazer conexões em portas. Intercessão (LuaCCM::Adaptable) Adicionar e remover portas. Substituir a implementação de portas. Associar interceptadores a portas. Alterações em níveis de abrangência (mesmo servidor) Por Definição (através do contêiner) Por Home (através do home do componente) Por Instância (através da instância do componente)
16 Interfaces de Adaptação interface Adaptable { void add_facet(in string name, in string iface, in LuaCode code); void add_receptacle(in string name, in string iface, in boolean ismultiple);... void set_implementation(in string port, in LuaCode code);... void intercept(in string point, in LuaCode code); }; interface AdaptableContainer : ::Components::Container { Adaptable get_component_adaptor(in string absolute_name); };
17 Papéis e Protocolos Papel Conjunto de alterações no componente para realizar uma nova função (papel) Protocolo Regras de como os papéis são aplicados e os componentes são reconectados para fornecer a nova funcionalidade. Novas portas Protocolo Scripts Papel aplica e conecta faz requisições Componente Novas interações
18 Manipuladores Complexidade de manipulação de portas Diversos nomes de operações connect, subscribe, get, provide, etc. Utilização específica de acordo com o tipo de porta Obter uma faceta e então conectá-la ao receptáculo. Objeto consumidor de eventos é obtido e então conectado ou registrado à fonte de eventos. Geração automática de id. de conexão. Identificador gerado não apresenta signifcado para a aplicação. Aplicação mantém um mapeamento do identificador gerado para outro que possua significado (e.g. nome de um usuário).
19 Manipuladores Complexidade de manipulação de portas CCM CCM: messager:subscribe_out(printer:get_consumer_in()) LOAF: printer.in = messager.out
20 Aplicação de Exemplo rver = loaf.handler(producers:create()) ent1 = loaf.handler(processorsa:create()) ent2 = loaf.handler(processorsb:create()) raw Cliente A : Processor done rver.name = "Servidor" ent1.name = "Cliente A" ient2.name = "Cliente B" ient1.raw = server.produced ient2.raw = server.produced rver.request = client1.done rver.request = client2.done rver.controller:start() request Servidor : Producer controller Controla a produção de eventos Console : LuaCCM produced interfaces de configuração raw Cliente B : Processor done
21 Sincronização de Fluxo FlowWatcher = loaf.role { before = { raw = { code = [[...]] }}, after = { raw = { code = [[...]] }}, provides = { limit = { interface = "Limited", code = [[...]]}}, uses = { regulator = { interface = "Rateable"}}} FlowRegulator = loaf.role { before = { produced = { code = [[...]] }}, provides = { rater = { interface = "Rateable", code = [[...]]}}} request Servidor : Processor rater Console : LuaCCM Insere atrasos no envio de eventos de acordo com a taxa de vazão definida produced FlowRegulator Define nova taxa de vazão de eventos no servidor raw raw Cálcula taxa de vazão de eventos FlowWatcher Define valor de vazão limite para disparar a regulagem regulator Cliente A : Producer Cliente B : Producer limit done done
22 Depuração Distribuída BreakPoint = loaf.role { uses = { pauser = { interface = "Pauser" }}, before = { done = { code = [[ function(self, request) local c = request.context local p = c:get_connection_pauser() if p then while p:locked() do sleep(1) end end end ]]}}} request Inspectable Servidor : Processor Console : LuaCCM produced evaluator Inspeciona os campos dos segmentos do componente raw raw Inspectable evaluator Consulta se a execução no ponto de parada deve continuar pausada Cliente A : Producer Cliente B : Producer done BreakPoint done
23 Replicação Passiva adaptor = container:get_component_adaptor( "Processor ) Replicator:assign(adaptor) raw Cliente A : Processor done replica1 = loaf.handler(replicas:create()) replica2 = loaf.handler(replicas:create()) request Servidor : Producer produced raw Replicator Cliente B : Processor copied done done Replica 1 : Processor raw replica1.name = "Replica 1" replica2.name = "Replica 2" replica1.raw = client2.copied replica2.raw = client3.copied Replicator raw copied Cliente C : Processor done raw Replica 2 : Processor done
24 Conclusões LuaOrb Adaptation Framework Fornece recursos úteis para adaptação dinâmica. Alteração de componentes sem perda de estado. Níveis de abrangência das alterações. Alterações através de papéis e protocolos. Simplificação da reconfiguração de componentes CCM. Ambiente para experimentação de novas ferramentas Arquiteturas de aplicações adaptatívas. Novas abstrações para inserção de alterações.
25 Trabalhos Futuros Implementação completa da especificação CCM Implementação completa da arquitetura de implantação proposta pelo modelo CCM. Contêiner com suporte a componentes persistentes e serviços de objetos. Diminuição das limitações do modelo Mecanismos para manter consistência das adaptações (inter e intra componentes). Definir mecanismos de segurança para controlar alterações. Validação das ferramentas propostas Implementação de sistemas reais. Arquiteturas para aplicações adaptáveis. Avaliação de outras abstrações Contratos de coordenação dinâmicos. Aspectos dinâmicos.
26 FIM Dúvidas Críticas Comentários
5 Trabalhos Relacionados
5 Trabalhos Relacionados Durante o trabalho desenvolvido nesta dissertação foram estudadas diversas tecnologias que têm objetivos semelhantes ao nosso. Os trabalhos estudados apresentam modelos de programação
Leia maisObjetos e Componentes Distribuídos: EJB
: EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisTécnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Leia maisIntrodução ao SCS. Tecgraf PUC-Rio. outubro de 2010
Introdução ao SCS Tecgraf PUC-Rio outubro de 2010 Noções básicas O que são componentes de software? Unidades de composição com interfaces bem definidas e dependências explícitas Devem poder ser conectados,
Leia maisAdriano Medeiros dos Santos. Suporte a Componentes Compostos Para o Middleware SCS. Dissertação de Mestrado
Adriano Medeiros dos Santos Suporte a Componentes Compostos Para o Middleware SCS Dissertação de Mestrado Dissertação apresentada ao Programa de Pós graduação em Informática do Departamento de Informática
Leia maisUtilizando linguagens de programação orientadas a objetos para codificar programas adaptativos
Utilizando linguagens de programação orientadas a objetos para codificar programas adaptativos Paulo Roberto Massa Cereda paulo.cereda@usp.br João José Neto jjneto@usp.br Escola Politécnica, Universidade
Leia maisHélcio Bezerra de Mello. Proxies Inteligentes Automáticas DISSERTAÇÃO DE MESTRADO. Programa de Pós graduação em Informática
Hélcio Bezerra de Mello Proxies Inteligentes Monitoração e Adaptação Automáticas DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática Rio de Janeiro Setembro de
Leia maisArquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Leia mais3 Trabalhos relacionados
3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maispor parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a
1 Introdução Middleware é um termo cunhado no final da década de 60 (Naur e Randell, 1968), que é freqüentemente empregado para designar uma camada de software que oferece uma infra-estrutura para construção
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
Leia maisSCS-Lua - Tutorial - Básico
SCS-Lua - Tutorial - Básico Tecgraf Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) scs-users@tecgraf.puc-rio.br 2011-08-31 1 Introdução Este documento é um tutorial básico sobre a criação
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisProjeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
Leia maisSistemas Distribuídos
Tecnologia em Sistemas para Internet Aula04 - Arquiteturas de Objetivos Conhecer as principais arquiteturas de sistemas distribuídos e seu funcionamento; 2 Introdução Sistemas distribuídos muitas vezes
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisDocumento de Arquitetura de Software- SGE
Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de
Leia maisTécnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.
DCC / ICEx / UFMG Técnicas de Reutilização Reutilização em Programação Orientada a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reuso de classes Bibliotecas Frameworks Considere três classes
Leia maisUML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisAmbientes de Desenvolvimento Avançados
Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav Aula 1 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 Aula de Apresentação e de Introdução 2 1
Leia maisContexto. Motivação. variabilidade. variabilidade
Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade
Leia maisProgramação Orientada a Objetos
Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,
Leia maisEncapsulamento e Modularização
Encapsulamento e Modularização Departamento de Computação Universidade Federal de Sergipe Encapsulamento Modularização Tipos Abstratos de Dados (TADs) Objetos Classes Conteúdo Encapsulamento Programação
Leia maisPlanning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398)
Planning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398) Formato do curso: Presencial Localidade: Lisboa Data: 18 Dez. 2017 a 22 Dez. 2017 Preço:
Leia maisArquitetura de Software
Arquitetura de Software A arquitetura de um software é uma estrutura de componentes interconectados através de interfaces Componentes são compostos de componentes menores e interfaces A interação entre
Leia maisAs 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira
As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira Educação de iniciação profissional validada e legitimada pela sociedade Registro da adequação à prática através de certificação
Leia maisDesenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos
Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática
Leia maisConceitos de Sistemas de Banco de Dados INE 5323
Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação
Leia maisPadrões e exemplos de projetos no LabVIEW 2012
Padrões e exemplos de projetos no LabVIEW 2012 Desenvolvendo aplicações escaláveis com arquiteturas orientadas a Objeto Ilton Pereira Gerente da Engenharia de Aplicações Felipe Flores Engenheiro de Aplicações
Leia maisMODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL
MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos
Leia maisCapítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.
Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and
Leia maisBanco de Dados Relacional
Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo
Leia maisLeonardo Godinho da Cunha. Modelos de Concorrência e Sandboxes Aplicados a Servidores HTTP em Lua. Dissertação de Mestrado
Leonardo Godinho da Cunha Modelos de Concorrência e Sandboxes Aplicados a Servidores HTTP em Lua Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo
Leia maisLeitura: Cap : Sommerville; cap20: Pressman
Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisSistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21
Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisIntrodução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Leia maisFormação JAVA Web.
Inscreva-se na Formação JAVA Web e comece a desenvolver sistemas para Web e Desktop com a linguagem de programação open source multiplataforma mais valorizada do mercado. Carga-horária: 80h O que você
Leia maisPrincípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Classes, Atributos e Métodos Msc. Paulo de Tarso F. Júnior 1 Introdução Programas eram lineares e com poucos módulos: PE Programação Estruturada Aumento da complexidade
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia maisSistemas Distribuídos Aula 3
Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor
Leia maisO sistema SCS 34. getreceptaclesbyname(in NameList names): Obtém uma lista de descritores
3 O sistema SCS Todos os mecanismos de adaptação propostos neste trabalho dependem de uma modularização adequada das aplicações para que possam ser aplicados. Além disso, a natureza tipicamente distribuída
Leia maisCriando uma aplicação web
Criando uma aplicação web Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações precisam
Leia maisIntrodução ao módulo LabVIEW FPGA
Introdução ao módulo LabVIEW FPGA Guilherme Yamamoto Engenheiro de Marketing de Produto Tecnologia FPGA Blocos de E/S Acesso direto às E/S digitais e analógicas. Interconexões programáveis Roteamento de
Leia maisFerramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE
Leia maisAula 04 Introdução à Programação Orientada à Objetos
Aula 04 Introdução à Programação Orientada à Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Introdução à Programação Orientada
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido
Leia maisINE5380 - Sistemas Distribuídos
INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção
Leia maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisDesign and Evaluation of a Support Service for Mobile, Wireles. Applications
Design and Evaluation of a Support Service for Mobile, Wireless Publish/Subscribe Applications Tecnologias de Middleware 06/07 Curso de Especialização em Informática Departamento de Informática Faculdade
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisInGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade
InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade Eduardo Guerra eguerra@ime.usp.br Orientador: Prof. Dr. Alfredo Goldman Proposta de dissertação apresentada ao IME-USP para qualificação
Leia maisEscola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais. PCS 0014: Linguagens de Programação
Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e Sistemas Digitais Prof. ISVega PCS 0014: Linguagens de Programação Apontamento#13 Abr/2001 Sistemas de Tipos Conteúdo
Leia maisao paradigma imperativo
PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisSérgio Koch Van-Dall
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS
Leia maisFerramentas Programação. UDESC - Prof. Juliano Maia 1
Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano
Leia maisProtótipo tipo de software para geração de sistemas distribuídos. dos utilizando Design Patterns
Protótipo tipo de software para geração de sistemas distribuídos dos utilizando Design Patterns Aluno: Fabiano Oss fabiano@inf.furb.br Orientador: Everaldo A Grahl egrahl@furb.br Agenda Introdução; Objetivos;
Leia maisLivro texto: Capítulo 1
Livro texto: Capítulo 1 Bancos de dados (BD) No decorrer do dia, a maioria de nós se depara com atividades que envolvem alguma interação com os BD s banco reservas em um hotel compra de passagens aéreas
Leia maisDesenvolvimento Baseado em Componentes: Tecnologia J2EE
Desenvolvimento Baseado em Componentes: Tecnologia J2EE Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires Agenda Introdução Componentes Introdução a Especificação J2EE Modelo
Leia maisPermita o acesso ao Internet para o módulo ips ASA 5500-X
Permita o acesso ao Internet para o módulo ips ASA 5500-X Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Informação da característica Metodologia de Troubleshooting Solução
Leia maisComputação Ciente do Contexto - Parte II
Introdução à Computação Móvel Computação Ciente do Contexto - Parte II Francisco José da Silva e Silva Rafael Fernandes Lopes Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA
Leia maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisCAP. VI ANÁLISE SEMÂNTICA
CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve
Leia maisIntrodução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
Leia maisSistemas Distribuídos Capítulo 2 - Aula 2
Sistemas Distribuídos Capítulo 2 - Aula 2 Aula passada Introdução, metas e tipos de Sistemas Distribuídos, Exemplos Aula de hoje Estilos Arquitetônicos Arquitetura de Sistemas Arquiteturas e Middleware
Leia maisPROGRAMAÇÃO EM JOGOS DIGITAIS
PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Aplicações gráficas / Jogos Como funciona uma aplicação gráfica? O que é um jogo? Como funciona um jogo? 1 Aplicação gráfica! É um programa que apresenta gráficos
Leia maisEngenharia de Software.
Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas
Leia maisSUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25
SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software
Leia maisDNS central. A new approach for DNS records management at Unesp. Carlos Coletti GRC
DNS central A new approach for DNS records management at Unesp Carlos Coletti GRC carlos.coletti@unesp.br Agenda Introdução Objetivos Infraestrutura atual Nova infraestrutura proposta Proposta de nova
Leia maisSistema de acesso a dispositivos eletrônicos através da TV Digital interativa. Aluno: Rodrigo Brüning Wessler Orientador: Francisco Adell Péricas
Sistema de acesso a dispositivos eletrônicos através da TV Digital interativa Aluno: Rodrigo Brüning Wessler Orientador: Francisco Adell Péricas Roteiro da Apresentação Introdução Objetivos Fundamentação
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Leia maisQualidade de Software QUALIDADE DE SOFTWARE PRODUTO
Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO O que é Qualidade de Software Produto? Boa fabricação. Deve durar muito. Bom desempenho. Utilizável tanto em UNIX quanto em DOS. Adaptável às minhas
Leia maisIntrodução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru
1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna
Leia maisCapítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Leia maisUma Abordagem para Modelagem de Contextos Dinâmicos em Simulação de Projetos Baseada em Multi-Agentes
Uma Abordagem para Modelagem de Contextos Dinâmicos em Simulação de Projetos Baseada em Multi-Agentes Proposta de Tese Davy Baia Carlos Lucena davybaia@gmail.com Agenda Introdução Motivação - Cenário Definição
Leia mais4 Arquitetura de Componentes para o OiL
4 Arquitetura de Componentes para o OiL Como já foi discutido, o desenvolvimento do OiL é interessante para a experimentação de técnicas de construção de middlewares e para a criação de protótipos de serviços
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia maisPadrão de projeto de software
Padrão de projeto de software Paulo Venancio Lopes e Daniel Sguillaro Nome Roupa Suja Se Lava Em Casa. Intenção Dar maior capacidade e flexibilidade ao conceito de entidade (no contexto de persitência
Leia maisDescrição: Retorna uma lista com todos os publishers disponíveis no middleware.
1 Publisher GET http://server:port/publisher Descrição: Retorna uma lista com todos os publishers disponíveis no middleware. Parâmetros: void. status: error: false, message: null, data: publishers: [ description:
Leia maisSingleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)
e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter
Leia maisGerência de Projetos de Software. Prof. Dr. João Dovicchi INE / CTC / UFSC.
Prof. Dr. João Dovicchi INE / CTC / UFSC dovicchi@inf.ufsc.br http://www.inf.ufsc.br/~dovicchi Programa Projetos e Metodologias Tipos e abordagens Organização Estimativas de Esforço e Gerência de Riscos
Leia maisUsuários. Interface com Usuários. Programa Aplicativo. Interfaces de Programação. Sistema Operacional
11. Interfaces Neste capítulo é apresentado o conceito de interfaces Java, sua aplicação no projeto de hierarquias de tipos e sua relação com hierarquias de classes. Ao final deste capítulo o estudante
Leia maisUnidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini
Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia maisEngenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto
Leia maisNextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos Rógel Garcia de Oliveira, Marco Túlio Valente 1 Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG Brasil {rogelgarcia,mtov}@dcc.ufmg.br
Leia maisDesenvolvimento Web com Framework Demoiselle versão 1.0
Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado
Leia maisOrientação a Objetos - Programação em C++
OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual
Leia maisProcessos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisUML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.
Leia mais