88
ALEXANDRE HANCZURUK BORBA UMA REVISÃO SISTEMÁTICA: CARACTERÍSTICAS DA UTILIZAÇÃO DA UML NA ARQUITETURA ORIENTADA POR MODELOS LONDRINA - PR 2019

ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

ALEXANDRE HANCZURUK BORBA

UMA REVISÃO SISTEMÁTICA: CARACTERÍSTICAS DA

UTILIZAÇÃO DA UML NA ARQUITETURA ORIENTADA POR

MODELOS

LONDRINA - PR

2019

Page 2: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 3: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

ALEXANDRE HANCZURUK BORBA

UMA REVISÃO SISTEMÁTICA: CARACTERÍSTICAS DA

UTILIZAÇÃO DA UML NA ARQUITETURA ORIENTADA POR

MODELOS

Trabalho de Conclusão de Curso apresentado

ao Curso de Bacharelado em Ciência da

Computação do Departamento de Computação

da Universidade Estadual de Londrina, como

requisito parcial para a obtenção do título de

Bacharel em Ciência da Computação.

Orientadora: Prof. Dra. Jandira Guenka Palma.

LONDRINA - PR

2019

Page 4: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 5: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

ALEXANDRE HANCZURUK BORBA

UMA REVISÃO SISTEMÁTICA: CARACTERÍSTICAS DA

UTILIZAÇÃO DA UML NA ARQUITETURA ORIENTADA POR

MODELOS

Trabalho de Conclusão de Curso apresentado ao

Curso de Bacharelado em Ciência da

Computação do Departamento de Computação da

Universidade Estadual de Londrina, como

requisito parcial para a obtenção do título de

Bacharel em Ciência da Computação.

BANCA EXAMINADORA

____________________________________

Profa. Dra. Jandira Guenka Palma

Universidade Estadual de Londrina

____________________________________

Prof. Dr. Fabio Sakuray

Universidade Estadual de Londrina

____________________________________

Prof. Dr. Gilberto Fernandes Junior

Universidade Estadual de Londrina

Londrina, PR, 29 de novembro de 2019.

Page 6: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 7: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Este trabalho é dedicado ao nosso Deus Criador,

Salvador e Mantenedor.

Page 8: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 9: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

AGRADECIMENTOS

Agradeço primeiramente a Deus, por sua imensa misericórdia e amor para

comigo, aos meus pais e familiares, pela educação, amor e carinho, aos meus irmãos pela

compreensão da distância e ausência. Também gostaria de agradecer à Professora. Jandira

pelo apoio e compreensão, por acreditar e me incentivar. Aos meus amigos Evandro, Lucas,

João e Rafaella, por terem sido companheiros e motivo de grande alegria durante a minha

formação acadêmica.

Page 10: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 11: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

“Tu me guias com teu conselho e me conduzes

a um destino glorioso. Quem mais eu tenho no

céu senão a ti? Eu te desejo mais que a

qualquer coisa na terra. Minha saúde pode

acabar e meu espírito fraquejar, mas Deus

continua sendo a força de meu coração; ele é

minha possessão para sempre.”(Bíblia

Sagrada, Salmos 73:24-26).

Page 12: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 13: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Borba, A. H. Uma revisão sistemática: características da utilização de UML na Arquitetura

Dirigida por Modelo. Trabalho de Conclusão de Curso (Bacharelado em Ciência da

Computação) – Universidade Estadual de Londrina, Londrina-PR, 2019.

RESUMO

O Desenvolvimento Orientado por Modelos (Model Driven Development – MDD) tem o

objetivo de facilitar a expressão de ideias em modelos até atingir o código fonte. Por ser um

meta-metamodelo o MDD permite ser aplicado de diferentes formas. As instâncias criadas de

MDD normalmente adotam uma linguagem de modelagem própria, onde muitas delas

empregam modelos UML (Unified Modeling Language). Por este motivo este trabalho busca

entender de que forma a UML facilita o desenvolvimento a partir de modelos. Como o MDD

é um conceito abstrato e não possui um formalismo para a escrita de modelos, este trabalho

optou por estudar a aplicação da UML na Arquitetura Orientada por Modelos (Model Driven

Architecture - MDA). Assim sendo, as instâncias de MDA publicadas por autores são

passiveis de estudo. Esta pesquisa tem por objetivo realizar uma revisão sistemática da

literatura, segundo Kitchenham[14], para determinar as principais características presentes na

utilização de modelagem UML na MDA. Para atingir este objetivo, inicialmente, foi realizada

uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes

artigos foram aplicadas regras de inclusão e exclusão além de critérios de qualidade,

resultando em dez (10) artigos para a extração de dados. Destes artigos, foi realizada uma

revisão sistemática, identificando do conteúdo as principais características da utilização de

UML na MDA.

Palavras-chave: UML, Unified Modeling Language, Model Driven Architecture, UML

profile, systematic review.

Page 14: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 15: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

BORBA, A.H. A Systematic Review: Characteristics of Using UML in Model-Driven

Architecture. Course Conclusion Paper (Bachelor of Computer Science) - Londrina State

University, Londrina-PR, 2019.

ABSTRACT

Model Driven Development (MDD) aims to facilitate the expression of ideas in models until

they reach the source code. Being a meta-model, MDD allows to be applied in different ways.

Instances created by MDD, often adopt their own modeling language, where many of them

employ Unified Modeling Language (UML) models. For this reason, this paper seeks to

understand how a UML facilitates the development based on models. Since MDD is an

abstract concept and does not have a formalism for model writing, this work chose to study an

application of UML in Model Driven Architecture (MDA). Therefore, instances of MDA

recorded by authors are passive of study. This research aims to perform a systematic literature

review, according to Kitchenham [14], to determine the main features present in the use of

UML models in MDA. To achieve this goal, a search was performed in the Scopus database,

obtaining one hundred and four (104) articles. From these articles, inclusion and exclusion

rules were applied, in addition to the use of quality criteria, resulting in ten (10) articles for

data extraction. From these articles, a systematic review was performed, identifying from the

content the main features of UML usage in MDA.

Keywords: UML, Unified Modeling Language, Model Driven Architecture, UML

profile, systematic review.

Page 16: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 17: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

LISTA DE ILUSTRAÇÕES

Figura 1 - Exemplo de Diagrama de Casos de Uso................................................ 31

Figura 2 - Exemplo de Diagrama de Classes.......................................................... 32

Figura 3 - Exemplo de Diagrama de Objetos......................................................... 33

Figura 4 - Exemplo de Diagrama de Pacotes.......................................................... 34

Figura 5 - Exemplo de Diagrama de Sequência..................................................... 34

Figura 6 - Exemplo de Diagrama de Comunicação................................................ 35

Figura 7- Exemplo de Diagrama de Máquina de Estados..................................... 36

Figura 8 - Exemplo de Diagrama de Atividade...................................................... 37

Figura 9 - Exemplo de Diagrama de Visão Geral de Interação.............................. 38

Figura 10 - Exemplo de Diagrama de Componentes................................................ 39

Figura 11 - Exemplo de Diagrama de Implantação.................................................. 40

Figura 12 - Exemplo de Diagrama de Estrutura Composta...................................... 41

Figura 13 - Exemplo de Diagrama de Tempo........................................................... 41

Figura 14 - Exemplo de Diagrama da UML V.2.0 - Síntese Geral dos Diagramas. 42

Figura 15 - Exemplo de Diagrama de Perfil............................................................. 43

Figura 16 - Principais elementos do MDD............................................................... 45

Figura 17 - Transformação de modelo MDA........................................................... 49

Page 18: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 19: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

LISTA DE TABELAS

Tabela 1 - Extração de dados........................................................................................ 55

Tabela 2 - Relação de autores, títulos de trabalhos e ano de publicação...................... 56

Tabela 3 - Relação de autores segundo a utilização de diagramas estruturais por

camada.........................................................................................................

57

Tabela 4 - Relação de autores segundo a utilização de diagramas comportamentais

por camada...................................................................................................

58

Tabela 5 - Relação de autores segundo a linguagem de transformação de modelos

utilizadas......................................................................................................

59

Tabela 6 - Relação de autores segundo o framework utilizadas................................... 60

Tabela 7 - Relação de autores segundo a linguagem de modelagem utilizada............. 61

Page 20: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 21: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

LISTA DE ABREVIATURAS E SIGLAS

ATL ATLAS Transformation Language

BPEL4WS Business Process Execution Language for Web Services

BPMN Business Process Management Notation

BPML Business Process Modeling language

CASE Computer-Aided Software Engineering

CIM Computational Independent Model

DSL Domain Specific Language

EMF Eclipse Modeling Framework

FXU Framework for eXecutable UML

KM3 Kernel Meta Meta Mode

MDA Model Driven Architecture

MDD Model Driven Development

MOF Meta Object Facility

MTL Model Transformation Language

M2M Model to Model transformation

M2T Model to Text Transformation

OCL Object Constraint Language

OMG Object Management Group

OMT Object Modeling Technique

OOSE Object-Oriented Software Engineering

OTAN Organização do Tratado do Atlântico Norte

OWL Otto-Williams Ltd.

PBAEF Profile Based Accessible E-learning Formalism

PIM Platform Independent Model

PSM Platform Specific Model

QVT Query View Transform

RDF Resource Description Framework

RDQL Resource description Query Language

RT-UML Real Time UML

SDSEB Sequence Diagram System External Behaviour

SDSID Sequence Diagram System Inernal Behaviour

Page 22: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

SysML Systems Modeling Language

UML Unified Modeling Language

UMLSEC UML profile for Security

XMI XML Metadata Interchange

XML Extensible Markup Language

Page 23: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

SUMÁRIO

1 INTRODUÇÃO .......................................................................................................... 25

2 FUNDAMENTAÇÃO TEÓRICA ............................................................................. 27

2.1 Engenharia de Software .......................................................................................... 27

2.2 Unified Modeling Language (UML) ...................................................................... 28

2.2.1 Diagramas da UML .......................................................................................................... 30

2.3 Model Driven Development (MDD) ...................................................................... 44

2.4 Model Driven Architecture – MDA ....................................................................... 45

2.4.1 Computational Independent Model (CIM)........................................................................ 47

2.4.2 Platform Independent Model (PIM).................................................................................. 47

2.4.3 Platform Specific Model (PSM) ........................................................................................ 47

2.5 Transformações do MDA ....................................................................................... 48

3 REVISÃO SISTEMÁTICA ....................................................................................... 51

3.1 Planejamento .......................................................................................................... 51

3.1.1 Motivação da pesquisa...................................................................................................... 52

3.1.2 Protocolo da pesquisa ....................................................................................................... 52

3.2 Conduzindo a Pesquisa........................................................................................... 53

3.2.1 Critérios de seleção........................................................................................................... 53

3.2.2 Avaliação de qualidade ..................................................................................................... 54

3.2.3 Extração de dados ............................................................................................................. 55

3.3 Relatando a revisão ................................................................................................ 56

3.3.1 Diagramas estruturais ....................................................................................................... 57

3.3.2 Diagramas comportamentais ............................................................................................ 58

3.3.3 Linguagem de transformação de modelos......................................................................... 59

3.3.4 Framework ....................................................................................................................... 60

3.3.5 Linguagem de modelagem ................................................................................................ 61

4 RESULTADOS ........................................................................................................... 63

5 CONCLUSÃO ............................................................................................................. 65

REFERÊNCIAS ..................................................................................................................... 67

APÊNDICE A – AVALIAÇÃO DE QUALIDADE DE ESTUDOS PRIMÁRIOS .......... 75

APÊNDICE B – RELAÇÃO DE ARTIGOS SELECIONADOS NA BASE DE DADOS

SCOPUS ................................................................................................................................... 79

Page 24: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 25: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

25

1 INTRODUÇÃO

“Quando um software é bem-sucedido — atende às

necessidades dos usuários, opera perfeitamente durante

um longo período, é fácil de modificar e, mais fácil

ainda, de utilizar —, ele é realmente capaz de mudar as

coisas para melhor” Roger S. Pressman [13].

Executar um projeto a partir de um modelo é uma prática da área de

engenharia, os mais variados segmentos do mercado desenvolvem produtos que são

construídos a partir dos modelos que definem suas especificações. Grande parte das empresas

de software também desenvolvem projetos se baseando em modelos, porém estes modelos

geralmente acabam sendo utilizados apenas como documentação do código fonte. Durante o

desenvolvimento de um software, o sistema está sujeito a modificações, principalmente nas

etapas iniciais do projeto. Por causa destas modificações, a documentação também necessita

ser atualizada, caso contrário, ela se tornará inconsistente. Este constante processo de

atualização da documentação pode se tornar uma tarefa complexa e exaustiva podendo

ocasionar a descontinuação desta documentação.

Os modelos na área de engenharia de software adotam principalmente [1] a

