Integrating Code Generation and Refactoring - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Integrating Code Generation and Refactoring

Description:

Informatics Center, Federal University of Pernambuco. Recife, Brazil ... Recife, Brazil. Amorim, Nogueira, Santos, Souza, Paulo Borba. www.qualiti.com.br. www. ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 9
Provided by: prakinfT
Category:

less

Transcript and Presenter's Notes

Title: Integrating Code Generation and Refactoring


1
Integrating Code Generation and Refactoring
Amorim, Nogueira, Santos, Souza, Paulo Borba
  • Qualiti Software Processes and
  • Informatics Center, Federal University of
    Pernambuco
  • Recife, Brazil

www.qualiti.com.br
www.cin.ufpe.br
2
Integrating transformations
public interface IFacade extends java.rmi.Remote
ublic void updateComplaint complaint)
throws TransactionException,
RepositoryException,
ObjectNotFoundException, ObjectNotValidException,
RemoteException . . .

public class Person implements java.io.Serializabl
e private String nome ... public
Person(String nome, ) this.nome
nome public String getNome()
return nome
Code generation (implementation)
public class Person implements java.io.Serializabl
e private String nome ... public
Person(String nome, ) this.nome
nome public String getNome()
return nome
public class Person implements java.io.Serializabl
e private String nome ... public
Person(String nome, ) this.nome
nome private X x new X()
public class Person implements java.io.Serializabl
e private String nome ... public
Person(String nome, ) this.nome
nome public String getNome()
return nome
Refactoring (evolution)
Class X public String getNome()
return nome
3
User-defined transformations
  • Using an extension of Java with metaprogramming
    constructs
  • more accessible to Java programmers
  • semantic-based pattern-matching
  • more expressive than templates

4
Transformation language
Metavariable
ML class BT ltltextends SBTgtgt ATTRS MTDS
public void X.addPrefix("set") (D
obj) DN obj ...
Optional matching
Executable expressions
5
User-defined wizards
  • Interactive support for applying transformations
  • Integrated with IDEs
  • Framework and model for
  • associating transformations with their GUIs (Java
    beans)
  • creating new generators and refactorings

6
(No Transcript)
7
Practical experience
  • Code generators and refactorings for
  • working with EJB
  • implementing specific design patterns
  • It is easy to create new wizards
  • Comprehensive set of code analysis for
    refactorings
  • Composition of wizards

8
Integrating Code Generation and Refactoring
Amorim, Nogueira, Santos, Souza, Paulo Borba
  • Qualiti Software Processes and
  • Informatics Center, Federal University of
    Pernambuco
  • Recife, Brazil

www.qualiti.com.br
www.cin.ufpe.br
Write a Comment
User Comments (0)
About PowerShow.com