A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Extensão da Ferramenta MVCASE com Serviços Remotos de Armazenamento e Busca de Artefatos de Software Daniel Lucrédio Orientador: Dr. Antonio Francisco.

Apresentações semelhantes


Apresentação em tema: "Extensão da Ferramenta MVCASE com Serviços Remotos de Armazenamento e Busca de Artefatos de Software Daniel Lucrédio Orientador: Dr. Antonio Francisco."— Transcrição da apresentação:

1 Extensão da Ferramenta MVCASE com Serviços Remotos de Armazenamento e Busca de Artefatos de Software Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado

2 2 Roteiro Introdução A Ferramenta MVCASE Extensão da ferramenta MVCASE Demonstração Considerações finais e trabalhos futuros Introdução A Ferramenta MVCASE Extensão da ferramenta MVCASE Demonstração Considerações finais e trabalhos futuros

3 3 Introdução Reutilização de Software CASE (Computer-Aided Software Engineering) –MVCASE Mecanismos para reutilização –Armazenamento remoto –Busca –Artefatos de alto nível de abstração Modelos Reutilização de Software CASE (Computer-Aided Software Engineering) –MVCASE Mecanismos para reutilização –Armazenamento remoto –Busca –Artefatos de alto nível de abstração Modelos

4 4 O Padrão XMI Integração entre ferramentas –Integração de dados Uso de XML –Representar metadados –Vantagens: Linguagem aberta, Inúmeras APIs... Baseado no padrão MOF (OMG, 2002b) Integração entre ferramentas –Integração de dados Uso de XML –Representar metadados –Vantagens: Linguagem aberta, Inúmeras APIs... Baseado no padrão MOF (OMG, 2002b)

5 5 O Padrão XMI Pedro João M0 - Dados M1 - Modelo M2 – Meta Modelo M2 – Meta Modelo M3 – Meta-meta Modelo M3 – Meta-meta Modelo ProdutoClienteClasseClasse MOF Farinha XMI

6 6 Controle de versões Durante o desenvolvimento –Versões de um artefato Armazenar e gerenciar versões –Controle de versões ou versionamento –Gerenciamento de Configuração CVS –Ferramenta livre –Controle de versões –Controle de acesso –Travamento de arquivos Durante o desenvolvimento –Versões de um artefato Armazenar e gerenciar versões –Controle de versões ou versionamento –Gerenciamento de Configuração CVS –Ferramenta livre –Controle de versões –Controle de acesso –Travamento de arquivos

7 7 Busca de componentes História –Esquema de Classificação –Outros aspectos –Repositórios distribuídos –Aspectos humanos Futuro –Mercado de componentes Busca –Grande quantidade de componentes –Desempenho –Segurança –Interoperabilidade História –Esquema de Classificação –Outros aspectos –Repositórios distribuídos –Aspectos humanos Futuro –Mercado de componentes Busca –Grande quantidade de componentes –Desempenho –Segurança –Interoperabilidade

8 8 A Ferramenta MVCASE Modelagem textual e gráfica Desenvolvimento Baseado em Componentes Distribuídos Utilização de Padrões de Projeto Suporte para Diferentes Modelos de Componentes Desenvolvimento de Software Orientado a Aspectos Geração de Código Modelagem textual e gráfica Desenvolvimento Baseado em Componentes Distribuídos Utilização de Padrões de Projeto Suporte para Diferentes Modelos de Componentes Desenvolvimento de Software Orientado a Aspectos Geração de Código

9 Extensão da Ferramenta MVCASE com Serviços Remotos de Armazenamento e Busca de Artefatos de Software

10 10 Extensão da MVCASE Suporte para XMI Serviço de Armazenamento Remoto Suporte ao controle de versões Serviço de busca Suporte para XMI Serviço de Armazenamento Remoto Suporte ao controle de versões Serviço de busca

11 11 Suporte para XMI XMI é XML –SAX (Simple API for XML) / DOM (Document Object Model) Manipulação dos metadados –MOF (Meta-Object Facility) (OMG, 2002b) –Interfaces para manipulação – IDL (Interface Definition Language) (OMG, 2002a) –JMI (Java Metadata Interface) – Sun Microsystems (DIRCKZE, 2002) XMI é XML –SAX (Simple API for XML) / DOM (Document Object Model) Manipulação dos metadados –MOF (Meta-Object Facility) (OMG, 2002b) –Interfaces para manipulação – IDL (Interface Definition Language) (OMG, 2002a) –JMI (Java Metadata Interface) – Sun Microsystems (DIRCKZE, 2002)

12 12 Suporte para XMI MOF/JMI possuem 2 maneiras de acesso aos objetos –Acesso direto (métodos set, get, add, remove) –Módulo reflexivo Permite descobrir o tipo de um objeto, seus atributos, relacionamentos, etc. Permite navegar entre os diferentes meta-níveis. É a ligação entre dados e metadados. MOF/JMI possuem 2 maneiras de acesso aos objetos –Acesso direto (métodos set, get, add, remove) –Módulo reflexivo Permite descobrir o tipo de um objeto, seus atributos, relacionamentos, etc. Permite navegar entre os diferentes meta-níveis. É a ligação entre dados e metadados.