Linguagem de Modelagem Unificada (UML). A UML foi criada pelo Object Management

Group (OMG) com objetivo de melhorar a comunicação entre desenvolvedores na análise,

design e a implementação de sistemas, bem como modelagem de negócios e processos

similares [7].

O Desenvolvimento Orientado por Modelos (MDD) é uma metodologia de

desenvolvimento de software e tem como objetivo facilitar sua compreensão através de

modelos com alta capacidade de abstração [1]. No MDD modelos não são apenas uma forma

de documentação, mas equivalentes ao código fonte, pois podem ser convertidos de forma

automatizada através de regras bem definidas e/ou ferramentas [1]. Por ser um metamodelo, o

MDD possibilita a existência de diferentes instancias de suas especificações, uma delas é

Arquitetura Dirigida por Modelos (MDA) que foi proposta pela OMG.

A modelagem da MDA utiliza como requisito a utilização do padrão MOF –

Meta Object Facility, que foi criado pela OMG no intuito de ser um meta-metamodelo para

Page 26: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

linguagens de modelagem. Desta forma, diversas linguagens de modelagem podem ser

utilizadas no MDA, entretanto sua linguagem de modelagem padrão do MDA é a UML.

Este estudo busca responder a pergunta “Quais são as principais

caracteristicas da utilização da UML na MDA?” para responder a pergunta será realizada uma

revisão sistemática da literatura.

O estudo está dividido em sessões, na introdução é feita uma breve

contextualização e definição do tema pesquisado, bem como são expostos os procedimentos

adotados. O capitulo 2 traz conceitos e autores concernentes a questão de pesquisa, no

capitulo 3 será descrita a metodologia utilizada na revisão sistemática de literatura, o capítulo

4 apresenta os resultados obtidos e finalmente, o último capítulo trata das considerações

finais.

Page 27: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

27

2 FUNDAMENTAÇÃO TEÓRICA

“Todos queremos construir softwares que facilitem o

trabalho, evitando pontos negativos latentes nas

tentativas mal-sucedidas. Para termos êxito, precisamos

de disciplina no projeto e na construção do software.

Precisamos de uma abordagem de engenharia”

Roger S. Pressman [13].

Neste item são apresentados elementos que permitem consubstanciar o

entendimento necessário para dar suporte ao presente estudo, destacam-se os conceitos de

engenharia de software; Unified Modeling Language (UML), ou seja, em português,

Linguagem de Modelagem Unificada; Model Driven Development (MDD), que em português

significa Desenvolvimento Orientado a Modelos; Model Driven Architecture (MDA), que em

português é Arquitetura Orientada por Modelos.

2.1 Engenharia de Software

Para Sommerville, “A engenharia de software tem início

em 1969 [...] O nome ‘engenharia de software’ foi

proposto em 1969, na conferência da OTAN, para a

discussão de problemas relacionados com

desenvolvimento de software — grandes softwares

atrasavam, não entregavam a funcionalidade de que os

usuários necessitavam, custavam mais do que o

esperado e não eram confiáveis” [5].

Friedrich Bauer [19] foi um dos pioneiros da engenharia de software e ela

definiu como sendo, “criação e a utilização de sólidos princípios de engenharia a fim de obter

software de maneira econômica, que seja confiável e que trabalhe em máquinas reais".

A sociedade atual é dependente de tecnologia da informação, desta forma,

os programas computacionais (software) continuam a ser a tecnologia mais importante em

todo o mundo. Em inúmeras áreas tal tecnologia é indispensável, como exemplo, os negócios,

as ciências e engenharias. Os programas computacionais viabilizam a criação de novas

tecnologias (por exemplo, engenharia genética e nanotecnologia), a extensão de tecnologias

Page 28: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

existentes (por exemplo, telecomunicações) e a mudança radical nas tecnologias mais antigas

(por exemplo, indústria gráfica) [13].

Há 50 anos nem o mais otimista jamais imaginaria tal dependência da

sociedade sobre os programas computacionais como ocorre atualmente. Tal dependência

ocorre em todas as áreas, como na área de: transportes, medicina, telecomunicações, militar,

industrial, entretenimento, máquinas de escritório etc.

A sociedade transformou-se com a era da internet, envolvendo as

tecnologias conexas, que envolvem desde navegadores, até os equipamentos portáteis,

incluindo os “smartphones”, a “internet das coisas” que integrará equipamentos eletrônicos

convencionais, sensores, dispositivos de automação etc.

Tal situação exige e exigirá que os programas de computador sejam criados,

mantidos, corrigidos, adaptados e ampliados à medida que o tempo passe. Tais atividades

exigem a cada dia mais e mais pessoas e recursos, com ênfase na necessidade de manutenção

onde o esforço exigido é muito superior ao aplicado na criação de um novo programa

computacional.

Sendo assim, o grande desafio está em como fazer com que o modelo de

desenvolvimento e manutenção de sistemas seja aperfeiçoado, tornando mais rápido e mais

barato desenvolver e manter programas de computador de alta qualidade?

A resposta a tal desafio está pautada no aperfeiçoamento dos processos e a

inserção de novas práticas no campo da engenharia de software.

“A engenharia de software é, portanto, uma tecnologia de importância

crítica para o futuro da humanidade” [5].

2.2 Unified Modeling Language (UML)

O Unified Modeling Language (UML) é uma linguagem de modelagem que

foi desenvolvida pela Object Management Group que define seu objetivo sendo “prover aos

arquitetos de sistemas, engenheiros de software e desenvolvedores ferramentas de analise,

design e implementação de sistemas baseados em software bem como a modelagem de

negócios e processos similares” [17].

A UML é uma linguagem-padrão para a elaboração da estrutura de projetos

de software. Ela poderá ser empregada para a visualização, a especificação, a construção e a

documentação de artefatos que façam uso de sistemas complexos de software.

Page 29: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

29

Com o propósito de unificar, melhorar e ampliar a linguagem, visualizar,

especificar, construir e documentar os artefatos de um sistema de software, a união de

empresas atuantes na área de modelagem e desenvolvimento de software contribuiu no

projeto.

O primeiro grande resultado desse esforço foi a criação da Unified Modeling

Language (UML), apresentada, na sua versão 1.0, em 1997. A UML é o resultado da união de

três formatos de modelagem: o método de Booch; o método OMT (Object Modeling

Technique) de Jacobson e o método OOSE (Object-Oriented Software Engineering) de

Rumbaugh [3].

Atualmente, a UML é muito empregada como linguagem padrão para a

representação de dados, e intercâmbio entre ferramentas CASE (Computer-Aided Software

Engineering), que são softwares que apoiam a execução de uma ou mais atividades realizadas

durante o processo de engenharia de software [3].

A UML apresenta um vocabulário (os elementos visuais e seus

significados), que segundo Pressman [1], “permite o entendimento e a especificação de um

sistema e a fácil explicação de um projeto de sistema para outros interessados”.

As principais vantagens da UML são:

a não dependência de ferramentas de modelagem;

a não dependência de processos ou metodologias de

desenvolvimento;

a não dependência do domínio da aplicação;

apresentação de grupos significativos de diagramas e técnicas;

possibilidades de extensões da sintaxe e da semântica [1].

Quanto ao uso de diagramas na UML, o objetivo é fornecer múltiplas visões

do sistema a ser modelado, analisando-o e modelando-o sob diversos aspectos, procurando-se,

assim, atingir a plenitude da modelagem, permitindo que cada diagrama complemente os

outros [16].

Page 30: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1 Diagramas da UML

Os diversos diagramas fornecidos pela UML permitem analisar o sistema

sob a ótica de diferentes níveis, podendo enfocar a organização estrutural do sistema, o

comportamento de um processo específico, a definição de um determinado algoritmo ou até

mesmo as necessidades físicas para a implantação do sistema [16].

Cada diagrama da UML analisa o sistema, ou parte

dele, sob uma determinada perspectiva. É como se o

sistema fosse modelado em camadas, sendo que alguns

diagramas enfocam o sistema de forma mais geral,

apresentando uma visão externa do sistema, como é o

objetivo do Diagrama de Casos de Uso, enquanto outros

oferecem uma visão de uma camada mais profunda do

software, apresentando um enfoque mais técnico ou

ainda visualizando apenas uma característica específica

do sistema ou um determinado processo. A utilização de

diversos diagramas permite que falhas sejam

descobertas, diminuindo a possibilidade da ocorrência

de erros futuros [16].

A seguir conforme exemplificado por Guedes [16] serão descritos cada um

dos diagramas oferecidos pela UML versão 2.0, destacando suas principais características.

Page 31: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

31

2.2.1.1 Diagrama de Casos de Uso

O diagrama de casos de uso é o diagrama mais geral e informal da UML,

utilizado normalmente nas fases iniciais, de levantamento e análise de requisitos do sistema,

possui utilidade em todo o processo de modelagem e pode servir de base para outros

diagramas. Identifica os atores (usuários, outros sistemas ou até mesmo algum hardware

especial) que utilizarão de alguma forma o software, bem como os serviços, ou seja, as

funcionalidades que o sistema disponibilizará aos atores, conhecidas nesse diagrama como

casos de uso. Veja na Figura 1 um exemplo desse diagrama [16].

Figura 1 – Exemplo de Diagrama de Casos de Uso [16]

Page 32: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1.2 Diagrama de Classes

O diagrama de classes é provavelmente o mais utilizado e, é um dos mais

importantes da UML. Define a estrutura das classes utilizadas pelo sistema, determinando os

atributos e métodos que cada classe tem, além de estabelecer como as classes se relacionam e

trocam informações entre si. Apoia a maioria dos demais diagramas. A Figura 2 apresenta um

exemplo desse diagrama [16].

Figura 2 – Exemplo de Diagrama de Classes [16].

Page 33: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

33

2.2.1.3 Diagrama de Objetos

O diagrama de objetos está amplamente associado ao diagrama de classes, é

praticamente um complemento do diagrama de classes e bastante dependente deste. O

diagrama fornece uma visão dos valores armazenados pelos objetos de um diagrama de

classes em um determinado momento da execução de um processo do software. A Figura 3

apresenta um exemplo de diagrama de objetos [16].

Figura 3 – Exemplo de Diagrama de Objetos [16].

2.2.1.4 Diagrama de Pacotes

O diagrama de pacotes é um diagrama estrutural que tem por objetivo

representar os subsistemas ou submódulos englobados por um sistema de forma a determinar

as partes que o compõem. Pode ser utilizado de maneira independente ou associado com

outros diagramas. Esse diagrama pode ser utilizado também para auxiliar a demonstrar a

arquitetura de uma linguagem, como ocorre com a própria UML ou ainda para definir as

camadas de um software ou de um processo de desenvolvimento. A Figura 4 apresenta um

exemplo do mesmo [16].

Page 34: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Figura 4 – Exemplo de Diagrama de Pacotes [16].

2.2.1.5 Diagrama de Sequência

O diagrama de sequência é um diagrama comportamental que se preocupa

com a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um

determinado processo. Em geral, baseia-se em um caso de uso definido pelo diagrama de

mesmo nome e apoia-se no diagrama de classes para determinar os objetos das classes

envolvidas em um processo. Um diagrama de sequência costuma identificar o evento gerador

do processo modelado, bem como o ator responsável por esse evento, e determina como o

processo deve se desenrolar e ser concluído por meio da chamada de métodos disparados por

mensagens enviadas entre os objetos. A Figura 5 apresenta um exemplo desse diagrama [16].

Figura 5 – Exemplo de Diagrama de Sequência [16].

Page 35: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

35

2.2.1.6 Diagrama de Comunicação

O diagrama de comunicação era conhecido como de colaboração até a

versão 1.5 da UML, tendo seu nome modificado para diagrama de comunicação a partir da

versão 2.0. Está amplamente associado ao diagrama de sequência: na verdade, um

complementa o outro. As informações mostradas no diagrama de comunicação com

frequência são praticamente as mesmas apresentadas no de sequência, porém com um enfoque

distinto, visto que esse diagrama não se preocupa com a temporalidade do processo,

concentrando-se em como os elementos do diagrama estão vinculados e quais mensagens

trocam entre si durante o processo. A Figura 6 apresenta um exemplo de diagrama de

comunicação [16].

Figura 6 – Exemplo de Diagrama de Comunicação [16].

Page 36: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1.7 Diagrama de Máquina de Estados

O diagrama de máquina de estados demonstra o comportamento de um

elemento por meio de um conjunto finito de transições de estado, ou seja, uma máquina de

estados. Além de poder ser utilizado para expressar o comportamento de uma parte do

sistema, quando é chamado de máquina de estado comportamental, também pode ser usado

para expressar o protocolo de uso de parte de um sistema, quando identifica uma máquina de

estado de protocolo.

Como o diagrama de sequência, o de máquina de estados pode basear-se em

