Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object...
-
Upload
edson-oliveira-junior -
Category
Education
-
view
470 -
download
1
description
Transcript of Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object...
![Page 1: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/1.jpg)
PROPOSTA DE UMA ABORDAGEM FORMAL PARA O GERENCIAMENTO DE VARIABILIDADES EM MODELOS UML COM OBJECT CONSTRAINT LANGUAGE
Mestrando: Anderson da Silva MarcolinoOrientador: Prof. Dr. Edson A. Oliveira Junior
![Page 2: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/2.jpg)
Agenda
• Motivação
• Linha de Produto de Software
• Abordagem SMarty
• OCL
• Objetivos do Trabalho
• Plano de Atividades
• Revisão Sistemática
• Dificuldades Encontradas
• Conclusões Parciais
![Page 3: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/3.jpg)
Motivação
• Ausência de abordagens completas para o gerenciamento de variabilidade com o uso de UML, com nível de formalismo e consistência, propostas pela OCL;
• Facilitação no uso de LPS ao propor a utilização de conceitos conhecidos amplamente como a UML.
![Page 4: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/4.jpg)
Linha de Produto de Software
• Abordagem que objetiva promover a geração de
produtos específicos com base na reutilização de
uma infraestrutura central - núcleo de artefatos -
formada por uma arquitetura de software e seus
componentes.
![Page 5: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/5.jpg)
Linha de Produto de Software
• Vantagens:
• Maior reutilização de artefatos;
• Maximização de lucros;
• Diminuição do time to market;
• Diminuição de riscos;
• Produtos com maior qualidade;
• Contribuição para o aprimoramento.
![Page 6: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/6.jpg)
Linha de Produto de Software
Figura 1 – Custo e Esforço no Desenvolvimento
![Page 7: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/7.jpg)
Linha de Produto de Software
Figura 2 – Redução do Time to Market
![Page 8: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/8.jpg)
Linha de Produto de Software
• Atividades Essenciais:
1. Desenvolvimento do Núcleo de Artefatos;
2. Desenvolvimento do Produto;
3. Gerenciamento de Linha de Produto.
• O Elemento principal no gerenciamento de uma LP é o
gerenciamento de variabilidade.
![Page 9: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/9.jpg)
Gerenciamento de Variabilidade
![Page 10: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/10.jpg)
Abordagem SMarty
![Page 11: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/11.jpg)
Abordagem SMarty
Figura 2 – Rastreabilidade do SMartyProfile para o Meta-modelo da UML2
![Page 12: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/12.jpg)
OCL
• OCL – Object Constraint Language(Linguagem
para Especificação de Restrições em Objetos).
• Linguagem formal usada para descrever
expressões em modelos da UML. • Estas expressões especificam condições invariáveis, que
devem ser asseguradas para o sistema que esta sendo
modelado ou permitem efetuar consultas sobre os objetos
que estão descritos no modelo(com auxilio de ferramenta).
![Page 13: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/13.jpg)
OCL
• Onde usar OCL?• Como uma linguagem de consultas;
• Para especificar invariantes nas classes e em tipos no modelo de classes;
• Para especificar tipos invariantes para estereótipos;
• Para descrever pré e pós condições nas operações e métodos;
• Para especificar objetivos(conjuntos) para as mensagens e ações;
• Para especificar restrições em operações; e
• Para especificar regras de derivações para os atributos, para qualquer expressão em um modelo UML.
![Page 14: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/14.jpg)
OCL
• Exemplo básico do uso de OCL:
context TypeName inv: 'this is an OCL expression with stereotype <<invariant>> in the context of TypeName' = 'another string‘
Fonte: OMG - Documents Associated With Object Constraint Language, Version 2.3.1
Disponível em <http://www.omg.org/spec/OCL/2.3.1/PDF>. Acessado em 19 de Set. 2012.
![Page 15: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/15.jpg)
OCL e Verificação de Consistência
• Na revisão sistemática adiante apresentada, notamos o a
utilização do OLC para gerar a verificação de
consistência(consistency checking), nosso principal interesse
no uso da OCL.
• Segue assim, as propostas dos estudos recuperados, e
conclusões sobre as mesmas, que servirão de base para o
trabalho futuro.
![Page 16: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/16.jpg)
OCL e Verificação de Consistência
• Streitferdt et al em seu trabalho Details of Formalized
Relations in Feature Models Using OCL propõem a utilização
de OCL para a verificação de consistência para o modelo de
características(feature model), estendendo-a, e apelidando-a
de A-OCL.
• Esta foi aplicada ao feature model definido na abordagem
denominada Feature Oriented Domain Analysis – FODA.
• Na proposta utilizou-se de parte da OCL para restringir e
identificar as variabilidades e escolhas das variantes para sua
solução, utilizando contextos matemáticos, contextos para
features com dependências(requires) e restrições(excludes).
![Page 17: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/17.jpg)
OCL e Verificação de Consistência
Figura 3 – Exemplo uso de OCL para Feature Model
![Page 18: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/18.jpg)
OCL e Verificação de Consistência
• Em sintese Streitferdt et al conclui que sua extensão permite
um fácil entendimento e visualização do modelo de
características, que, se demasiado grande pode dificultar o
entendimento, e levar a resolução de variabilidades errôneas.
![Page 19: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/19.jpg)
OCL e Verificação de Consistência
• Marinho apresente em seu trabalho A Proposal for Consistency Checking
in Dynamic Software Product Line Models Using OCL, aplicado a linhas de
produto de software dinâmicas, a aplicação de OCL para verificar se as
configurações dos produtos preservam suas restrições especificas.
• Este propõe a criação, utilizando o perfil UML de um profile UML para a LP
e um para modelo de contexto, indicando que, se utilizar os dois conceitos
em um diagrama, as relações mantidas no modelo podem dificultar,
principalmente em LP de larga escala.
![Page 20: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/20.jpg)
OCL e Verificação de Consistência
• Gomaa e Shin, em seu trabalho Multiple-view modelling and meta-
modelling of software product lines, apresenta regras de verificação de
consistência baseados no relacionamento entre meta-classes nos meta-
modelos. Tais regras, formalizadas utilizando OCL são utilizadas para
resolver inconsistências entre múltiplas visões em uma mesma fase ou em
diferentes fazes, e são utilizadas ainda para definir mapeamentos
permitidos entre múltiplas visões em diferentes fases.
• Gomaa e Shin deixam claro que sua proposta pode servir a qualquer LP
modelada em UML.
![Page 21: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/21.jpg)
OCL e Verificação de Consistência
• Na seção, trabalhos relacionados apresenta diversas abordagens, e ainda,
como tais efetuam o processo de checagem de consistência – nota-se ai o
apelo a uma validação manual, propensa a erros. E também, apresenta os
diversos mecanismos para efetuar a consistência, bem como para que tipo
de abordagem: desenvolvimento de sistemas únicos, ou com LP.
• Apresenta-se então todos os meta modelos da UML, e suas diferentes
visões, e a partir dai define-se a validação de consistência entre as
múltiplas visões, e em seguida, o PLUSEE(Product Line UML Based
Software Engineering Environment) e como utiliza-lo para a aplicação do
formalismo em tais visões.
![Page 22: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/22.jpg)
OCL e Verificação de Consistência
• Para a verificação de consistência utilizou-se ferramenta desenvolvida em
Java, para tal.
• Finalmente, em suas considerações, indica a necessidade de estender sua
abordagem aos demais modelos da UML, visto que apenas os inerentes a
LP foram utilizados, bem como aplica tal consistência a UML 2.0, uma vez
que a versão utilizada foi a UML 1.3, e ainda aplicar sua proposta em casos
de estudos maiores.
![Page 23: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/23.jpg)
OCL e Verificação de Consistência
• Apresentou-se aqui os trabalhos com maior destaque em
OCL, mas ainda há outros pontos a serem explorados nos
demais.
• Notadamente, há a necessidade de aplicar-se a
consistência em LP, visto que, com o aumento
significativo das variabialidades, e seus pontos de
variação, resolvê-las de forma incorreta pode acarretar
prejuízo ou gerar produtos inadequados ao domínio para
o qual foi projetado.
![Page 24: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/24.jpg)
OCL e Verificação de Consistência
• Não há trabalhos que apresentem a utilização de todos
os conceitos e notações que a OCL permite, e enriquecer
modelos UML para o gerenciamento de variabilidade, é
assim, garantir melhores produtos. Desenvolver uma
abordagem que atenda os mais diferentes nichos de
mercado se faz necessário, o que vem de encontro com o
trabalho aqui proposto.
![Page 25: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/25.jpg)
Objetivos do Trabalho
• Realizar uma revisão sistemática sobre o uso de Diagramas de Interação, package merge e OCL, relacionados ao gerenciamento de variabilidade em linha de produto de software;
• Com o estudo dos resultados obtidos na Revisão, estender a abordagem SMarty para os diagramas da UML(sequência, colaboração e mecanismo de package merge) ;
• Apresentar um exemplo de aplicação da abordagem proposta;
• Executar um experimento com a nova extensão do SMarty;
![Page 26: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/26.jpg)
Objetivos do Trabalho
• Compará-la com outras abordagens existentes: CVL (Common Variability Language) e PLUSEE(Product Line UML Based Software Engineering Environment);
• Identificar as abordagens e o modo como OCL está sendo aplicado aos modelos UML no gerenciamento de variabilidade, através dos resultados da Revisão Sistemática, e utilizá-la nos modelos presentes no SMarty;
• Comparar e avaliar os modelos UML do SMarty com OCL;
• Analisar os resultados obtidos.
![Page 27: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/27.jpg)
Conceitos Relacionados
• Diagramas de Interação
• A interação é empregada para a modelagem do fluxo de controle de
uma operação, de uma classe, um componente, um caso de uso ou do
sistema como um todo.
• Existem dois diagramas que compões os diagramas de Interação:
Diagrama de Sequência e de Colaboração.
![Page 28: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/28.jpg)
Conceitos Relacionados
• Diagrama de Sequência
• Diagrama de Sequência é uma das ferramentas UML usadas para
representar interações entre objetos de um cenário, realizadas através
de operações ou métodos (procedimentos ou funções);
• Construído a partir do Diagrama de Casos de Usos;
• O diagrama de sequência dá ênfase a ordenação temporal em que as
mensagens são trocadas entre os objetos de um sistema.
![Page 29: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/29.jpg)
Conceitos Relacionados
Figura 4 – Exemplo Diagrama de Sequência
![Page 30: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/30.jpg)
Conceitos Relacionados
• Diagrama de Colaboração
• Dá ênfase à ordenação estrutural em que as mensagens são trocadas
entre os objetos de um sistema.
![Page 31: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/31.jpg)
Conceitos Relacionados
Fonte: OMG - UML Superstructure Specification, v2.0
Disponível em < http://www.omg.org/cgi-bin/doc?formal/05-07-04 >. Acessado em 20 de Set. 2012.
Figura 5 – Exemplo Diagrama de Colaboração
![Page 32: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/32.jpg)
Conceitos Relacionados
• Package Merge
• Um package merge(mesclagem de pacotes) é um relacionamento direto entre dois pacotes, que indica que o conteúdo dos dois estão sendo combinados.
• Semelhante ao mecanismo de Generalização no sentido de que o elemento de origem conceitualmente adiciona as características do elemento de destino para as suas próprias características, resultando em um elemento que combina as características de ambos.
• Este mecanismo deve ser usado quando os elementos definidos em pacotes diferentes tem o mesmo nome e pretendem representar o mesmo conceito.
![Page 33: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/33.jpg)
Conceitos Relacionados
Fonte: OMG - UML Superstructure Specification, v2.0
Disponível em < http://www.omg.org/cgi-bin/doc?formal/05-07-04 >. Acessado em 20 de Set. 2012.
Figura 6 – Exemplo Package Merge
![Page 34: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/34.jpg)
Plano de Atividades
Etapa Período Concluída
1-Cursar Disciplinas 02/2012 – 11/2012
2-Planejar e conduzir revisão sistemática 07/2012 – 09/2012
3-Realizar Exame de Proficiência 06/2012 Ok
4-Desenvolver um exemplo de aplicação e redigir um artigo
09/2012 – 12/2012
5-Elaborar projeto de mestrado 01/2013 – 03/2013
6-Defender projeto de mestrado 04/2013
7-Desenvolver projeto de mestrado 04/2013 – 11/2013
8-Escrita de dissertação e artigos 11/2012 – 12/2013
9-Defender Dissertação 02/2014
![Page 35: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/35.jpg)
Atividades Complementares
• Desenvolvimento do site para abordagem SMarty e trabalhos
relacionados:
Figura 7 - Página Inicial site da Abordagem SMarty
![Page 36: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/36.jpg)
Atividades Complementares
• Avaliação da JML(Java Modeling Language) para uso na dissertação:
• JML é uma linguagem de especificação de interface, de comportamento formal para Java, que contêm as notações essenciais usadas em DBC(Design by contract).
• Design by contract é um método de desenvolvimento de software. A ideia principal por trás do DBC é que a classe e seus clientes possuem um “contrato”. O cliente deve garantir certas condições antes de chamar um método definido pela classe e em troca, a classe garante certas propriedades que irá realizar após a chamada.
• Os contratos são definidos por código de programa, na linguagem de programação em si, e são traduzidos em código executável pelo compilador. Deste modo, qualquer violação do contrato, que ocorra enquanto o programa estiver em execução, pode ser detectada de imediato.
Fonte: The Java Modeling Language (JML)
Disponível em <http://www.eecs.ucf.edu/~leavens/JML/documentation.shtml> . Acessado em 19 de Set. 2012.
![Page 37: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/37.jpg)
Revisão Sistemática
• BIOLCHINI et al.(2005) e KITCHENHAM et al. (2004)
• UMA REVISÃO SISTEMÁTICA SOBRE A UTILIZAÇÃO DE DIAGRAMAS DE INTERAÇÃO, PACKAGE MERGE E OBJECT CONSTRAINT LANGUAGE EM GERENCIAMENTO DE VARIABILIDADE
![Page 38: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/38.jpg)
Revisão Sistemática
• Objetivos da Pesquisa:
• Identificar as abordagens mais estudadas/utilizadas para estender o gerenciamento de variabilidade aos diagramas de interação da UML(Sequência e Colaboração) ;
• Identificar a utilização do conceito de package merge nos meta-modelos da UML e para modelos relacionados à Linha de Produto de Software, no que tange gerenciamento de variabilidade;
• Identificar o uso da Object Constraint Language para validação de meta-modelos em Linha de Produto de Software, mais precisamente em gerenciamento de variabilidade, formalizando-os;
![Page 39: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/39.jpg)
Revisão Sistemática
• Parâmetros de busca:
• Fontes: Base de dados eletrônicas indexadas ACM, Compendex, IEEE, Science Direct e Scopus, máquinas de busca eletrônica(Scirus - Elsevier e Google Scholar), conferências, workshops e consultas a especialistas.
• Idioma dos Trabalhos: Inglês,.
• Tipos de Documentos: artigos de conferências, anais de congressos, artigos de periódicos, livros/capítulos de livros, capítulos de teses e dissertação e relatórios técnicos, preferencialmente em formato PDF, ODT ou DOC/DOCX.
• Ano de Publicação: estudos que foram publicados a partir do ano de 2002;
![Page 40: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/40.jpg)
Revisão Sistemática
• Palavras-chave: “software”, “software product line”, “sequence diagram”, “collaboration diagram”, “package merge” e “object constraint language”.
• String de busca:
“software”
AND
(“product line” OR “product-line" OR "product-family" OR "product family" OR “family
of products" OR “variability”)
AND
(“sequence diagram” OR “collaboration diagram” “interaction diagram” OR OCL OR
“object constraint language” OR “consistency checking” OR “package merge” OR
“package merging”)
![Page 41: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/41.jpg)
Revisão Sistemática
• Processo de Seleção Preliminar
• Consulta, através da string pré-estabelecida, nas máquinas de busca e bases
indexadas;
• Leitura do título e resumo do trabalhos recuperados; e
• Utilização dos critérios de inclusão e exclusão, para seleção dos mais
relevantes.
• Processo de Seleção Final
• Leitura completa dos estudos pré-selecionados;
• Coleta de dados dos trabalhos selecionados, bem como a elaboração de um
resumo contemplando os pontos de destaque dos mesmos.
![Page 42: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/42.jpg)
Revisão Sistemática
IEEE; 32; 3.63%
ACM; 355; 40.25%
Compendex; 30; 3.40%Especialistas; 7; 0.79%
Google Scholar; 100;
11.34%
ScienceDirect; 279;
31.63%
Scirus; 26; 2.95%Scopus; 53; 6.01%
Estudos Obtidos por Fontes (Total: 882 Estudos)
IEEE ACM Compendex Especialistas Google Scholar ScienceDirect Scirus Scopus
![Page 43: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/43.jpg)
Revisão Sistemática
• Números Obtidos:• 882 estudos recuperados(100%);
• 33 estudos selecionados para leitura(3,74%);
• 9 estudos selecionados, porém repetidos.
• 12 trabalhos relevantes(1,36%).
![Page 44: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/44.jpg)
• Trabalhos Relevantes:ID Título Autor(es) Ano Fonte Busca Qualis /
Índice-H
Conferência, Periódico
ou Livro1 A Proposal for Consistency Checking in Dynamic Software
Product Line Models Using OCL
Marinho 2010 ACM A1 ICSE ACM/IEEE International Conference on Software Engineering
2 Details of Formalized Relations in Feature Models Using OCL Streitferdt et al 2003 IEEE B1 ECBS - IEEE International Conference and Workshop on the Engineering of Computer-Based Systems
3 Multiple-View Meta-Modeling of Software Product Lines Gomaa e Shin 2002 IEEE B1 ICECCS - International Conference on Engineering of Complex Computer Systems
4 Seamless Development of Software Product Lines Feature
Models to UML Traceability
Laguna et al 2007 ACM B1 GPCE - International conference on Generative programming and component engineering
5 A Software Product Line Approach for E-Commerce Systems Laguna e Hernández 2010 Compendex B2 ICEBE IEEE International Conference on e-Business Engineering
3 Multiple-view modelling and meta-modelling
of software product lines
Gomaa 2002 Compendex B2 ICECCS - International Conference on Engineering of Complex Computer Systems
9 Software Product Line Testing: a Feature Oriented Approach Lamancha et al 2012 Scopus B2 ICIT - IEEE International Conference on Industrial Technology
6 A Flexible Requirements Analysis Approach for Software
Product Lines
Guelfi e Perrouin 2007 Compendex B3 REFSQ-International working conference on Requirements engineering: foundation for software quality
5 A Verification Mechanism of Feature Models for
Mobile and Context-Aware Software Product Lines
Marinho et al 2011 Compendex C Brazilian Symposium on Software Components, Architectures and Reuse
11 Product Line Derivation with UML Ziadi et al 2003 Google
Scholar
C Software Variability Management Workshop - European Science Foundation - ESB
10 UML Support for Designing Software Product Lines:
The Package Merge Mechanism
Laguna e Marqués 2010 Scopus - Journal of Universal Computer Science, vol. 16, no. 17 (2010) J.UCS
12 Software Product Line Engineering with the UML:
Deriving Products
Ziadi e Jézéquel 2006 Google
Scholar
- Livro - Software Product Lines Springer Verlag (Ed.) (2006)
![Page 45: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/45.jpg)
Revisão Sistemática
• Extração de informações dos trabalhos relevantes:• Título, Autores, Origem, Ano da Publicação, Publicação, Classificação
no Qualis, Fonte, Quantidade de Páginas, Palavras-chave e Visão geral
do trabalho.
![Page 46: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/46.jpg)
Dificuldades Encontradas
• Muitos estudos, porém poucos relacionados
aos temas buscados – e ainda, mesmo alguns
dos selecionados são mesclados com outros
conceitos irrelevantes para a proposta.
![Page 47: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/47.jpg)
Conclusões Parciais
• Raros resultados da aplicação dos diagramas de
Colaboração da UML, bem como o mecanismo de
Package Merge;
• Poucos artigos abordam a aplicação de formalismo
com OCL aos modelos da UML no gerenciamento de
variabilidade;
![Page 48: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/48.jpg)
Conclusões Parciais
• Desta forma há a necessidade de aprofundamento e
aplicação destes modelos e mecanismos, bem como
a aplicação do formalismo proposto pela OCL nos
modelos UML utilizados pela abordagem SMarty, e
finalmente a sua comparação com outras propostas
existentes.
![Page 49: Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Modelos UML com Object Constraint Language](https://reader031.fdocument.pub/reader031/viewer/2022020207/558bebfdd8b42ad0158b46cf/html5/thumbnails/49.jpg)
Perguntas?
PROPOSTA DE UMA ABORDAGEM FORMAL PARA O GERENCIAMENTO DE VARIABILIDADES EM MODELOS UML COM OBJECT CONSTRAINT
LANGUAGE
Anderson da Silva Marcolino – [email protected]