Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/27963

TítuloInferência de PSM/PIM e padrões de conceção a partir de código Java
Autor(es)Couto, Rui
Orientador(es)Ribeiro, António Nestor
Palavras-chaveJava
MDA
MDE
Padrões de concepção
PIM
PSM
UML
Design patterns
Data6-Dez-2011
Resumo(s)Devido 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).
TipoDissertação de mestrado
DescriçãoDissertação de mestrado em Engenharia de Informática
URIhttps://hdl.handle.net/1822/27963
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
eeum_di_dissertacao_pg15456.pdf3,08 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID