1 / 19

MVV - Arquitetura da Máquina Virtual Virtuosi

MVV - Arquitetura da Máquina Virtual Virtuosi. Carlos José Johann Kolb Programa de Pós-Graduação em Informática Aplicada Centro de Ciências Exatas e de Tecnologia Pontifícia Universidade Católica do Paraná Outubro de 2004. arquitetura. Visão geral. metamodelo. class Pessoa {

aileen
Download Presentation

MVV - Arquitetura da Máquina Virtual Virtuosi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MVV - Arquitetura da Máquina Virtual Virtuosi Carlos José Johann Kolb Programa de Pós-Graduação em Informática Aplicada Centro de Ciências Exatas e de Tecnologia Pontifícia Universidade Católica do Paraná Outubro de 2004

  2. arquitetura Visão geral metamodelo class Pessoa { composition String nome; association String endereco; constructor make( String pN, ...) exports all { nome = pN; ... } method void setNome( String n ) exports all { nome = n; } action obeso( ) exports all { if ( sexo == masculino) { v = Integer.make(100) } ... } } class Pessoa { composition String nome; association String endereco; constructor make( String pN, ...) exports all { nome = pN; ... } method void setNome( String n ) exports all { nome = n; } action obeso( ) exports all { if ( sexo == masculino) { v = Integer.make(100) } ... } } Compilador Máquina Virtual Virtuosi código fonte das classes de uma aplicação árvores de programa que compõem a aplicação

  3. arquitetura Código fonte escrito em Aram class Pessoa { composition String nome; association String endereco; constructor make( String pN, ...) exports all { nome = pN; ... } method void setNome( Pessoa outraPessoa ) exports all { nome = n; if ( outraPessoa.obeso( ) ){ ... } } action obeso( ) exports all { if ( sexo == masculino) { v = Integer.make(100); return execute } else { return skip; } } }

  4. arquitetura Metamodelo da Virtuosi class Pessoa { composition String nome; association String endereco; ...

  5. arquitetura Bloco de Dados

  6. arquitetura Metamodelo da Virtuosi class Pessoa { constructor make( String pN, ...) ... method void setNome( Pessoa outraPessoa ) ... action obeso( ) ...

  7. arquitetura Comando de Desvio Condicional e uma Ação

  8. arquitetura Metamodelo da Virtuosi ... v = Integer.make(100); objetoTal.metodoTal(); valor = objX.metodoX(); ...

  9. arquitetura Árvore de Programa class Pessoa { composition Integer posicao; method void setPosicao(Integer p) exports all { posicao = p; } }

  10. arquitetura Uma aplicação é composta de muitas árvores de programa

  11. Pontos de ligação entre árvores de programa arquitetura

  12. arquitetura Referências indiretas através de Tabelas de Manipulação

  13. Carga das árvores de programa pela MVV pessoa soma arquitetura pessoa integer

  14. arquitetura Uma instância da Máquina Virtual Virtuosi class A { ... constructor ca( ) exports all { this.ma(); } method metodoA( ) exports all { ... } }

  15. arquitetura Uma atividade navega sobre a árvore de programa

  16. arquitetura Visão Geral da Arquitetura da Virtuosi

  17. implementação Protótipo e Números • Java • Testes automatizados • Testes para criação de árvores • Testes para a interpretação das árvores • Cento e quarenta e uma (141) classes dividas em dois pacotes: core (47) e meta (94); • Trinta e uma classes de teste;

  18. conclusão Contribuição • Serve como base para um ambiente distribuído de execução de software orientado a objetos – o ambiente Virtuosi • Formaliza o metamodelo da Virtuosi que define e limita os conceitos de orientação a objetos implementados por qualquer linguagem de programação que deseje ser compatível com o ambiente Virtuosi

  19. conclusão Contribuição Científica • Valida o uso de árvores de programa como representação intermediária para software orientado a objeto • Valida o uso de tabelas de manipulação para manter referências entre árvores de programa carregadas em memória (relacionamentos inter e intra-classes) • valida o uso de tabelas de manipulação para manter referências entre objetos instância de classes de aplicação

More Related