Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouManuella Andrada Alterado mais de 10 anos atrás
1
de 26 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
de 26 2 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) }... } Visão geral 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) }... } CompiladorMáquina Virtual Virtuosi arquitetura metamodelo código fonte das classes de uma aplicação árvores de programa que compõem a aplicação
3
de 26 3 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; } } arquitetura
4
de 26 4 Metamodelo da Virtuosi arquitetura class Pessoa { composition String nome; association String endereco;...
5
de 26 5 Bloco de Dados arquitetura
6
de 26 6 Metamodelo da Virtuosi arquitetura class Pessoa { constructor make( String pN,...)... method void setNome( Pessoa outraPessoa )... action obeso( )...
7
de 26 7 Comando de Desvio Condicional e uma Ação arquitetura
8
de 26 8 Metamodelo da Virtuosi arquitetura... v = Integer.make(100); objetoTal.metodoTal(); valor = objX.metodoX();...
9
de 26 9 Árvore de Programa class Pessoa { composition Integer posicao; method void setPosicao(Integer p) exports all { posicao = p; } arquitetura
10
de 26 10 Uma aplicação é composta de muitas árvores de programa arquitetura
11
de 26 11 Pontos de ligação entre árvores de programa arquitetura
12
de 26 12 Referências indiretas através de Tabelas de Manipulação arquitetura
13
de 26 13 pessoa integer soma pessoa Carga das árvores de programa pela MVV arquitetura
14
de 26 14 Uma instância da Máquina Virtual Virtuosi class A {... constructor ca( ) exports all { this.ma(); } method metodoA( ) exports all {... } arquitetura
15
de 26 15 Uma atividade navega sobre a árvore de programa arquitetura
16
de 26 16 Visão Geral da Arquitetura da Virtuosi arquitetura
17
de 26 17 Protótipo e Números Java Java Testes automatizados Testes automatizados Testes para criação de árvores Testes para criação de árvores Testes para a interpretação das árvores Testes para a interpretação das árvores Cento e quarenta e uma (141) classes dividas em dois pacotes: core (47) e meta (94); Cento e quarenta e uma (141) classes dividas em dois pacotes: core (47) e meta (94); Trinta e uma classes de teste; Trinta e uma classes de teste; implementação
18
de 26 18 Contribuição Serve como base para um ambiente distribuído de execução de software orientado a objetos – o ambiente Virtuosi 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 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 conclusão
19
de 26 19 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 á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 á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 valida o uso de tabelas de manipulação para manter referências entre objetos instância de classes de aplicação conclusão
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.