um caso de uso, mas também pode ser utilizado para acompanhar os estados de outros

elementos, como, por exemplo, uma instância de uma classe. A Figura 7 apresenta um

exemplo de diagrama de máquina de estados [16].

Figura 7 – Exemplo de Diagrama de Máquina de Estados [16].

Page 37: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

37

2.2.1.8 Diagrama de Atividade

O diagrama de atividade era considerado um caso especial do antigo

diagrama de gráfico de estados, hoje conhecido como diagrama de máquina de estados,

conforme descrito na seção anterior. A partir da UML 2.0, foi considerado independente do

diagrama de máquina de estados. O diagrama de atividade preocupa-se em descrever os

passos a serem percorridos para a conclusão de uma atividade específica, podendo esta ser

representada por um método com certo grau de complexidade, um algoritmo, ou mesmo por

um processo completo. O diagrama de atividade concentra-se na representação do fluxo de

controle de uma atividade. A Figura 8 apresenta um exemplo desse diagrama [16].

Figura 8 – Exemplo de Diagrama de Atividade [16].

Page 38: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1.9 Diagrama de Visão Geral de Interação

O diagrama de visão geral de interação é uma variação do diagrama de

atividade que fornece uma visão geral dentro de um sistema ou processo de negócio. Esse

diagrama passou a existir apenas a partir da UML 2. A Figura 9 apresenta um exemplo do

diagrama em questão [16].

Figura 9 – Exemplo de Diagrama de Visão Geral de Interação [16].

Page 39: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

39

2.2.1.10 Diagrama de Componentes

O diagrama de componentes está amplamente associado à linguagem de

programação que será utilizada para desenvolver o sistema modelado. Esse diagrama

representa os componentes do sistema quando o mesmo for ser implementado em termos de

módulos de código-fonte, bibliotecas, formulários, arquivos de ajuda, módulos executáveis

etc. e determina como tais componentes estarão estruturados e irão interagir para que o

sistema funcione de maneira adequada. A Figura 10 apresenta um exemplo desse diagrama

[16].

Figura 10 – Exemplo de Diagrama de Componentes [16].

Page 40: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1.11 Diagrama de Implantação

O diagrama de implantação determina as necessidades de hardware do

sistema, as características físicas como servidores, estações, topologias e protocolos de

comunicação, ou seja, todo o aparato físico sobre o qual o sistema deverá ser executado. Esse

diagrama permite demonstrar também como se dará a distribuição dos módulos do sistema,

em situações em que estes forem ser executados em mais de um servidor. A Figura 11

apresenta um exemplo desse diagrama [16].

Figura 11 – Exemplo de Diagrama de Implantação [16].

Page 41: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

41

2.2.1.12 Diagrama de Estrutura Composta

O diagrama de estrutura composta descreve a estrutura interna de um

classificador, como uma classe ou componente, detalhando as partes internas que o compõem,

como estas se comunicam e colaboram entre si. Também é utilizado para descrever uma

colaboração em que um conjunto de instâncias cooperam entre si para realizar uma tarefa. A

Figura 12 mostra um exemplo de diagrama de estrutura composta.

Figura 12 – Exemplo de Diagrama de Estrutura Composta [16].

2.2.1.13 Diagrama de Tempo ou de Temporização

O diagrama de tempo descreve a mudança no estado ou condição de uma

instância de uma classe ou seu papel durante um período. Tipicamente utilizado para

demonstrar a mudança no estado de um objeto no tempo em resposta a eventos externos. A

Figura 13 apresenta um exemplo desse diagrama [16].

Figura 13 – Exemplo de Diagrama de Tempo [16].

Page 42: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.2.1.14 Diagrama da UML V.2.0 - Síntese Geral dos Diagramas

Os diagramas da UML dividem-se em diagramas estruturais e diagramas

comportamentais, sendo que os últimos contêm ainda uma subdivisão representada pelos

diagramas de interação, conforme pode ser verificado na Figura 14.

Figura 14 – Diagrama da UML V.2.0 - Síntese Geral dos Diagramas [16].

Como pudemos observar, os diagramas estruturais abrangem os diagramas

de classes, de estrutura composta, de objetos, de componentes, de implantação e de pacotes,

enquanto os comportamentais englobam os de casos de uso, atividade, máquina de estados,

sequência, comunicação, visão geral de interação e tempo, sendo que os últimos quatro

correspondem aos diagramas da subdivisão de diagramas de interação.

2.2.1.15 Diagrama de Perfil (Profile Diagram)1

Destaca-se que, além dos diagramas proposto por Guedes [16], transcritos

acima, há que se incluir o diagrama de perfil, que estavam presentes na UML 1.x., entretanto,

os diagramas de perfil foram introduzidos na UML 2.0, mas apareceram pela primeira vez na

taxonomia "oficial" dos diagramas UML na UML 2.2 [superestrutura UML 2.2] e neste caso,

Guedes adotou a relação da UML 2.0, não aparecendo na taxonomia “oficial” daquela versão,

mas, pela sua importância, não se pode desconsiderá-la.

1 Nota de Revisão: Os perfis estavam presentes na UML 1.x. Os diagramas de perfil foram

introduzidos na UML 2.0, mas apareceram pela primeira vez na taxonomia "oficial" dos diagramas UML na

