A Java based PSM/PIM and pattern inference approach

Citation:
Couto R, Ribeiro AN, Campos JC.  2012.  A Java based PSM/PIM and pattern inference approach. 35th annual Software Engineering Workshop - SEW, copy at www.tinyurl.com/nhobquy

Date Presented:

October

Abstract:

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 definition and transformation, specifically Computation Independent Models (CIM), Platform Independent Models (PIM) and Platform Specific Models (PSM). The Unified Model Language (UML) allows to create Platform Specific Models (PSM) and Platform Independent Models (PIM), or even more specific diagrams as class diagrams. Some years before the MDE appearance, Erich Gamma et al. catalogued a set of correct means of producing 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 specified. 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).

Citation Key:

CoutoRC:2012b

DOI:

10.1109/SEW.2012.21

PreviewAttachmentSize
eeum_di_dissertacao_pg15456.pdf3 MB