A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations

Bibliographic Details
Main Author: Murta, Daniel R.
Publication Date: 2014
Format: Master thesis
Language: eng
Source: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Download full: http://hdl.handle.net/1822/36788
Summary: Dissertação de mestrado em Engenharia Informática
id RCAP_bb3f0e834f2b16d67e68d0e6bb4b1767
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/36788
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformationsComparação entre DSLS e GPLS para a implementação de transformações unidirecionais e bidirecionaisEngenhariaSoftwareModulaçãoTransformaçãoModeloLinguagemDSLAbstração681.3.06Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaIan Sommerville states in his famous "Software Engineering" book the following: "Some organisations still rely on software systems that are more than 20 years old. Many of these old systems are still business-critical. (...) These old systems have been given the name legacy systems." Legacy systems represent a real problem for some organisations. On the one hand, they are and always were their revenue generator, on the other hand, keeping them stale as their are today will not make that trend sustainable. System disruption is rarely the solution for this problem. A gradual software migration towards modernization is the less risky solution, and i2S, an Insurance Software company, has adopted this approach, guided by Model-driven Engineering principles. For a system migration to be executed following this methodology, low level models (close to code) of the system will do, however, the full potential will not be seized. For an easier maintenance of the system in the long term, higher level abstractions are incontrovertibly a means to an end. The main aim of this thesis is to integrate this higher abstraction level into the current migration process implemented by i2S.Model-Driven Engineering (MDE) is a software development paradigm based on two building concepts: models and transformations. In an early stage, software is abstracted by models, which gradually evolve into the final product by the application of transformations. This dissertation focus essentially on transformations. Initially, a general categorisation of transformations is given by presenting the several aspects on which they can be distinguished. One of those aspects is directionality, where transformations are split into one of two categories: unidirectional; or bidirectional. Then two distinct problems are presented, for which a transformation is proposed as a solution for each. For the first problem, a unidirectional transformation is recommended and for the latter a bidirectional transformation is recommended. For each transformation, two different implementations are conceived and discussed. One of the implementations is achieved by recurring to a DomainSpecific Language (DSL) specifically tailored for the specification of the transformation in case, and the other implementation is materialised by recurring to a General-Purpose Programming Language (GPPL). The main aim of this thesis is to compare between DSLs and GPPLs as possible alternatives to specify model transformations. This comparison is done by taking into consideration both the unidirectional and bidirectional case scenarios, and by having as comparison guidelines performance and maintainabilityMDE é um paradigma de desenvolvimento de software assente em duas pedras basilares: modelos e transformações. Numa primeira fase, o software é abstraído através de modelos, que depois evoluem gradualmente na direcção do produto final pela aplicação de transformações. Inicialmente é apresentada uma categorização geral do conceito de "transformação" no âmbito do MDE, apresentando os vários fatores nos quais as transformações se distinguem umas das outras. Um destes factores é designado de direcionalidade, segundo o qual as transformações podem ser unidirecionais ou bidirecionais. Esta tese apresenta dois problemas distintos, para os quais uma transformação é proposta como solução para cada. No caso do primeiro problema, recomenda-se uma transformação unidirecional, enquanto que para o segundo problema é proposta uma transformação bidirecional. Para cada transformação proposta, duas implementações diferentes sãoconcebidas e discutidas. Uma das implementações é conseguida recorrendo a uma linguagem de domínio específico talhada especificamente para a implementação da transformação em causa, e a outra implementação é obtida através do desenvolvimento de um programa através de uma linguagem de programação genérica. O principal objetivo desta dissertação é comparar entre as linguagens de domínio específico e as linguagens genéricas como duas alternativas na especificação de transformações entre modelos. Esta comparação é feita tendo em consideração os cenários de estudo unidirecional e bidirecional, sendo que os termos de comparação usados foram a noção de performance e manutenção das implementações.Cunha, AlcinoPerestrelo, MarcoUniversidade do MinhoMurta, Daniel R.2014-12-102014-12-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/36788eng201195119info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:50:26Zoai:repositorium.sdum.uminho.pt:1822/36788Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:49:09.957030Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
Comparação entre DSLS e GPLS para a implementação de transformações unidirecionais e bidirecionais
title A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
spellingShingle A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
Murta, Daniel R.
Engenharia
Software
Modulação
Transformação
Modelo
Linguagem
DSL
Abstração
681.3.06
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
title_full A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
title_fullStr A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
title_full_unstemmed A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
title_sort A comparison betwee DSLs and GPLs for the implementation of unidirectional and bidirectional transformations
author Murta, Daniel R.
author_facet Murta, Daniel R.
author_role author
dc.contributor.none.fl_str_mv Cunha, Alcino
Perestrelo, Marco
Universidade do Minho
dc.contributor.author.fl_str_mv Murta, Daniel R.
dc.subject.por.fl_str_mv Engenharia
Software
Modulação
Transformação
Modelo
Linguagem
DSL
Abstração
681.3.06
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia
Software
Modulação
Transformação
Modelo
Linguagem
DSL
Abstração
681.3.06
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2014
dc.date.none.fl_str_mv 2014-12-10
2014-12-10T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/36788
url http://hdl.handle.net/1822/36788
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 201195119
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133071648227328