UML 2.2 ([superestrutura UML 2.2].

Page 43: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

43

O diagrama de perfil, representado na Figura 15, é um diagrama de estrutura

que descreve o mecanismo de extensão leve para a UML, definindo estereótipos

personalizados, valores marcados e restrições. Sua utilização é mais focada em processos,

como exemplo: área médica; sistemas embarcados; serviços orientados a modelos; e,

segurança de processos de negócio (Secure Business Process), dentre outros.

O perfil permite apenas a adaptação ou customização de um metamodelo

existente com construções específicas para um domínio, plataforma ou método específico.

As personalizações de metamodelos são definidas em um perfil, que é

aplicado a um pacote. Estereótipos são metaclasses específicas, valores marcados são

metaatributos padrão e perfis são tipos específicos de pacotes.

Os perfis podem ser aplicados dinamicamente ou retirados de um modelo.

Eles também podem ser combinados dinamicamente para que vários perfis sejam aplicados ao

mesmo tempo no mesmo modelo.

Figura 15 – Exemplo de Diagrama de Perfil [16]2.

2 Disponível em https://www.uml-diagrams.org/profile-diagrams.html Acesso em 10

nov.19.

Page 44: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

2.3 Model Driven Development (MDD)

O MDD, ou em português, Desenvolvimento Orientado a Modelos, é um

paradigma de desenvolvimento de software que foi desenvolvido com objetivo de simplificar

a complexidade do desenvolvimento de sistemas [7a,18a].

A principal meta do MDD é subdirecionar o foco no desenvolvimento de

modelos em detrimento do código fonte [11], simplificando e padronizando as tarefas que

compõe o ciclo de vida do software. Seus modelos possuem uma alta capacidade de

abstração, onde o foco é a representação de processos e requisitos e não especificações

técnicas de ferramentas de implementação [9].

Assim, podemos observar algumas vantagens na utilização do MDD [1,4].

Produtividade, a automação presente no MDD permite um aumento

na produtividade, pois, um modelo formal tem expressividade

suficiente para gerar uma grande quantidade de código fonte.

Qualidade, transformações automáticas e linguagens de modelagem

bem definidas permitem que um software de maior qualidade seja

obtido.

Manutenção, os aspectos da implementação podem ser alterados em

um único lugar, por exemplo, as regras de transformação. Isto

também ocorre para corrigir bugs do código gerado.

Reuso, a partir do momento em que a arquitetura, linguagens de

modelagem e transformação são bem definidas. Um maior nível de

reuso pode ser atingido.

Portabilidade, a utilização de modelos independentes de plataforma

permite que o mesmo modelo seja convertido em código fonte para

diferentes linguagens.

Page 45: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

45

A Figura 16 mostra os principais elementos necessários para a abordagem

MDD e como se relacionam.

Figura 16 – Principais elementos do MDD [15].

Destaca-se que, para viabilizar a criação de modelos, é necessário uma

ferramenta de modelagem, utilizando tal ferramenta, um engenheiro de software produz

modelos que descrevem os conceitos do domínio.

2.4 Model Driven Architecture – MDA

Model Driven Architecture (MDA), ou, segundo Sommerville (2011, p.112)

“Arquitetura Orientada por Modelos” (KLEPPE et al., 2003; MELLOR et al., 2004;. STAHL

e VOELTER, 2006) “é uma abordagem para projeto e implementação de software centrada

em modelos, que usa um subconjunto de modelos da UML para descrever um sistema”.

Tem por propósito criar modelos em diferentes níveis de abstração e que,

em alto nível, possa gerar um programa sem intervenção manual.

A metodologia MDA recomenda a produção de três tipos de modelos

abstratos de sistema:

Page 46: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

1. Um modelo de computação independente (CIM, do inglês Computation

Independent Model), que modela as importantes abstrações do domínio usado no sistema, em

algumas vezes são chamados de “modelos de domínio”3.

2. Um modelo independente de plataforma (PIM, do inglês platform

independent model), que modela a operação do sistema sem referência a sua implementação4.

3. Modelos específicos de plataforma (PSM, do inglês platform specific

models) são as transformações do modelo independente de plataforma com um PSM separado

para cada plataforma de aplicação5.

A UML é a linguagem de modelagem padrão para o MDA, mas não a única,

já que a MDA permite o uso de outras linguagens de modelagem [12].

Na área de Engenharia de Software, muitas iniciativas, como metodologias,

plataformas e tecnologias, surgiram com o intuito de auxiliar os desenvolvedores de softwares

e gerenciar esse crescimento de complexidade. Essas iniciativas no início dos anos 2000

resultaram numa nova abordagem de desenvolvimento de software centrada na utilização de

modelos e metamodelos [12]. Um exemplo é a definição apresentada pelo grupo de

gerenciamento de objetos (Object Management Group - OMG) chamada arquitetura orientada

por modelos (Model Driven Archtecture – MDA) [21].

Por ser um metamodelo o MDD pode ter diferentes instâncias, o Model

Development Architecture (MDA). A MDA foi estabelecido em 2001 pelo Object

Management Group - OMG [3]. O principal objetivo da MDA é utilizar uma modelagem que

ajude com a complexidade e interdependência de sistemas complexos e derivar valores destes

modelos. Modelos de MDA podem ser usados para especificações do sistema, gerar de

documentação, especificação de aquisição, artefatos de tecnologia ("código fonte") e sistemas

executáveis.

3 Você pode desenvolver vários CIMs diferentes, refletindo diferentes visões do sistema.

Por exemplo, pode-se ter um CIM de proteção, em que se identificam importantes abstrações de proteção, tais

como CIM de um ativo, um papel e um registro de paciente, no qual se descrevem abstrações tais como

pacientes, consultas etc.

4 O PIM geralmente é descrito por meio de modelos da UML que mostram a estrutura

estática do sistema e como ele responde a eventos externos e internos.

5 Em princípio, pode haver camadas de PSM, com cada uma acrescentando alguns detalhes

específicos. Assim, o PSM de primeiro nível pode ser um middleware específico, mas independente do banco de

dados. Quando um banco de dados específico for escolhido, um PMS específico de dados pode ser gerado.

Page 47: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

47

2.4.1 Computational Independent Model (CIM)

Descreve as funcionalidades e comportamento do sistema através de casos

de uso, diagramas de atividade e atores que interagem com o mesmo. Deve ser independente

do ponto de vista computacional, de alto nível de abstração e não representar requisitos do

sistema [20].

Computational Independent Model (CIM) é um modelo abstrato, muito

utilizado na modelagem de negócios, pois, contem um vocabulário que permite especificar

processos de negócios, stakeholders, departamentos e dependências entre processos. O CIM

não necessariamente representa os detalhes do software, e sim os requisitos do sistema, caso

seja necessário representar estes detalhes, então será necessário um modelo para eles [2],

podendo ser visto como uma referência dos requisitos do cliente, as vezes chamado de modelo

de domínio.

Modelo de domínio é uma representação visual de classes conceituais ou

objetos do mundo real em um domínio de interesse. Usando a notação UML, o modelo de

domínio é ilustrado com um conjunto de diagramas de classes nos quais não são definidas

operações. Ele deve mostrar:

– Objetos do domínio ou classes conceituais.

– Associações entre classes conceituais.

– Atributos de classes conceituais [57].

2.4.2 Platform Independent Model (PIM)

Modelos independente de plataforma (PIM) refletem requisitos do sistema

sem utilizar conceitos específicos de plataforma [15], geralmente são feitos utilizando UML.

Uma das grandes vantagens da utilização do PIM é a independência da representação dos

modelos utilizados com o resultado gerado em código fonte, pois este código fonte é gerado

através de sucessivas transformações de modelo que visam atingir a plataforma final da

implementação.

2.4.3 Platform Specific Model (PSM)

Platform Specific Model é o modelo que apresenta as características

específicas da plataforma utilizada, ou seja, combina o ponto de vista independente de

Page 48: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

plataforma com os detalhes necessários para especificar como um sistema, sendo o mais

utilizado para realizar a conversão em código fonte [10].

Possui um nível de abstração mais baixo, o PSM tem por objetivo

especificar o que foi descrito a partir do PIM com detalhes de plataforma de implementação e

sobre como o sistema utiliza essa plataforma [8].

2.5 Transformações do MDA

Sendall e Kozaczynski [6] definem que um dos principais desafios ao longo

da utilização da MDA é a transformação de modelos com um grande nível de abstração para

modelos mais técnicos utilizados para geração de código fonte. Estas transformações de

modelos podem ocorrer em diferentes etapas da MDA.

Transformação entre modelos, os modelos podem ser transformados

diversas vezes, gerando novos modelos cada vez mais específicos de acordo com a plataforma

utilizada. São transformações intermediarias, pois não resultam diretamente em código fonte,

necessitando que os modelos gerados sejam transformados em código fonte, é possível

executar transformações, as quais podem ser compreendidas como um conjunto de técnicas e

regras aplicadas em um modelo, de maneira que resulte o modelo desejado [3].

Transformação entre modelos e código fonte, é a transformação que ocorre

entre modelos e código fonte, podendo ser realizada tanto para modelos específicos de um

framework quanto para modelos independentes de plataforma [3].

PIM para PIM: Transformações de PIM para PIM são para as mudanças

pretendidas no modelo ou até mesmo simplificação, sem a necessidade de se preocupar com a

plataforma.

PIM para PSM: Transformação padrão prevista pelo MDA, a qual o PSM

combina as especificações do modelo PIM, com detalhes que especificam como um sistema

usa um determinado tipo de plataforma.

PSM para PSM: Esta transformação permite a migração de modelos para

plataformas diferentes, sendo que pode ser utilizada também para evolução dos modelos.

PSM para código: Transformação automática normalmente executada por

uma ferramenta específica.

Page 49: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

49

A Figura 17. apresenta as transformações de modelo presentes no MDA.

Figura 17 – Transformações de modelo MDA.

Page 50: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 51: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

51

3 REVISÃO SISTEMÁTICA

Em 2015 Moher et al [18] definiram uma revisão sistemática sendo “revisão

de uma pergunta formulada de forma clara, utilizando métodos sistemáticos e explícitos para

identificar, selecionar e avaliar criticamente pesquisas relevantes, e coletar e analisar dados

desses estudos que são incluídos na revisão”. As principais razões identificadas por

Kitchenham [14] para se realizar uma revisão sistemática são:

Resumir as evidências existentes sobre uma tecnologia.

Identificar lacunas na área de pesquisa atual, com a intenção de

sugerir pesquisas para investigação futura.

Fornecer estrutura necessária para novas atividades de pesquisa.

O processo de revisão sistemática desenvolvido neste trabalho é baseado nas

diretrizes fornecidas por Kitchenham [14] e está dividido na seguinte estrutura:

Planejamento.

Condução da pesquisa.

Relato da pesquisa.

3.1 Planejamento

A etapa de planejamento é responsável pela elaboração e análise de um

protocolo de pesquisa. Este protocolo é um elemento central de uma revisão sistemática, ele

especifica os métodos a serem utilizados durante as fases da revisão. Após ser definido, deve

então ser analisado pelo orientador da pesquisa, com o objetivo de limitar o viés e as

preferências pessoais do pesquisador que elaborou o protocolo, garantindo assim uma

neutralidade do resultado da pesquisa. As principais atividades realizadas durante a fase de

planejamento foram:

Identificação da necessidade de uma revisão.

Elaboração das questões de pesquisa.

Criação de um do protocolo.

Page 52: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

3.1.1 Motivação da pesquisa

A OMG especifica a UML como linguagem padrão de modelagem do

MDA, entretanto, a UML é um metamodelo, podendo ser aplicado de diferentes maneiras.

Este trabalho tem como objetivo esclarecer aspectos concernentes à utilização da modelagem

UML no MDA, para isso são propostas as seguintes perguntas:

Quais os diagramas UML utilizados em cada etapa da MDA?

Quais são os principais diagramas comportamentais?

Quais são os principais diagramas estruturais?

De que forma os diagramas vem sendo utilizados?

3.1.2 Protocolo da pesquisa

O protocolo criado para esta revisão sistemática está estruturado nas

seguintes etapas:

1. Busca na base de dados.

2. Seleção de artigos relevantes a partir da leitura dos abstracts.

3. Análise de qualidade a partir de leitura completa dos artigos.

4. Extração de dados.

Inicialmente foram consideradas três bases de dados distintas para a busca

inicial, sendo elas:

Association for Computing Machinery – ACM6.

IEEEXplore Digital Library7.

Scopus8.

Ao serem realizadas as pesquisas iniciais foi constatado a redundância da

grande parte dos artigos das bases ACM e IEEEXplore nos resultados obtidos na base Scopus,

desta forma para realizar a revisão foi considerada apenas a base de dados Scopus

(ELSEVIER).

6 Disponível em <https://libraries.acm.org/> Acesso em 01 set 19.

7 Disponível em <https://ieeexplore.ieee.org/Xplore/home.jsp> Acesso em 01 set 19.

8 Disponível em <https://www.elsevier.com/pt-br/solutions/scopus> Acesso em 01 set 19.

Page 53: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

53

3.2 Conduzindo a Pesquisa

Durante a primeira etapa a base de dados foi consultada utilizando a string

de busca “TITLE-ABS-KEY ( "application" AND ( "model driven architecture" OR

"MDA" OR "model-driven architecture" ) ) AND TITLE ( "UML" OR "UML profile"

OR "Unified Modeling language" ) AND ( EXCLUDE ( DOCTYPE , "ch" ) OR

EXCLUDE ( DOCTYPE , "cr" ) OR EXCLUDE ( DOCTYPE , "bk" ) ) AND ( LIMIT-

TO ( LANGUAGE , "English" ) ) ". Desta forma, foram encontrados cento e quatro (104)

trabalhos, publicados entre 2002 e 2019. A lista de artigos resultantes desta busca se encontra

no Apêndice B.

3.2.1 Critérios de seleção

Durante a segunda etapa foi realizada a leitura dos cento e quatro (104)

trabalhos abstracts, com o objetivo de selecionar os trabalhos que são relevantes para

determinar o uso da UML.

Foram mantido selecionados, os trabalhos que apresentam uma aplicação

prática dos modelos UML na MDA e, também os trabalhos que realizam estudos sobre a

utilização dos diagramas UML na MDA.

Por outro lado, foram retirados da seleção os trabalhos que apresentaram ao

menos uma das seguintes características:

Ênfase na migração entre modelos UML para outras metalinguagens.

Ênfase nas características específicas do processo de transformação

de modelos.

Propõe diretrizes na utilização da MDA em um contexto geral.

Não especifica a utilização dos modelos UML no contexto de MDA.

Propõe frameworks para realizar a conversão de modelos.

Foco principal definir critérios de qualidade para validação de

código fonte.

Fornecer diretrizes na estruturação da UML.

Utilizaram a UML apenas como exemplo para outra aplicação.

Por fim, após a aplicação destes critérios de manutenção e retirada da

seleção inicial, foram eliminados da seleção sessenta e cinco (65) trabalhos.

Page 54: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Na terceira etapa os trinta e nove (39) trabalhos resultantes foram

submetidos a uma leitura completa com a finalidade de identificar os trabalhos que mais se

adequavam à proposta da pesquisa, para isto, foi realizada uma avaliação de qualidade

descrita a seguir.

3.2.2 Avaliação de qualidade

Foram elaborados oito (8) critérios com o propósito de realizar uma

avaliação de qualidade nos trabalhos com o objetivo de determinar sua relevância em relação

ao tema da pesquisa. Desta forma cada trabalho foi avaliado em uma escala binária, os

critérios utilizados estão expostos a seguir, a aplicação desta avaliação de qualidade está

descrita no Apêndice A:

1. Relata a utilização de diagramas em ao menos uma das camadas:

CIM, PIM ou PSM.

2. Relata a utilização de diagrama estrutural.

3. Relata a utilização de diagrama comportamental.

4. Relata a geração de código fonte.

5. Apresenta utilização ou proposta de um diagrama de UML profile.

6. Apresenta a linguagem de conversão utilizada nas conversões entre

modelos.

7. Apresenta a linguagem de conversão utilizada para gerar o código

fonte.

8. Apresenta plataforma utilizada na modelagem e geração de código.

9. Trabalhos que corresponderam em mais de cinquenta por cento

(50%) destes critérios foram selecionados para realizar a

comparação.

Page 55: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

55

3.2.3 Extração de dados

Após ser realizada a leitura extensa dos trabalhos na etapa 3, foram

definidos os dados a serem extraídos dos estudos com o objetivo de fornecer informações

relevantes ao tema. A descrição dos itens extraídos pode ser encontrada na Tabela 1.

Tabela 1 – Extração de dados.

Item Justificativa

Diagramas estruturais Diagramas estruturais utilizados pelo estudo

Diagramas comportamentais Diagramas comportamentais utilizados pelo estudo

Diagramas utilizados no CIM Identificar principais diagramas utilizados no CIM

Diagramas utilizados no PIM Identificar principais diagramas utilizados no PIM

Diagramas utilizados no PSM Identificar principais diagramas utilizados no PSM

Linguagem de conversão para código Identificar linguagens de conversão utilizadas

Linguagens de modelagem Identificar linguagens auxiliares do estudo

Framework Especificar framework utilizada para

modelagem/geração de código fonte

Linguagens de conversão entre modelos. Especificar linguagens de conversão entre modelos

Ano Ano da publicação

Tipos de conversão Verificar a automação do processo

Page 56: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

3.3 Relatando a revisão

Na Tabela 2, estão relacionados os estudos primários considerados nesta

revisão.

Tabela 2: Relação de autores, títulos de trabalhos e ano de publicação.

Autor Titulo Ano

Lasbahani A., Chhiba M.,

Tabyaoui A.

UML profile for security and code generation 2018

Essebaa I., Chantit S. Tool support to automate transformations

from SBVR to UML use case diagram

2018

Omari M.E., Erramdani

M., Filali S.

Getting model of MVVM pattern from UML

Models

2017

Esbai R., Erramdani M. Model-to-model transformation in approach

by modeling: From UML model to Model-

View-Presenter and Dependency Injection

patterns

2016

Rahmouni M., Mbarki S. Combining UML class and activity diagrams

for MDA Generation of MVC 2 web

applications

2

2013

Derezińska A.,

Szczykulski M.

Towards C# application development using

UML state machines: A case study

2

2013

Ngo V.H., Soriano T. A model transformation process to realize

controllers of ship autopilot Systems by the

specialized MDA's features with UML/SysML

2012

Rodríguez A., Fernández-

Medina E., Trujillo J.,

Piattini M.

Secure business process model specification

through a UML 2.0 activity diagram profile

2

2011

Laabidi M., Jemni M. PBAE: New UML profile based formalism to

model accessibility in E-learning systems

2009

Hlaoui Y.B., BenAyed

L.J.

Toward an UML-based composition of

Gridservices workflows

2008

Page 57: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

57

3.3.1 Diagramas estruturais

Diagramas estruturais foram utilizados tanto para realizar a especificação

estática dos requerimentos dos modelos mas também para prover informações relevantes a

estrutura do sistema. Também foi constatado que estes diagramas estão relacionados aos

modelos mais específicos. A lista dos diagramas estruturais encontrados é apresentada na

Tabela 3.

Tabela 3 – Relação de autores segundo a utilização de diagramas estruturais por camada.

Autor CIM PIM PSM

Lasbahani A., Chhiba

M., Tabyaoui A.

Diagrama de perfil

Diagrama de classes

Essebaa I., Chantit S. Diagrama de classes

Diagrama de

componentes

Omari M.E., Erramdani

M., Filali S.

Diagrama de classes

Esbai R., Erramdani M. Diagrama de classes Diagrama de classes

Rahmouni M., Mbarki

S.

Diagrama de classes Diagrama de classes Diagrama de classes

Ngo V.H., Soriano T. Diagrama de perfil

Rodríguez A.,

Fernández-Medina E.,

Trujillo J., Piattini M.

Diagrama de pacotes

Hlaoui Y.B., BenAyed

L.J.

Diagrama de perfil

Laabidi M., Jemni M. Diagrama de Perfil

Diagrama de classes

Apenas Rahmouni M., Mbarki S. utilizaram diagramas estruturais na etapa

do CIM, já na etapa do PSM 4 autores utilizaram ao menos um diagrama estrutural, por fim

na etapa do PSM 6 autores apresentaram o uso de diagramas estruturais. O diagrama de

classes foi o mais empregado, sendo utilizado 9 vezes pelos autores. Entretanto, outros

autores como Hlaoui Y.B., BenAyed L.J., Rodríguez A., Fernández-Medina E., Trujillo J.,

Page 58: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Piattini M.,e Ngo V.H., Soriano T. apresentam diagramas de perfil, mas não indicam a

camada de sua aplicação, deixando em aberto a possibilidade da aplicação de acordo com a

necessidade do modelo aplicado. É importante ressaltar que os diagramas de perfil utilizados

nestes trabalhos foram propostas realizadas pelos próprios autores.

3.3.2 Diagramas comportamentais

Diagramas comportamentais são utilizados para especificar os aspectos

dinâmicos do sistema, usados para visualizar, especificar, construir e documentar aspectos

dinâmicos de um sistema, na Tabela 4 é apresentada a utilização dos diagramas pelos autores.

Tabela 4 - Relação de autores segundo a utilização de diagramas comportamentais por

camada.

Autor CIM PIM PSM

Lasbahani A.,

Chhiba M.,

Tabyaoui A.

Diagrama de sequência

estendido (SDSEB)

Diagrama de caso de

uso

Diagrama de

sequência estendido

(SDSEB)

Diagrama de

sequência

Essebaa I., Chantit

S.

Diagrama de caso de uso

Diagrama de sequência

Diagrama de atividades

Diagrama de caso de

uso estendido

(SBVR)

Diagrama de

sequência

Omari M.E.,

Erramdani M., Filali

S..

Diagrama de atividades Diagrama de

atividades

Rahmouni M.,

Mbarki S.

Diagrama de atividades Diagrama de

atividades

Diagrama de

atividades

Ngo V.H., Soriano

T.

Diagrama de caso de uso

Rodríguez A.,

Fernández-Medina

E., Trujillo J.,

Piattini M.

Diagrama de caso de uso Diagrama de caso de

uso

Diagrama de

estados

Laabidi M., Jemni

M.

Diagrama de caso de uso

Page 59: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

59

Hlaoui Y.B.,

BenAyed L.J.

Diagrama de

atividades

Em comparação aos diagramas estruturais, o uso dos diagramas de

comportamento foi bem mais constante, 4 autores apresentam o uso nas três camadas, Ngo

V.H., Soriano T. em duas camadas, Hlaoui Y.B., BenAyed L.J. e Laabidi M., Jemni M.

apresentam em uma camada. Além disto, é possível identificar que a utilização destes

diagramas não fica restringida a camadas de maior abstração como o CIM e PIM, 4 autores

trazem a utilização destes diagramas nos modelos PSM. Outro detalhe é a variedade do uso

dos diagramas, o diagrama de caso de uso foi o mais utilizado, sendo utilizado 6 vezes,

seguido pelo diagrama de sequência, utilizado 5 vezes. Os autores Derezińska A., Szczykulski

M. e Ngo V.H., Soriano T. utilizaram diagramas de estado, porém não especificaram o

modelo de sua utilização.

3.3.3 Linguagem de transformação de modelos

Demonstrado na Tabela 5, dos dez autores que formam este estudo, nove

autores apresentaram transformação dos modelos de forma automatizada, entre eles seis

autores apresentaram transformação para código fonte.

Tabela 5 – Relação de autores segundo a linguagem de transformação de modelos utilizadas.

Autor Linguagem

transformação de

modelos

Transformação

para código

Tipo de

transformação

Lasbahani A., Chhiba

M., Tabyaoui A.

ATL/QVT

M2M, M2T

Essebaa I., Chantit S. QVT M2M

Omari M.E., Erramdani

M., Filali S.

QVT QVT-Operational M2M

M2T

Esbai R., Erramdani M. QVT QVT (XML) M2M

M2T

Rahmouni M., Mbarki

S.

ATL Acelleo M2M

M2T

Derezińska A.,

Szczykulski M.

FXU

(a Framework for

eXecutable UML)

M2T

Ngo V.H., Soriano T. M2M

M2T

Rodríguez A., QVT QVT M2M

Page 60: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Fernández-Medina E.,

Trujillo J., Piattini M.

Laabidi M., Jemni M. RDF

QVT

QVT M2M

A principal linguagem utilizada para transformação de modelos foi o QVT

(Query View Transform), que é a linguagem padrão utilizada pelo MDA. Além disto, foi

descrita a utilização de outras três linguagens, sendo elas o ATL, MTL, QVT

A transformação de modelos para código fonte foi predominantemente

utilizada através do QVT, dois autores apresentaram a utilização dos mecanismos de

frameworks para geração de código fonte.

3.3.4 Framework

Em relação à Tabela 6, apenas dois autores não apresentaram a utilização de

uma framework para modelagem/geração de código. Apenas Laabidi M., Jemni M. utilizou

framework que somente realizava a modelagem.

Tabela 6 - Relação de autores segundo as framework utilizadas.

Autor Framework

Lasbahani A., Chhiba M., Tabyaoui A. Framework autoral

Essebaa I., Chantit S. eclipse papyrus

+ Vetis plugin

+ autoral plugin

Omari M.E., Erramdani M., Filali S. Não apresentou

Esbai R., Erramdani M. EMF

Rahmouni M., Mbarki S. EMF

Acelleo

Derezińska A., Szczykulski M. FXU

IBM Rationale

Eclipse

Ngo V.H., Soriano T. IBM Rational Rose

Real Time &

Architect Real Time

Rodríguez A., Fernández-Medina E., Trujillo J., Piattini

M.

Não apresentou

Laabidi M., Jemni M. ArgoUML(modelagem)

Hlaoui Y.B., BenAyed L.J. BPEL4WS (Execution engine)

Já Lasbahani A., Chhiba M., Tabyaoui A. foi o único a apresentar uma

framework para geração de código autoral.

Page 61: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

61

Constata se que não existe uma unanimidade nas plataformas utilizadas,

existindo ainda espaço para o estudo.

3.3.5 Linguagem de modelagem

A Tabela 7, apresenta os oito dos autores que relataram o uso de outras

linguagens de modelagem além da UML padrão.

Tabela 7 - Relação de autores segundo a linguagem de modelagem utilizada.

Autor Linguagem de modelagem

Lasbahani A., Chhiba M., Tabyaoui A. OCL

SDSEB

SDSIB,

UML security profile

Essebaa I., Chantit S. BPMN

QVT

SBVR (Semantic Business Vocabulary and

Business Rules)

Omari M.E., Erramdani M., Filali S. XMI (target)

Rahmouni M., Mbarki S. XMI

OCL

KM3

Ngo V.H., Soriano T. RT-UML

SysML

Rodríguez A., Fernández-Medina E., Trujillo

J., Piattini M.

UMLsec

BPMN

BPSec

Laabidi M., Jemni M. PBAEF

OCL

RDF

Hlaoui Y.B., BenAyed L.J. OWL

RDQL

Page 62: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 63: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

63

4 RESULTADOS

Neste trabalho foram analisados cento e quatro (104) estudos da literatura,

com o objetivo de circunstanciar as características da utilização da UML na MDA. A partir da

aplicação de critérios de inclusão e exclusão foram eliminados sessenta e cinco (65) trabalhos.

Em sequência foi realizada a avaliação de qualidade destes estudos, resultando em dez (10)

artigos que foram submetidos a uma revisão sistemática.

Os resultados deste estudo identificam que, apenas metade dos trabalhos

apresentaram geração automatizada de código fonte, demonstrando que, grande parte dos

trabalhos realizam a conversão para código fonte de maneira manual. Quanto aos diagramas

estruturais, foram utilizados com um menor nível de abstração, estando presentes nas camadas

PIM e PSM. A utilização conjunta entre diagramas estruturais e comportamentais foi

identificada como uma tendência, pois, oitenta por cento (80%) dos estudos apresentavam

modelos com ambos tipos de diagramas. Além disto, também foi constatado que o principal

diagrama comportamental utilizado é o diagrama de caso de uso, enquanto o diagrama de

perfil foi o principal diagrama estrutural. A utilização de diagramas de perfil é uma tendência

na modelagem com UML, pois, permite agregar características específicas de um determinado

negócio para outros modelos a partir de conversões automatizadas.

Quanto às limitações, esta revisão sistemática da literatura foi realizada a

partir das diretrizes dadas por Kitchenham [14]. Os critérios de inclusão e exclusão foram

aplicados de forma completa e a extração de dados realizada sistematicamente, entretanto, por

ser um procedimento manual, necessitando de uma grande carga de trabalho e tempo

consumido, está sujeito a erros. As atividades implementadas neste trabalho foram revisadas

com a intenção de minimizar erros presentes no resultado.

Page 64: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 65: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

65

5 CONCLUSÃO

Neste trabalho é apresentada a revisão sistemática de dez (10) estudos da

literatura que apresentavam contribuições para o entendimento das circunstancias em que a

UML é utilizado na MDA. No total foram analisados cento e quatro (104) estudos da

literatura, escritos em inglês entre os anos 2002-2019.

Resultados deste estudo indicam que a UML vem sendo utilizada por meio

da combinação entre diagramas estruturais e comportamentais, para especificação das

camadas PIM e PSM. Também foi possível identificar a utilização predominante de

diagramas comportamentais para especificação dos modelos CIM. Este estudo sugere que,

uma das principais características da utilização da UML na modelagem MDA pode ser

identificada pela utilização de UML profiles, facilitando a utilização de modelos específicos

para determinados processos. Este estudo também sugere que, ainda não existe uma

plataforma de geração de código unânime na modelagem UML, sendo mais comum a

especialização desta tarefa a partir de plugins, muitas vezes sendo implementados pelos

próprios autores.

Este estudo buscou contribuir na compreensão da utilização da UML na

MDA. Estudos futuros devem analisar trabalhos publicados pelo grupo de pesquisa para

comparar as características presentes nestes trabalhos com os resultados obtidos na revisão

sistemática, tal análise pode ajudar a determinar a relevância dos trabalhos do grupo.

Page 66: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 67: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

67

REFERÊNCIAS

[1] VÖLTER, M. et al. Model-driven software development: technology, engineering,

management. [S.l.]: John Wiley & Sons, 2013.

[2] LEITE, V; Uma instância de uma arquitetura orientada a modelo e suas implicações

na implantação dos processos do MPS.BR, 2017.

[3] MDA Foundation Model, OMG document ormsc, 2001.

[4] KLEPPE, A. G.; WARMER, J. B.; BAST, W – MDA explained: the model driven

architecture: practice and promise. [S.l.]: Addison-Wesley Professional, 2003.

[5] SOMMERVILLE, Ian. Engenharia de Software. 9ª. ed. — São Paulo: Pearson Prentice

Hall, 2011.

[6] SENDALL, S.; KOZACZYNSKI, W; Model Transformation – the Heart and Soul of

Model-Driven Software Development.

[7] OMG. Unified Modeling Language Specification (version 2.1),OMG 2009

[8] QUEIROZ, Paulo G. Gadelha. Desenvolvimento Baseado em Modelos e Teste de

Software. Disponível em: <moodle.stoa.usp.br/mod/resource/view.php?id=14492> Acesso

em 10 nov.19.

[9] HAILPERN, B.; TARR, P. Model-driven development: The good, the bad, and the ugly.

IBM Syst. J., IBM Corp., Riverton, NJ, USA, v. 45, n. 3, p. 451–461, jul. 2006.

[10] POOLE, J. The Common Warehouse Metamodel as a Foundation for Active Object

Models in the Data Warehouse Environment. OMG, 2000.

[11] SELIC, B. The pragmatics of model-driven development. IEEE software, IEEE, n. 5,

p. 19–25, 2003.

[12] ZAMBIASI, M. Novastudio: Geração de testes a partir de uma modelagem UML. 2010.

[13] PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional. 7ª. ed.

Porto Alegre: AMGH, 2011.

[14] KITCHENHAM, B. Guidelines for performing systematic literature reviews in

software engineering, Technical Report. Department of Computer Science, University of

Durham, Durham, 2007.

[15] LUCRÉDIO, Daniel. Uma abordagem Orientada a Modelos para Reutilização de

Software. 2009. 287 f. Tese (Doutorado) - Curso de Ciências de Computação e Matemática

Computacional, Departamento de Instituto de Ciências Matemáticas e de Computação -

ICMC-USP, Universidade de São Paulo, São Carlos, 2009.

Page 68: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

[16] GUEDES, Gilleanes T. A. UML 2: uma abordagem prática. 2ª. ed. São Paulo: Novatec

Editora, 2011.

[17] OMG, Object Management Group. OMG Unified Modeling Language (OMG UML),

Infrastructure, Version 2.3 formal/2010-05-03 (2010). Disponível em

<https://www.omg.org/spec/UML/2.3/Infrastructure/PDF> Acesso em 10 set.19.

[18] MOHER D; LIBERATI A; TETZLAFF J.; ALTMAN DG. Preferred Reporting Items

for Systematic Reviews and Meta-Analyses. The PRISMA Statement, 2009.

[19] Software Engineering, ed. P. Naur and B. Randell. Nato Science Committee, 1969.

[20] J, S.; COCHOFF, S. C.; COCHOFF, S. MDA Distilled: Principles of Model-Driven

Architecture. 2006. 1–16 p.

[21] HAMMER, M.; CHAMPY, J. Reengineering the Corporation: A Manifesto for

Business Revolution. HarperBusiness, 1994.

[22] - Samea F., et al., A UML profile for multi-cloud service configuration (UMLPMSC) in

event-driven serverless applications ACM International Conference Proceeding Series,

2019, pg 431-435.

[23] - Lasbahani A., Chhiba M., Tabyaoui A., A uml profile for security and code generation

International Journal of Electrical and Computer Engineering, 2018, pg 5278-5291.

[24] - Deeba F., Kun S., Shaikh M., Dharejo F.A., Hayat S., Suwansrikham P. Data

transformation of UML diagram by using model driven architecture. 2018 3rd IEEE

International Conference on Cloud Computing and Big Data Analysis, ICCCBDA 2018,

2018, pg 300-303.

[25] - Betari O., Filali S., Azzaoui A., Boubnad M.A. Applying a model driven architecture

approach: Transforming CIM to PIM using UML. International Journal of Online

Engineering, 2018, pg 170-181.

[26] - Essebaa I., Chantit S., Tool support to automate transformations from SBVR to UML

use case diagram. ENASE 2018 - Proceedings of the 13th International Conference on

Evaluation of Novel Approaches to Software Engineering, 2018, pg 525-532.

[27] - Betari O., et al. Model transformations in the MOF meta-modeling architecture:

From UML to CodeIgniter PHP framework Advances in Intelligent Systems and Computing,

2017, pg 227-234.

[28] - Omari M.E., Erramdani M., Filali S., Getting model of MVVM pattern from UML

Models Proceedings of the International Conference on Industrial Engineering and

Operations Management, 2017, pg 1240-1249.

Page 69: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

69

[29] - Pathak N., Sharma G., Singh B.M., Towards designing of SPF based secure web

application using UML 2.0 International Journal of Systems Assurance Engineering and

Management, 2017, pg 208-218.

[30] - Esbai R., Erramdani M., Model-to-model transformation in approach by modeling:

From UML model to Model-View-Presenter and Dependency Injection patterns Proceedings

of the 2015. 5th World Congress on Information and Communication Technologies, WICT

2015, 2016, pg 1-6.

[31] - Benouda H., Azizi M., Moussaoui M., Transformations from UML to android using

MOF 2.0 QVT. Lecture Notes in Electrical Engineering, 2016, pg 619-624.

[32] - Rahmouni M., Mbarki S., Combining UML class and activity diagrams for MDA

generation of MVC 2 web applications. International Review on Computers and Software,

2013, pg 949-957.

[33] - Derezińska A., Szczykulski M., Towards C# application development using UML

state machines: A case study. Lecture Notes in Electrical Engineering, 2013, pg 793-803.

[34] - Gavrilescu M., et al., Towards UML software models for Cyber Physical System

applications. 2012 20th Telecommunications Forum, TELFOR 2012 - Proceedings, 2012, pg

1701-1704.

[35] - Ngo V.H., Soriano T., A model transformation process to realize controllers of ship

autopilot systems by the specialized MDA's features with UML/SysML. 2012 9th France-

Japan and 7th Europe-Asia Congress on Mechatronics, MECATRONICS 2012 / 13th

International Workshop on Research and Education in Mechatronics, REM 2012, 2012, pg

20-26.

[36] - Belghiat A., Bourahla M., From UML class diagrams to OWL ontologies: A graph

transformation based Approach. CEUR Workshop Proceedings, 2012, pg 330-335.

[37] - Sabraoui A., et al., An MDA-based approach for WS composition using UML.

scenarios Proceedings of the 9th International Conference on Information Technology, ITNG

2012, 2012, pg 306-313.

[38] - Saleem M.Q., Jaafar J., Hassan M.F., Secure business process modelling of SOA

applications using "UML-SOA-Sec". International Journal of Innovative Computing,

Information and Control, 2012, pg 2729-2746.

[39] - Nikiforova O., Pavlova N., Open work of two-hemisphere model transformation

definition into UML class diagram in the context of MDA. Lecture Notes in Computer

Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in

Bioinformatics), 2011, pg 118-130.

