alexandre hanczuruk borba - uel€¦ · uma pesquisa na base de dados scopus, obtendo cento e...
TRANSCRIPT
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
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
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.
Este trabalho é dedicado ao nosso Deus Criador,
Salvador e Mantenedor.
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.
“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).
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.
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.
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
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
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
SysML Systems Modeling Language
UML Unified Modeling Language
UMLSEC UML profile for Security
XMI XML Metadata Interchange
XML Extensible Markup Language
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
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
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.
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
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.
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].
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.
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]
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].
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].
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].
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].
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].
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].
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].
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].
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].
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].
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].
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.
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.
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:
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.
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
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.
49
A Figura 17. apresenta as transformações de modelo presentes no MDA.
Figura 17 – Transformações de modelo MDA.
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.
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.
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.
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.
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
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
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.,
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
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
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.
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
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.
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.
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.
[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.
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.
[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.
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.
73
Apêndices
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
có
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
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
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.