Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVictorhugo Zarco Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.