Page 70: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

[40] - Rodríguez A.,et al., Secure business process model specification through a UML 2.0

activity diagram profile Decision Support Systems, 2011, pg 446-465.

[41] - Perišić B., et al., UML profile for specifying user interfaces of business applications

Computer Science and Information Systems, 2011, pg 405-426.

[42] - Magureanu G., et al., Towards UML modeling of cyber-physical systems: A case study

for gas distribution SIISY. 2010 - 8th IEEE International Symposium on Intelligent Systems

and Informatics, 2010, pg 471-476.

[43] - Rudahl K.T., Goldin S.E., Perverse UML for generating web applications using

YAMDAT. IEEE Region 10 Annual International Conference, Proceedings/TENCON, 2010,

pg 1071-1076.

[44] - Walderhaug S., Stav E., Mikalsen M., Experiences from Model-Driven development of

homecare services: UML profiles and domain models. Lecture Notes in Computer Science

(including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in

Bioinformatics), 2009, pg 199-212.

[45] - Hlaoui Y.B., Benayed L.J., Extended UML activity diagram for composing Grid

services workflows Proceedings. 2008 - 3rd International Conference on Risks and Security

of Internet and Systems, CRiSIS 2008, 2008, pg 207-212.

[46] - Schreiner D., Göschka K.M., Modeling component based embedded systems