13 13 msg02 Suporte para XMI O2:C O3:C O1:C Object MiMi M i+1 M i+2 M i-1 Message getName()  O3 getType()  C getName()  Message getReferences()  objSender, objReceiver getName()  msg02 getSender()  O2 getReceiver()  O3 refMetaObject()  MessagerefAllObjects()  msg01, msg02 msg01 objSender objReceiver

14 14 Suporte para XMI Existem várias implementações JMI – MDR (Netbeans MetaData Repository) Existem várias implementações JMI – MDR (Netbeans MetaData Repository)

15 15 Resumo Suporte para XMI Pouca dependência entre módulos Maior flexibilidade Extensibilidade Interoperabilidade com outras ferramentas Pouca dependência entre módulos Maior flexibilidade Extensibilidade Interoperabilidade com outras ferramentas

16 16 Serviço de Armazenamento Remoto Repositórios CVS – Cliente CVS – javacvs (Netbeans) – Principais comandos do CVS – plug-in Repositórios CVS – Cliente CVS – javacvs (Netbeans) – Principais comandos do CVS – plug-in

17 17 Serviço de Armazenamento Remoto Problema utilização XMI / CVS XMI define um identificador único para cada elemento –Porém, ele é único somente dentro de um documento XMI –Por isso, o identificador XMI é descartado após a leitura, e gerado novamente na escrita –Documentos diferentes podem conter elementos diferentes que possuam um mesmo identificador Inconsistência Má formação de documentos XMI Conflitos inexistentes Problema utilização XMI / CVS XMI define um identificador único para cada elemento –Porém, ele é único somente dentro de um documento XMI –Por isso, o identificador XMI é descartado após a leitura, e gerado novamente na escrita –Documentos diferentes podem conter elementos diferentes que possuam um mesmo identificador Inconsistência Má formação de documentos XMI Conflitos inexistentes

18 18 Serviço de Armazenamento Remoto

19 19 Serviço de Armazenamento Remoto

20 20 Serviço de Armazenamento Remoto 3 ações –Novo identificador Endereço da máquina na rede + hora local + número aleatório –Utiliza-se este identificador na escrita do XMI, ao invés do sequencial –Como o identificador é descartado na leitura, utilizou-se outro mecanismo para armazenar este identificador Tabela intermediária (Hash) 3 ações –Novo identificador Endereço da máquina na rede + hora local + número aleatório –Utiliza-se este identificador na escrita do XMI, ao invés do sequencial –Como o identificador é descartado na leitura, utilizou-se outro mecanismo para armazenar este identificador Tabela intermediária (Hash)

21 21 Resumo do serviço de armazenamento Controle de versões –Gerenciamento de Configuração Trabalho cooperativo Reutilização Controle de versões –Gerenciamento de Configuração Trabalho cooperativo Reutilização

22 22 Serviço de busca (PRIETO-DÍAZ, 1991)

23 23 Serviço de busca

24 24 Serviço de busca Indexação automática –Interpretador Javadoc Código Java –Interpretador XMI Modelos Cinco facetas –Pacote –Primeira letra –Tipo –Tipo do interpretador utilizado –Repositório Indexação automática –Interpretador Javadoc Código Java –Interpretador XMI Modelos Cinco facetas –Pacote –Primeira letra –Tipo –Tipo do interpretador utilizado –Repositório

25 25 Serviço de busca Base de dados populada –Facetas Busca por navegação –HTML Browser Busca por consulta –Palavras-chave Busca por similaridade (LUCRÉDIO et al., 2004) –Métricas de semelhança –Estrutura de indexação métrica Base de dados populada –Facetas Busca por navegação –HTML Browser Busca por consulta –Palavras-chave Busca por similaridade (LUCRÉDIO et al., 2004) –Métricas de semelhança –Estrutura de indexação métrica

26 26 Serviço de busca Métrica de similaridade –Quão semelhantes são dois artefatos –Informações contidas na base de dados (facetas) K-Metric –Dados dois artefatos… –A distância entre eles é… O número mínimo de inserções e remoções necessárias para tornar seus conjuntos de palavras- chave iguais Métrica de similaridade –Quão semelhantes são dois artefatos –Informações contidas na base de dados (facetas) K-Metric –Dados dois artefatos… –A distância entre eles é… O número mínimo de inserções e remoções necessárias para tornar seus conjuntos de palavras- chave iguais

