Inferência de PSM/PIM e padrões de conceção a partir de código Java

Detalhes bibliográficos
Autor(a) principal: Couto, Rui
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/27963
Resumo: Dissertação de mestrado em Engenharia de Informática
id RCAP_a0b28aa89c45dab7d3f5abe0b790e051
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/27963
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 Inferência de PSM/PIM e padrões de conceção a partir de código JavaJavaMDAMDEPadrões de concepçãoPIMPSMUMLDesign patterns681.3.06Dissertação de mestrado em Engenharia de InformáticaDevido ao constante crescimento do número de plataformas e linguagens disponíveis a quem desenvolve software, estamos a atingir elevados níveis de complexidade. Este facto levou à necessidade de criar novas técnicas de desenvolvimento de software que permitam facilitar o processo, abstraindo a complexidade que lhe é subjacente. O Object Management Group (OMG) apresentou ma solução para esse problema definindo a Model Driven Engineering (MDE). A MDE baseia o seu processo de desenvolvimento na definição e transformação de modelos, nomeadamente modelos independentes da computação (CIM), independentes da plataforma (PIM) e dependentes da plataforma (PSM). A Unified Modelling Language (UML) permite a criação de Platform Specific Models (PSM) e Platform Independent Models (PIM), ou até mesmo diagramas mais específicos como diagramas de classe. Alguns anos antes de surgir a MDE, Erich Gamma catalogou um conjunto de formas corretas de produzir software. Estas formas denominam-se padrões de conceção e a sua importância já foi amplamente reconhecida. Estes padrões são úteis não só no desenvolvimento, mas também no processo de análise de software. Baseado em programas Java, apresenta-se neste documento a viabilidade de abstrair código fonte em modelos do MDE. O código será transformado em diagramas PIM e PSM, nos quais serão inferidos Design Patterns (ou padrões de conceção). Para tal será especificada uma ferramenta que pretende disponibilizar essas funcionalidades. Implementada sob a forma de plugin, baseia-se no mapeamento de informação num meta-modelo como representação intermédia da informação. Posteriormente, disponibiliza a abstração de informação por transformação de modelos PSM em PIM com base nessa representação. A inferência de padrões é possível devido à representação de informação contida no meta-modelo em factos Prolog, que serão a base para o processo de pesquisa de padrões. Esta ferramenta de engenharia reversa permite que o processo seja iniciado em código fonte (e não em modelos, como descrito pelo MDE).Due to the constant increase in the number of platforms and languages available to software developers, we are reaching high levels of complexity. To abstract the complexity that underlies it, the development of new techniques is needed. A solution to this problem was presented by the Object Management Group (OMG) by specifying the Model Driven Engineering (MDE). The MDE bases its development process in models de nition and transformation, speci cally Computation Independent Models (CIM), Platform Independent Models (PIM) and Platform Speci c Models (PSM). The Uni ed Model Language (UML) allows to create Platform Speci c Models (PSM) and Platform Independent Models (PIM), or even more speci c diagrams as class diagrams. Some years before the MDE appearance, Erich Gamma et al. catalogued a set of good practices to produce software. These means are called design patterns, and its importance has already been widely recognized. These patterns are not only useful in software developing, but also in the software analysis process. Based on Java programs, this document presents the feasibility to transform source code on MDE models. This code will be transformed into PIM and PSM diagrams, in which will be inferred design patterns. As such, a tool which implements these functionalities will be speci ed. Implemented as a plugin, it maps the information on a metamodel to obtain an intermediate information representation. Based on that representation it provides information abstraction, by transforming PSM on PIM models. The design patterns inference is possible due to the representation of information contained in the metamodel as Prolog facts, which will be the basis for the design pattern search. Being a reverse engineering process, it allows the process to be started from the source code (and not in models, as predicted by MDE).Ribeiro, António NestorUniversidade do MinhoCouto, Rui2011-12-062011-12-06T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/27963porinfo: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:52:11Zoai:repositorium.sdum.uminho.pt:1822/27963Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:51:15.271622Repositó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 Inferência de PSM/PIM e padrões de conceção a partir de código Java
title Inferência de PSM/PIM e padrões de conceção a partir de código Java
spellingShingle Inferência de PSM/PIM e padrões de conceção a partir de código Java
Couto, Rui
Java
MDA
MDE
Padrões de concepção
PIM
PSM
UML
Design patterns
681.3.06
title_short Inferência de PSM/PIM e padrões de conceção a partir de código Java
title_full Inferência de PSM/PIM e padrões de conceção a partir de código Java
title_fullStr Inferência de PSM/PIM e padrões de conceção a partir de código Java
title_full_unstemmed Inferência de PSM/PIM e padrões de conceção a partir de código Java
title_sort Inferência de PSM/PIM e padrões de conceção a partir de código Java
author Couto, Rui
author_facet Couto, Rui
author_role author
dc.contributor.none.fl_str_mv Ribeiro, António Nestor
Universidade do Minho
dc.contributor.author.fl_str_mv Couto, Rui
dc.subject.por.fl_str_mv Java
MDA
MDE
Padrões de concepção
PIM
PSM
UML
Design patterns
681.3.06
topic Java
MDA
MDE
Padrões de concepção
PIM
PSM
UML
Design patterns
681.3.06
description Dissertação de mestrado em Engenharia de Informática
publishDate 2011
dc.date.none.fl_str_mv 2011-12-06
2011-12-06T00: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/27963
url http://hdl.handle.net/1822/27963
dc.language.iso.fl_str_mv por
language por
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_ 1799133099904204800