applications with explicit connectors in UML 2.0. Proceedings of the ACM Symposium on

Applied Computing, 2007, pg 1494-1495.

[47] - Mueller W., Vanderperren Y., UML and model-driven development for SoC design

CODES+ISSS. 2006 - Proceedings of the 4th International Conference on Hardware

Software Codesign and System Synthesis 2006.

[48] - Schattkowsky T., Lohmann M., UML model mappings for platform independent user

interface design. Lecture Notes in Computer Science (including subseries Lecture Notes in

Artificial Intelligence and Lecture Notes in Bioinformatics), 2006, pg 201-209.

[49] - Fink T., Koch M., Pauls K., An MDA approach to access control specifications using

MOF and UML profiles. Electronic Notes in Theoretical Computer Science, 2006, pg 161-

179.

[50] - Luján-Mora S., Trujillo J., Song I.-Y., A UML profile for multidimensional modeling

in data warehouses Data and Knowledge Engineering, 2006, pg 725-769.

[51] - Basin D., Doser J., Lodderstedt T., Model driven security: From UML models to access

control infrastructures ACM Transactions on Software Engineering and Methodology, 2006,

pg 39-91.

Page 71: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

71

[52] - Chauvel F., Jézéquel J.-M., Code generation from UML models with semantic

variation points. Lecture Notes in Computer Science (including subseries Lecture Notes in

Artificial Intelligence and Lecture Notes in Bioinformatics), 2005, pg 54-68.

[53] - Schattkowsky T., Lohmann M.,Towards employing UML model mappings for

platform independent user interface design. CEUR Workshop Proceedings 2005.

[54] - Thomas D., MDA: Revenge of the modelers or UML Utopia? IEEE Software, 2004, pg

15-17.

[55] - Silaghi R., Fondement F., Strohmeier A., Towards an MDA-oriented UML profile for

distribution Proceedings. IEEE International Enterprise Distributed Object Computing

Workshop, EDOC, 2004, pg 227-239.

[56] - Bendraou R., Bouzitouna S., Gervais M.-P., From MDA platform-specific model to

code generation: Coupling of RM-ODP and UML action semantics standards Proceedings of

the International Conference on Software Engineering Research and Practice, SERP'04,

2004, pg 407-413.

[57]Larman, C. (2002) Applying UML and Patterns – An Introduction to Object Oriented

Analysis and Design and the Unified Process, Prentice-Hall Inc.

Page 72: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 73: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

73

Apêndices

Page 74: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 75: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

75

APÊNDICE A – AVALIAÇÃO DE QUALIDADE DE ESTUDOS PRIMÁRIOS

Authors Title

CIM

, P

IM

, P

SM

Dia

gram

a E

str

utu

ral

Dia

gram

a

Co

mp

orta

men

tal

Geração

de C

ód

igo

fon

te

Ap

resen

ta u

m U

ML

Pro

file

lin

gu

ag

em

de C

on

ver-

são

en

tre M

od

elo

s

Lín

gu

ag

em

de c

on

ver-

são

dig

o f

on

te

Pla

ta-f

orm

a u

tili

zad

a

na m

od

ela

gem

e/o

u

Geração

de c

ód

igo

Valo

r

Samea F., Azam F.,

Anwar M.W., Khan M.,

Rashid M.

A UML profile for multi-cloud service

configuration (UMLPMSC) in event-driven

serverless applications

0 1 0 0 1 0 0 0 0,25

Lasbahani A., Chhiba M.,

Tabyaoui A.

A uml profile for security and code generation 1 1 1 1 1 1 1 1 1

Deeba F., Kun S., Shaikh

M., Dharejo F.A., Hayat S., Suwansrikham P.

Data transformation of UML diagram by using

model driven architecture

0 1 0 1 0 0 0 0 0,25

Betari O., Filali S., Azzaoui A., Boubnad

M.A.

Applying a model driven architecture approach: Transforming CIM to PIM using UML

1 1 1 0 0 1 0 0 0,5

Essebaa I., Chantit S. Tool support to automate transformations from

SBVR to UML use case diagram

1 1 1 0 0 1 0 1 0,625

Betari O., Erramdani M.,

Roubi S., Arrhioui K.,

Mbarki S.

Model transformations in the MOF meta-

modeling architecture: From UML to CodeIgniter

PHP framework

1 1 0 0 0 1 0 1 0,5

Omari M.E., Erramdani

M., Filali S.

Getting model of MVVM pattern from UML

Models

1 1 1 1 0 1 1 0 0,75

Page 76: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

Pathak N., Sharma G.,

Singh B.M.

Towards designing of SPF based secure web

application using UML 2.0

0 1 1 0 0 0 0 0 0,25

Esbai R., Erramdani M. Model-to-model transformation in approach by

modeling: From UML model to Model-View-

Presenter and Dependency Injection patterns

1 1 0 1 0 1 1 0 0,625

Benouda H., Azizi M.,

Moussaoui M.

Transformations from UML to android using

MOF 2.0 QVT

0 1 0 0 0 1 0 0 0,25

Rahmouni M., Mbarki S. Combining UML class and activity diagrams for

MDA generation of MVC 2 web applications

1 1 1 1 0 1 1 1 0,875

Derezińska A.,

Szczykulski M.

Towards C# application development using UML

state machines: A case study

0 1 1 1 1 0 1 1 0,75

Gavrilescu M.,

Magureanu G., Pescaru

D., Jian I.

Towards UML software models for Cyber

Physical System applications

1 1 0 0 1 0 0 0 0,375

Ngo V.H., Soriano T. A model transformation process to realize

controllers of ship autopilot systems by the

specialized MDA's features with UML/SysML

1 0 1 0 1 1 0 1 0,625

Saleem M.Q., Jaafar J.,

Fadzil Hassan M.

Security modelling along business process

model of SOA systems using modified "UML-SOA-Sec"

0 1 1 0 1 0 0 0 0,375

Sabraoui A., Ennouaary A., Khriss I., El Koutbi M.

An MDA-based approach for WS composition using UML scenarios

1 1 1 0 0 1 0 0 0,5

Saleem M.Q., Jaafar J., Hassan M.F.

Secure business process modelling of SOA applications using "UML-SOA-Sec"

0 1 1 0 1 0 0 0 0,375

Nikiforova O., Pavlova N. Open work of two-hemisphere model transformation definition into UML class

diagram in the context of MDA

1 1 1 0 0 0 0 0 0,375

Rodríguez A., Fernández-

Medina E., Trujillo J.,

Piattini M.

Secure business process model specification

through a UML 2.0 activity diagram profile

1 1 1 0 1 1 0 0 0,625

Perišić B., Milosavljević

G., Dejanović I.,

Milosavljević B.

UML profile for specifying user interfaces of

business applications

1 1 0 0 1 0 0 0 0,375

Magureanu G.,

Gavrilescu M., Pescaru

Towards UML modeling of cyber-physical

systems: A case study for gas distribution

1 1 0 1 0 0 0 0 0,375

Page 77: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

77

D., Doboli A.

Laabidi M., Jemni M. PBAE: New uml profile based formalism to model accessibility in E-learning systems

