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

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

Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado

Apresentações semelhantes


Apresentação em tema: "Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado"— Transcrição da apresentação:

1 Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado
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

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

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

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

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

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

7 Busca de componentes História Futuro Busca 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 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

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

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

11 Suporte para XMI XMI é XML Manipulação dos metadados
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 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.

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

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

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

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

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

18 Serviço de Armazenamento Remoto

19 Serviço de Armazenamento Remoto

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)

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

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

23 Serviço de busca

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

25 Serviço de busca Base de dados populada Busca por navegação
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 Serviço de busca K-Metric 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 A K-Metric Exemplo (3 componentes Java, 3 facetas) Button Menu
Tipo de dados = {Graphic, Button, Event} Tipo do componente = {Visual} Ações = {Create, Send} Menu Tipo de dados = {Graphic, Menu, Event} Ações = {Create, Manage, Send} CardLayout Tipo de dados = {Layout, Graphic} Ações = {Manage}

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

29 Busca por similaridade
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 Trabalhos relacionados
Projeto Agora (SEACORD;HISSSAM;WALLNAU, 1998) Descoberta Introspecção (HUMMEL;ATKINSON, 2004) Execução XMI: ArgoUML e Poseidon (OLIVEIRA;MURTA;WERNER,2004) Controle de versões utilizando MOF

33 Trabalhos futuros MDD (Model-Driven Development) Reutilização
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 Trabalhos futuros Na MDA (Model-Driven Architecture) QVT (OMG, 2002c)
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 Trabalhos futuros MDA Aproveitar a infra-estrutura da MVCASE
UML não é suficiente (THOMAS, 2004), (FOWLER, 2004) Linguagens mais específicas Aproveitar a infra-estrutura da MVCASE META-CASE Estudos comparativos

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

37 Fim


Carregar ppt "Daniel Lucrédio Orientador: Dr. Antonio Francisco do Prado"

Apresentações semelhantes


Anúncios Google