27 27 A K-Metric Exemplo (3 componentes Java, 3 facetas) Button –Tipo de dados = {Graphic, Button, Event} –Tipo do componente = {Visual} –Ações = {Create, Send} Menu –Tipo de dados = {Graphic, Menu, Event} –Tipo do componente = {Visual} –Ações = {Create, Manage, Send} CardLayout –Tipo de dados = {Layout, Graphic} –Tipo do componente = {Visual} –Ações = {Manage} Exemplo (3 componentes Java, 3 facetas) Button –Tipo de dados = {Graphic, Button, Event} –Tipo do componente = {Visual} –Ações = {Create, Send} Menu –Tipo de dados = {Graphic, Menu, Event} –Tipo do componente = {Visual} –Ações = {Create, Manage, Send} CardLayout –Tipo de dados = {Layout, Graphic} –Tipo do componente = {Visual} –Ações = {Manage}

28 28 A K-Metric Exemplo (3 componentes Java, 3 facetas) Button –Tipo de dados = {Graphic, Button, Event} –Tipo do componente = {Visual} –Ações = {Create, Send} Menu –Tipo de dados = {Graphic, Menu, Event} –Tipo do componente = {Visual} –Ações = {Create, Manage, Send} CardLayout –Tipo de dados = {Layout, Graphic} –Tipo do componente = {Visual} –Ações = {Manage} Exemplo (3 componentes Java, 3 facetas) Button –Tipo de dados = {Graphic, Button, Event} –Tipo do componente = {Visual} –Ações = {Create, Send} Menu –Tipo de dados = {Graphic, Menu, Event} –Tipo do componente = {Visual} –Ações = {Create, Manage, Send} CardLayout –Tipo de dados = {Layout, Graphic} –Tipo do componente = {Visual} –Ações = {Manage} Distância = 3 Distância = 6

29 29 Busca por similaridade Estrutura de indexação métrica –Consulta por vizinhança –Consulta por abrangência Estrutura de indexação métrica –Consulta por vizinhança –Consulta por abrangência

30 Demonstração

31 Considerações Finais e Trabalhos Futuros

32 32 Trabalhos relacionados Projeto Agora (SEACORD;HISSSAM;WALLNAU, 1998) –Descoberta –Introspecção (HUMMEL;ATKINSON, 2004) –Descoberta –Execução XMI: ArgoUML e Poseidon (OLIVEIRA;MURTA;WERNER,2004) –Controle de versões utilizando MOF Projeto Agora (SEACORD;HISSSAM;WALLNAU, 1998) –Descoberta –Introspecção (HUMMEL;ATKINSON, 2004) –Descoberta –Execução XMI: ArgoUML e Poseidon (OLIVEIRA;MURTA;WERNER,2004) –Controle de versões utilizando MOF

33 33 Trabalhos futuros MDD (Model-Driven Development) –Rapidez de desenvolvimento, manutenibilidade, flexibilidade e... Reutilização –(KRUEGER, 1992), (GRISS, 1995), (FRAKES; ISODA, 1994), (JACOBSON; GRISS; JONSSON, 1997) –Reutilização em alto nível Idéias MDD + Tecnologias de apoio (MDA - OMG) + MVCASE MDD (Model-Driven Development) –Rapidez de desenvolvimento, manutenibilidade, flexibilidade e... Reutilização –(KRUEGER, 1992), (GRISS, 1995), (FRAKES; ISODA, 1994), (JACOBSON; GRISS; JONSSON, 1997) –Reutilização em alto nível Idéias MDD + Tecnologias de apoio (MDA - OMG) + MVCASE

34 34 Trabalhos futuros Na MDA (Model-Driven Architecture) –Conceito chave: Transformação –Embutidas na ferramenta –Programação QVT (OMG, 2002c) –Linguagem para consulta e transformações –MOF Ferramenta para transformações –MDA –Refactoring Na MDA (Model-Driven Architecture) –Conceito chave: Transformação –Embutidas na ferramenta –Programação QVT (OMG, 2002c) –Linguagem para consulta e transformações –MOF Ferramenta para transformações –MDA –Refactoring

35 35 Trabalhos futuros MDA –UML não é suficiente (THOMAS, 2004), (FOWLER, 2004) –Linguagens mais específicas Aproveitar a infra-estrutura da MVCASE –META-CASE –Estudos comparativos MDA –UML não é suficiente (THOMAS, 2004), (FOWLER, 2004) –Linguagens mais específicas Aproveitar a infra-estrutura da MVCASE –META-CASE –Estudos comparativos

36 36 Trabalhos Futuros Mecanismo de busca mais elaborado –Descrições textuais Avaliação quantitativa –Métricas reutilização, facilidade de intercâmbio, etc... Queda de desempenho –MDR –Outros meios de acesso aos metadados Mecanismo de busca mais elaborado –Descrições textuais Avaliação quantitativa –Métricas reutilização, facilidade de intercâmbio, etc... Queda de desempenho –MDR –Outros meios de acesso aos metadados

37 Fim


Carregar ppt "Extensão da Ferramenta MVCASE com Serviços Remotos de Armazenamento e Busca de Artefatos de Software Daniel Lucrédio Orientador: Dr. Antonio Francisco."

Apresentações semelhantes


Anúncios Google