1 1 1 0 1 0 0 1 0,625

Hlaoui Y.B., BenAyed L.J. Toward an UML-based composition of Grid services workflows

1 1 1 0 1 1 0 0 0,625

Mosconi M., Charfi A., Svacina J., Wloka J.

Applying and evaluating AOM for platform independent behavioral UML models

1 0 1 0 1 1 0 0 0,5

Abdullah M.S., Paige R., Benest I., Kimble C.

Knowledge engineering using the UML profile: Adopting the model-driven architecture for

knowledge-based system development

0 1 0 0 1 0 0 1 0,375

Rouxel S., Gogniat G.,

Diguet J.-P., Philippe J.-

L., Moy C.

System level design with UML: A unified

approach

1 1 1 0 1 0 0 0 0,5

Schattkowsky T.,

Lohmann M.

UML model mappings for platform independent

user interface design

1 1 0 0 1 0 0 0 0,375

Fink T., Koch M., Pauls K. An MDA approach to access control

specifications using MOF and UML profiles

1 1 0 0 1 1 0 0 0,5

Roux O., Combes C.,

Duvivier D.

A modeling methodology dedicated to

simulation and based on generic meta-models

using MDA-UML: An application to a chronic

renal dialysis unit

0 1 0 0 0 0 0 0 0,125

Khan M.U., Geihs K.,

Gutbrodt F., Gohner P., Trauter R.

Model-driven development of real-time systems

with UML 2.0 and C

0 1 1 0 0 0 0 0 0,25

Chauvel F., Jézéquel J.-M.

Code generation from UML models with semantic variation points

1 0 1 1 0 0 0 1 0,5

Schattkowsky T., Lohmann M.

Towards employing UML model mappings for platform independent user interface design

1 1 0 0 1 0 0 0 0,375

Page 78: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão
Page 79: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

79

APÊNDICE B – RELAÇÃO DE ARTIGOS SELECIONADOS

NA BASE DE DADOS SCOPUS

SAMEA F., AZAM F., ANWAR M.W., KHAN M., RASHID M., A UML profile for multi-

cloud service configuration (UMLPMSC) in event-driven serverless applications. ACM

International Conference Proceeding Series, pg 431 - 435, 2019.

LASBAHANI A., CHHIBA M., TABYAOUI A., A uml profile for security and code

generation. International Journal of Electrical and Computer Engineering, pg 5278 - 5291,

2018.

JETLUND K., Improvements in automated derivation of owl ontologies from geospatial uml

models. International Archives of the Photogrammetry, Remote Sensing and Spatial

Information Sciences - ISPRS Archives, pg 351 - 358, 2018.

DEEBA F., KUN S., SHAIKH M., DHAREJO F.A., HAYAT S., SUWANSRIKHAM P.,

Data transformation of UML diagram by using model driven architecture. 2018 3rd IEEE

International Conference on Cloud Computing and Big Data Analysis, ICCCBDA 2018, pg

300 - 303, 2018.

BETARI O., FILALI S., AZZAOUI A., BOUBNAD M.A., Applying a model driven

architecture approach: Transforming CIM to PIM using UML. International Journal of Online

Engineering, pg 170 - 181, 2018.

ESSEBAA I., CHANTIT S., Tool support to automate transformations from SBVR to UML

use case diagram. ENASE 2018 - Proceedings of the 13th International Conference on

Evaluation of Novel Approaches to Software Engineering, pg 525 - 532, 2018.

ALLAKI D., DAHCHOUR M., EN-NOUAARY A., Building consistent UML models for

better model driven engineering. Journal of Digital Information Management, pg 289 - 300,

2017.

CORTÉS H., NAVARRO A., Enterprise WAE: A Lightweight UML Extension for the

Characterization of the Presentation Tier of Enterprise Applications with MDD-Based

Mockup Generation. International Journal of Software Engineering and Knowledge

Engineering, pg 1291 - 1331, 2017.

BETARI O., ERRAMDANI M., ROUBI S., ARRHIOUI K., MBARKI S., Model

transformations in the MOF meta-modeling architecture: From UML to CodeIgniter PHP

framework. Advances in Intelligent Systems and Computing, pg 227 - 234, 2017.

Page 80: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

OMARI M.E., ERRAMDANI M., FILALI S., Getting model of MVVM pattern from UML

Models. Proceedings of the International Conference on Industrial Engineering and

Operations Management, pg 1240 - 1249, 2017.

PATHAK N., SHARMA G., SINGH B.M., Towards designing of SPF based secure web

application using UML 2.0. International Journal of Systems Assurance Engineering and

Management, pg 208 - 218, 2017.

BEN ABDESSALEM KARAA W., BEN AZZOUZ Z., SINGH A., DEY N., S. ASHOUR A.,

BEN GHAZALA H., Automatic builder of class diagram (ABCD): an application of UML

generation from functional requirements. Software - Practice and Experience, pg 1443 - 1458,

2016.

ESBAI R., ERRAMDANI M., Model-to-model transformation in approach by modeling:

From UML model to Model-View-Presenter and Dependency Injection patterns. Proceedings

of the 2015 5th World Congress on Information and Communication Technologies, WICT

2015, pg 1 - 6, 2016.

HERMAWAN, HASTARISTA F., Colaborated Architechture Framework for Composition

UML 2.0 in Zachman Framework. IOP Conference Series: Materials Science and

Engineering, 2016.

BENOUDA H., AZIZI M., MOUSSAOUI M., Transformations from UML to android using

MOF 2.0 QVT. Lecture Notes in Electrical Engineering, pg 619 - 624, 2016.

ERIKSSON A., LINDSTRÖM B., UML associations: Reducing the gap in test coverage

between model and code. MODELSWARD 2016 - Proceedings of the 4th International

Conference on Model-Driven Engineering and Software Development, pg 589 - 599, 2016.

HSU I.-C., TING D.-H., HSUEH N.-L., MDA-based visual modeling approach for resources

link relationships using UML profile. Computer Standards and Interfaces, pg 648 - 656, 2014.

LU F., YANG K.W., ZHANG S.T., ZHAN G.X., Application of executable UML technology

for verification of armored vehicle information system model. Applied Mechanics and

Materials, pg 1324 - 1328, 2014.

ABBAS M., BEN-YELLES C.-B., RIOBOO R., Generating FoCaLiZe specifications from

UML models. CEUR Workshop Proceedings, pg 157 - 164, 2014.

ABBAS M., BEN-YELLES C.-B., RIOBOO R., Modeling UML template classes with

FoCaLiZe. Lecture Notes in Computer Science (including subseries Lecture Notes in

Artificial Intelligence and Lecture Notes in Bioinformatics), pg 87 - 102, 2014.

Page 81: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

81

ESBAI R., ERRAMDANI M., MBARKI S., Model-driven transformation for GWT with

approach by modeling: From UML model to MVP web applications. International Review on

Computers and Software, pg 1612 - 1620, 2014.

CABOT J., CLARISÓ R., RIERA D., On the verification of UML/OCL class diagrams using

constraint programming. Journal of Systems and Software, pg 1 - 23, 2014.

DIEM P.G., HIEN N.V., KHANH N.P., An object-oriented analysis and design model to

implement controllers for quadrotor uavs by specializing MDA's features with hybrid

automata and real-time UML. WSEAS Transactions on Systems, pg 483 - 496, 2013.

RAHMOUNI M., MBARKI S., An end-to-end code generation from UML diagrams to

MVC2 web applications. International Review on Computers and Software, pg 2123 - 2135,

2013.

RAHMOUNI M., MBARKI S., Combining UML class and activity diagrams for MDA

generation of MVC 2 web applications. International Review on Computers and Software, pg

949 - 957, 2013.

DEREZIŃSKA A., SZCZYKULSKI M., Towards C# application development using UML

state machines: A case study. Lecture Notes in Electrical Engineering, pg 793 - 803, 2013.

GAVRILESCU M., MAGUREANU G., PESCARU D., JIAN I., Towards UML software

models for Cyber Physical System applications. 2012 20th Telecommunications Forum,

TELFOR 2012 - Proceedings, pg 1701 - 1704, 2012.

NGO V.H., SORIANO T., A model transformation process to realize controllers of ship

autopilot systems by the specialized MDA's features with UML/SysML. 2012 9th France-

Japan and 7th Europe-Asia Congress on Mechatronics, MECATRONICS 2012 / 13th

International Workshop on Research and Education in Mechatronics, REM 2012, pg 20 - 26,

2012.

BELGHIAT A., BOURAHLA M., From UML class diagrams to OWL ontologies: A graph

transformation based Approach. CEUR Workshop Proceedings, pg 330 - 335, 2012.

SALEEM M.Q., JAAFAR J., FADZIL HASSAN M., Security modelling along business

process model of SOA systems using modified "UML-SOA-Sec". 2012 International

Conference on Computer and Information Science, ICCIS 2012 - A Conference of World

Engineering, Science and Technology Congress, ESTCON 2012 - Conference Proceedings,

pg 880 - 884, 2012.

CASALÁNGUIDA H., DURÁN J.E., Automatic generation of feature models from UML

requirement models. ACM International Conference Proceeding Series, pg 10 - 17, 2012.

Page 82: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

HANADA K., OKANO K., KUSUMOTO S., MIYAZAWA K., Practical application of a

translation tool from UML/OCL to java skeleton with JML annotation. ICEIS 2012 -

Proceedings of the 14th International Conference on Enterprise Information Systems, pg 389 -

394, 2012.

SABRAOUI A., ENNOUAARY A., KHRISS I., EL KOUTBI M., An MDA-based approach

for WS composition using UML scenarios. Proceedings of the 9th International Conference

on Information Technology, ITNG 2012, pg 306 - 313, 2012.

GAROUSI V., Classification and trend analysis of UML books (1997-2009). Software and

Systems Modeling, pg 273 - 285, 2012.

SALEEM M.Q., JAAFAR J., HASSAN M.F., Secure business process modelling of SOA

applications using "UML-SOA-Sec". International Journal of Innovative Computing,

Information and Control, pg 2729 - 2746, 2012.

GUELFI N., PERROUIN G., Rigourous engineering of software architectures: Integrating

ADLs, UML and development methodologies. Proceedings of the 6th IASTED International

Conference on Software Engineering and Applications, SEA 2002, pg 523 - 529, 2012.

NIKIFOROVA O., PAVLOVA N., Open work of two-hemisphere model transformation

definition into UML class diagram in the context of MDA. Lecture Notes in Computer

Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in

Bioinformatics), pg 118 - 130, 2011.

MEDINA J.L., GARCIA CUESTA A., Model-based analysis and design of real-time

distributed systems with Ada and the UML profile for MARTE. Lecture Notes in Computer

Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in

Bioinformatics), pg 89 - 102, 2011.

RODRÍGUEZ A., FERNÁNDEZ-MEDINA E., TRUJILLO J., PIATTINI M., Secure

business process model specification through a UML 2.0 activity diagram profile. Decision

Support Systems, pg 446 - 465, 2011.

PERIŠIĆ B., MILOSAVLJEVIĆ G., DEJANOVIĆ I., MILOSAVLJEVIĆ B., UML profile

for specifying user interfaces of business applications. Computer Science and Information

Systems, pg 405 - 426, 2011.

MAGUREANU G., GAVRILESCU M., PESCARU D., DOBOLI A., Towards UML

modeling of cyber-physical systems: A case study for gas distribution. SIISY 2010 - 8th IEEE

International Symposium on Intelligent Systems and Informatics, pg 471 - 476, 2010.

Page 83: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

83

GIACHETTI G., ALBERT M., MARÍN B., PASTOR O., Linking UML and MDD through

UML profiles: A practical approach based on the UML association. Journal of Universal

Computer Science, pg 2353 - 2373, 2010.

RUDAHL K.T., GOLDIN S.E., Perverse UML for generating web applications using

YAMDAT. IEEE Region 10 Annual International Conference, Proceedings/TENCON, pg

1071 - 1076, 2010.

MILOSAVLJEVIĆ G., DEJANOVIĆ I., PERIŠIĆ B., MILOSAVLJEVIĆ B., UML profile

for specifying user interfaces of business applications. CEUR Workshop Proceedings, pg 77 -

94, 2010.

ZHU Y., LIAO Y.W., WU Q.F., ASIP MDA based on UML/XML1. 2010 International

Conference on Multimedia Technology, ICMT 2010, 2010.

MOKHTARI R., CHAOUI A., BAHRI M.R., Mapping UML components diagrams to XML

using graph transformation. 23rd International Conference on Computer Applications in

Industry and Engineering 2010, CAINE 2010 - Including SNA 2010 Workshop, pg 245 - 250,

2010.

TONG Y., The roadmap and future of UML research in China. IC4E 2010 - 2010

International Conference on e-Education, e-Business, e-Management and e-Learning, pg 373 -

