Apresenta - PowerPoint PPT Presentation

About This Presentation
Title:

Apresenta

Description:

Uma arquitetura reflexiva Copyleft by Ana Paula Mota – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 34
Provided by: AnaP92
Category:

less

Transcript and Presenter's Notes

Title: Apresenta


1
Uma arquitetura reflexiva
Copyleft by Ana Paula Mota
2
Paullinia cupana
  • Guaraná (Paulinia cupana) do tupi waraná.
    Arbusto que tem propriedades estimulantes, pelo
    conteúdo de cafeínaPlanta originária da
    Amazônia
  • Maior estado produtor é a Bahia
  • Sementes de guaraná possuem até 4x mais cafeína
    do que grãos de café

Copyleft by Ana Paula Mota
3
Roteiro
  • Reflexão Computacional
  • Arquiteturas reflexivas
  • MOP(Meta-Object Protocol)
  • Guaraná
  • Exemplos
  • Desempenho
  • Referências

Copyleft by Ana Paula Mota
4
Reflexão computacional
  • Manter informação sobre si mesmo
  • Mudar comportamento
  • Inspecionar operações interceptadas e
    modificá-las
  • Duas camadasCamada funcional e camadas de
    gerenciamento

Copyleft by Ana Paula Mota
5
Camada Funcional
  • Nível da aplicação
  • Componentes responsáveis pelas funcionalidades da
    aplicação

Copyleft by Ana Paula Mota
6
Camada de gerenciamento
  • Aspectos do nível funcional
  • Meta-objetos inspecionar operações
    interceptadas, modificá-las e entregá-las ao
    objeto do alvo
  • Persistência, controle de concorrência,
    monitoramento

Copyleft by Ana Paula Mota
7
Arquiteturas reflexivas
  • All-in-one único meta-objeto
  • Coupled meta-objetos bem acoplados
  • Difícil reaproveitamento de código e manutenção

Copyleft by Ana Paula Mota
8
Arquiteturas reflexivas
  • Open C All-in-one, não permite composição de
    meta-objetos
  • MOOSTRAP e MetaXa composição seqüencial
    (meta-objetos similares)
  • MetaXa múltiplos meta-objetos em forma de uma
    lista ligada

Copyleft by Ana Paula Mota
9
Guaraná
  • Baseado em uma versão free-Java (Kaffe OpenVM)
  • Protocolo de meta-objetos em tempo de execução
  • Possibilidade de composição de meta-objetos
  • Controle de acesso ao nível de gerenciamento
  • Qualquer programa Java roda com Guaraná

Copyleft by Ana Paula Mota
10
Comparação MOP
  • Encaminhar operações de seu sucessor
  • Manipular resultados mesmo sem interesse
  • Não há concorrência na manipulação de resultados

Copyleft by Ana Paula Mota
11
Comparação MOP
Copyleft by Ana Paula Mota
12
Comparação MOP
  • Manipular resultados apenas se notificados pelo
    kernel
  • Pode produzir um resultado para uma operação
    (fig3(a))
  • Resultado produzido pelo objeto não tem que ser
    apresentado ao meta(fig3(d))

Copyleft by Ana Paula Mota
13
Principais conceitos
  • Composer
  • Delega operações e resultados e compõe
    resultados
  • Implementar a corrente de meta-objetos
    (meta-objeto não tem que recorrer ao seu
    sucessor).
  • Padrão Composite

Copyleft by Ana Paula Mota
14
Principais conceitos
  • Meta-objeto primário
  • Meta-objeto associado a um objeto
  • Meta-configuração
  • Definida pelo criador do objeto(inicial)
  • Meta-configuração não é propagada em sua
    totalidade
  • Escondida da camada funcional

Copyleft by Ana Paula Mota
15
Principais conceitos
Copyleft by Ana Paula Mota
16
Principais conceitos
  • Messages
  • utilizadas para trocar informações entre
    meta-objetos
  • Mensagens não entendidas são ignoradas
  • Kernel implementa operação broadcast

Copyleft by Ana Paula Mota
17
Principais conceitos
Copyleft by Ana Paula Mota
18
Guaraná Criação de um objeto
Copyleft by Ana Paula Mota
19
Guaraná Criação de um objeto
  1. Alocar espaço
  2. Meta-objeto para novo objeto
  3. Objeto Message para meta-configuração
  4. Invocar o construtor(chamada pode ser
    interceptada)

Copyleft by Ana Paula Mota
20
Guaraná Criação de um objeto
Copyleft by Ana Paula Mota
21
Segurança
  • Limitar capacidade de meta-objetos de agir
  • Exemplos
  • Não apresentar operações a meta-objetos
  • Ignorar resultados/operações de meta-objetos
  • Hierarquia não pode ser subvertida

Copyleft by Ana Paula Mota
22
Classes centrais do Guaraná
  • Guarana (kernel do Guarana) modifica
    meta-configuração dos objetos
  • Operation inspeciona invocações e acessos a
    campos dos objetos, validar e executar operações
  • Result objeto criado como resultado de uma
    operação

Copyleft by Ana Paula Mota
23
Classes centrais do Guaraná
  • MetaObject raiz da hierarquia de classes de
    meta-objetos
  • Composer meta-objeto que delega operações,
    resultados e mensagens
  • Message modificação de informações de
    meta-configuração

Copyleft by Ana Paula Mota
24
Interceptando operações
Copyleft by Ana Paula Mota
25
Interceptando operações
Copyleft by Ana Paula Mota
26
Modificando resultados
Copyleft by Ana Paula Mota
27
Modificando resultados
Copyleft by Ana Paula Mota
28
Modificando resultados
Copyleft by Ana Paula Mota
29
Desempenho
  • Plataformas onde os testes foram
  • realizados.

Copyleft by Ana Paula Mota
30
Desempenho
  • Tempo para interceptar algumas operações no
    interpretador.

Tempo em milissegundos
Copyleft by Ana Paula Mota
31
Desempenho
  • Tempo de intercepção de algumas operações JIT
    compiler.

Tempo em milissegundos
Copyleft by Ana Paula Mota
32
Por que não 100 Java?
  • Estender interpretador Java baixa performance
  • Classes da API do Java deveriam ser modificadas
  • Interceptar chamadas de construtores sem violar
    regras de segurança
  • Kaffe OpenVM é a máquina virtual mais portátil
    que existe

Copyleft by Ana Paula Mota
33
Referências
  • Homepage oficial http//www.lsd.ic.unicamp.br/ol
    iva/guarana/
  • Artigos
  • Alexandre Oliva e Luiz Eduardo Buzato. The Design
    and Implementation of Guaraná, The Implementation
    of Guaraná on Java e The Reflective Archicteture
    of Guaraná

Copyleft by Ana Paula Mota
Write a Comment
User Comments (0)
About PowerShow.com