The decomposition of design patterns into simpler elements may reduce significantly the creation of variants in forward engineering, while it increases the possibility of identifying applied patterns in reverse engineering. Nevertheless, there are few reverse engineering tools that exploit the decomposition of patterns (i.e., FUJABA, SPQR). The SPQR approach introduces a catalog of elemental design patterns (EDP) and a rule set based on sigma-calculus through which EDPs are defined and composed into design patterns. Considering the SPQR approach particularly interesting, we propose a novel solution for defining and detecting EDPs and, further, design patterns. Our approach defines EDPs as logical functions of eight symbolic variables, each variable representing a method call (e.g., method name, method signature, method declaration, this reference, super reference) or a class property (superclass, same family, same object). An EDP detector has been developed based on this approach, representing a starting point for future developments towards design pattern recognition in the reverse engineering context.

ARCELLI FONTANA, F., Masiero, S., & Raibulet, C. (2005). Elemental Design Patterns Recognition in Java. In Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice (pp.196-205). IEEE [10.1109/STEP.2005.12].

Elemental Design Patterns Recognition in Java

ARCELLI FONTANA, FRANCESCA;RAIBULET, CLAUDIA
2005

Abstract

The decomposition of design patterns into simpler elements may reduce significantly the creation of variants in forward engineering, while it increases the possibility of identifying applied patterns in reverse engineering. Nevertheless, there are few reverse engineering tools that exploit the decomposition of patterns (i.e., FUJABA, SPQR). The SPQR approach introduces a catalog of elemental design patterns (EDP) and a rule set based on sigma-calculus through which EDPs are defined and composed into design patterns. Considering the SPQR approach particularly interesting, we propose a novel solution for defining and detecting EDPs and, further, design patterns. Our approach defines EDPs as logical functions of eight symbolic variables, each variable representing a method call (e.g., method name, method signature, method declaration, this reference, super reference) or a class property (superclass, same family, same object). An EDP detector has been developed based on this approach, representing a starting point for future developments towards design pattern recognition in the reverse engineering context.
paper
Scientifica
design pattern; sub-components of design pattern; reverse engineering
English
International Workshop on Software Technology and Engineering Practice
0-7695-2639-X
ARCELLI FONTANA, F., Masiero, S., & Raibulet, C. (2005). Elemental Design Patterns Recognition in Java. In Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice (pp.196-205). IEEE [10.1109/STEP.2005.12].
ARCELLI FONTANA, F; Masiero, S; Raibulet, C
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/10281/3509
Citazioni
  • Scopus 12
  • ???jsp.display-item.citation.isi??? 8
Social impact