377, 2010.

ANASTASAKIS K., BORDBAR B., GEORG G., RAY I., On challenges of model

transformation from UML to Alloy. Software and Systems Modeling, pg 69 - 86, 2010.

SÁNCHEZ D.M., ACUÑA C.J., CAVERO J.M., MARCOS E., Toward UML-Compliant

semantic web services development. International Journal of Enterprise Information Systems,

pg 44 - 56, 2010.

CARTON A., DRIVER C., JACKSON A., CLARKE S., Model-driven theme/UML. Lecture

Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and

Lecture Notes in Bioinformatics), pg 238 - 266, 2009.

LAABIDI M., JEMNI M., PBAE: New uml profile based formalism to model accessibility in

E-learning systems. International Journal of Engineering Education, pg 646 - 654, 2009.

WALDERHAUG S., STAV E., MIKALSEN M., Experiences from Model-Driven

development of homecare services: UML profiles and domain models. Lecture Notes in

Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture

Notes in Bioinformatics), pg 199 - 212, 2009.

Page 84: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

AMBROGIO A.D., CONTICELLI L., A UML profile for modeling software applications

based on grid services. Proceedings of the IASTED International Conference on Software

Engineering, SE 2008, pg 292 - 297, 2008.

BARBIER F., Supporting the UML state machine diagrams at runtime. Lecture Notes in

Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture

Notes in Bioinformatics), pg 338 - 348, 2008.

HLAOUI Y.B., BENAYED L.J., Toward an UML-based composition of Grid services

workflows. Proceedings of the International Conference on Pervasive Services, ICPS 2008

2nd International Workshop on Agent-Oriented Software, pg 21 - 27, 2008.

PIRES W., BRUNET J., RAMALHO F., UML-based design test generation. Proceedings of

the ACM Symposium on Applied Computing, pg 735 - 740, 2008.

HLAOUI Y.B., BENAYED L.J., Extended UML activity diagram for composing Grid

services workflows. Proceedings 2008 3rd International Conference on Risks and Security of

Internet and Systems, CRiSIS 2008, pg 207 - 212, 2008.

MOSCONI M., CHARFI A., SVACINA J., WLOKA J., Applying and evaluating AOM for

platform independent behavioral UML models. ACM International Conference Proceeding

Series, pg 19 - 24, 2008.

CABOT J., CLARISÓ R., RIERA D., Verification of UML/OCL Class diagrams using

constraint programming. 2008 IEEE International Conference on Software Testing

Verification and Validation Workshop, ICSTW'08, pg 73 - 80, 2008.

FALDA G., HABELA P., KACZMARSKI K., STENCEL K., SUBIETA K., Platform-

independent programming of data-intensive applications using UML. Lecture Notes in

Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture

Notes in Bioinformatics), pg 103 - 115, 2008.

SILINGAS D., VITIUTINAS R., Towards UML-intensive framework for model-driven

development. Lecture Notes in Computer Science (including subseries Lecture Notes in

Artificial Intelligence and Lecture Notes in Bioinformatics), pg 116 - 128, 2008.

CHRISTOPH A., MÜLLER M.M., GREAT: UML transformation tool for porting

middleware applications. Science of Computer Programming, pg 3 - 12, 2008.

SALEM R.B., GRANGEL R., BOUREY J.-P., A comparison of model transformation tools:

Application for Transforming GRAI Extended Actigrams into UML Activity Diagrams.

Computers in Industry, pg 682 - 693, 2008.

Page 85: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

85

HABELA P., KACZMARSKI K., STENCEL K., SUBIETA K., OCL as the query language

for UML model execution. Lecture Notes in Computer Science (including subseries Lecture

Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), pg 311 - 320, 2008.

BERKENKÖTTER K., Reliable UML Models and Profiles. Electronic Notes in Theoretical

Computer Science, pg 203 - 220, 2008.

FAROOQ U., LAM C.P., LI H., Transformation methodology for UML 2.0 activity diagram

into colored Petri Nets. Proceedings of the 3rd IASTED International Conference on

Advances in Computer Science and Technology, ACST 2007, pg 128 - 133, 2007.

IDANI A., BOULANGER J.-L., PHILIPPE L., A generic process and its tool support towards

combining UML and B for safety critical systems. 20th International Conference on

Computer Applications in Industry and Engineering 2007, CAINE 2007, pg 185 - 192, 2007.

JONES M.C., WEISEL E.W., DoDAF, DEVS, HLA, MDA, and UML: Lenses to view one

problem. Fall Simulation Interoperability Workshop 2007, pg 1366 - 1382, 2007.

SCHMIDT M., Transformations of UML 2 models using concrete syntax patterns. Lecture

Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and

Lecture Notes in Bioinformatics), pg 130 - 143, 2007.

WAGNER F.R., CARRO L., Embedded SW design space exploration and automation using

UML-based tools. IFIP International Federation for Information Processing, pg 437 - 440,

2007.

SONG E., YIN S., RAY I., Using UML to model relational database operations. Computer

Standards and Interfaces, pg 343 - 354, 2007.

KUZNETSOV M.B., UML model transformation and its application to MDA technology.

Programming and Computer Software, pg 44 - 53, 2007.

SCHREINER D., GÖSCHKA K.M., Modeling component based embedded systems

applications with explicit connectors in UML 2.0. Proceedings of the ACM Symposium on

Applied Computing, pg 1494 - 1495, 2007.

ABDULLAH M.S., PAIGE R., BENEST I., KIMBLE C., Knowledge engineering using the

UML profile: Adopting the model-driven architecture for knowledge-based system

development. ICEIS 2006 - 8th International Conference on Enterprise Information Systems,

Proceedings, pg 74 - 81, 2006.

MUELLER W., VANDERPERREN Y., UML and model-driven development for SoC

design. CODES+ISSS 2006: Proceedings of the 4th International Conference on Hardware

Software Codesign and System Synthesis, pg 1 - , 2006.

Page 86: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

ROUXEL S., GOGNIAT G., DIGUET J.-P., PHILIPPE J.-L., MOY C., System level design

with UML: A unified approach. Industrial Embedded Systems - IES'2006, 2006.

KIRSHIN A., MOSHKOVICH D., HARTMAN A., A UML simulator based on a generic

model execution engine. 20th European Conference on Modelling and Simulation: Modelling

Methodologies and Simulation Key Technologies in Academia and Industry, ECMS 2006, pg

226 - 231, 2006.

DOBRZAŃSKI L., KUŹNIARZ L., An approach to refactoring of executable UML models.

Proceedings of the ACM Symposium on Applied Computing, pg 1273 - 1279, 2006.

DO NASCIMENTO F.A.M., OLIVEIRA M.F.D.S., WEHRMEISTER M.A., PEREIRA C.E.,

WAGNER F.R., MDA-based approach for embedded software generation from a UML/MOF

repository. SBCCI 2006 - 19th Symposium on Integrated Circuits and Systems Design, pg

143 - 148, 2006.

SCHATTKOWSKY T., LOHMANN M., UML model mappings for platform independent

user interface design. Lecture Notes in Computer Science (including subseries Lecture Notes

in Artificial Intelligence and Lecture Notes in Bioinformatics), pg 201 - 209, 2006.

FINK T., KOCH M., PAULS K., An MDA approach to access control specifications using

MOF and UML profiles. Electronic Notes in Theoretical Computer Science, pg 161 - 179,

2006.

KURZ S., GUPPENBERGER M., FREITAG B., A UML profile for modeling schema

mappings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial

Intelligence and Lecture Notes in Bioinformatics), pg 53 - 62, 2006.

LUJÁN-MORA S., TRUJILLO J., SONG I.-Y., A UML profile for multidimensional

modeling in data warehouses. Data and Knowledge Engineering, pg 725 - 769, 2006.

ROUX O., COMBES C., DUVIVIER D., A modeling methodology dedicated to simulation

and based on generic meta-models using MDA-UML: An application to a chronic renal

dialysis unit. Proceedings - ICSSSM'06: 2006 International Conference on Service Systems

and Service Management, pg 692 - 697, 2006.

BASIN D., DOSER J., LODDERSTEDT T., Model driven security: From UML models to

access control infrastructures. ACM Transactions on Software Engineering and Methodology,

pg 39 - 91, 2006.

KHAN M.U., GEIHS K., GUTBRODT F., GOHNER P., TRAUTER R., Model-driven

development of real-time systems with UML 2.0 and C. Proc. - Joint Meeting of the 4th

Workshop on Model-Based Dev. of Computer-Based Systems and the 3rd Int. Workshop on

Page 87: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

87

Model-Based Methodologies for Pervasive and Embedded Software, MBD/MOMPES 2006,

pg 33 - 42, 2006.

CHAUVEL F., JÉZÉQUEL J.-M., Code generation from UML models with semantic

variation points. Lecture Notes in Computer Science (including subseries Lecture Notes in

Artificial Intelligence and Lecture Notes in Bioinformatics), pg 54 - 68, 2005.

KNAAK N., PAGE B., UML 2 as a modelling language in discrete event simulation.

Simulation in Wider Europe - 19th European Conference on Modelling and Simulation,

ECMS 2005, pg 393 - 398, 2005.

SCHATTKOWSKY T., LOHMANN M., Towards employing UML model mappings for

platform independent user interface design. CEUR Workshop Proceedings, 2005.

STAIKOPOULOS A., BORDBAR B., A comparative study of metamodel integration and

interoperability in UML and Web Services. Lecture Notes in Computer Science (including

subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), pg

145 - 159, 2005.

GAROUSI V., BRIAND L.C., LABICHE Y., Control flow analysis of UML 2.0 sequence

diagrams. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial

Intelligence and Lecture Notes in Bioinformatics), pg 160 - 174, 2005.

RUNGWORAWUT W., SENIVONGSE T., A guideline to mapping business processes to

UML class diagrams. WSEAS Transactions on Computers, pg 1526 - 1533, 2005.

GÉNOVA G., LLORENS J., METZ P., PRIETO-DÍAZ R., ASTUDILLO H., Report about

about the workshop on use case modeling at UML-2004 "Open issues in industrial use case

modeling". Journal of Object Technology, pg 7 - 14, 2005.

LEVENDOVSZKY T., LENGYEL L., CHARAF H., A UML class diagram-based pattern

language for model transformation systems. WSEAS Transactions on Computers, pg 190 -

195, 2005.

LU S., HALANG W.A., ZHANG L., A component-based UML profile to model embedded

real-time systems designed by the MDA approach. Proceedings - 11th IEEE International

Conference on Embedded and Real-Time Computing Systems and Applications, pg 563 -

566, 2005.

SARSTEDT S., GESSENFIARTER D., KOHLRNEYER J., RASCHKE A.,

SCHNEIDERHAN M., ActiveChartsIDE - An integrated software development environment

comprising a component for simulating UML 2 activity charts. 2005 European Simulation

and Modelling Conference, ESM 2005 - Proceedings, pg 66 - 73, 2005.

Page 88: ALEXANDRE HANCZURUK BORBA - UEL€¦ · uma pesquisa na base de dados Scopus, obtendo cento e quatro (104) artigos. A partir destes artigos foram aplicadas regras de inclusão e exclusão

BERKEM B., Aligning IT with the changes using the Goal-Driven development for UML and

MDA. Journal of Object Technology, pg 49 - 65, 2005.

SILAGHI R., FONDEMENT F., STROHMEIER A., Towards an MDA-oriented UML profile

for distribution. Proceedings - IEEE International Enterprise Distributed Object Computing

Workshop, EDOC, pg 227 - 239, 2004.

BENDRAOU R., BOUZITOUNA S., GERVAIS M.-P., From MDA platform-specific model

to code generation: Coupling of RM-ODP and UML action semantics standards. Proceedings

of the International Conference on Software Engineering Research and Practice, SERP'04, pg

407 - 413, 2004.

JUDSON S.R., FRANCE R.B., CARVER D.L., Supporting rigorous evolution of UML

models. Proceedings of the IEEE International Conference on Engineering of Complex

Computer Systems, ICECCS, pg 128 - 137, 2004.

THOMAS D., MDA: Revenge of the modelers or UML Utopia?. IEEE Software, pg 15 - 17,

2004.

MAÑA A., MONTENEGRO J.A., RAY D., SÁNCHEZ F., YAGÜE M., Integrating and

automating security engineering in UML. Proceedings of the IASTED International

Conference on Communication, Network, and Information Security, pg 97 - 102, 2003.

ATKINSON C., MUTHIG D., Component-based product-line engineering with the uml.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial

Intelligence and Lecture Notes in Bioinformatics), pg 343 - 344, 2002.

GÉRARD S., TERRIER F., TANGUY Y., Using the model paradigm for real-time systems

development: ACCORD/UML. Lecture Notes in Computer Science (including subseries

Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), pg 260 - 269,

2002.