Refactoring of a Beef-Cattle Farm Simulator

Software systems are continuing changing because of new functionality has to be incorporated or the exiting one has to be changed. Systems have to be well evolved otherwise the will not be easily changed. Aspect orientation provides mechanisms to evolve and maintain systems by encapsulating systems crosscutting concerns in aspects. We have developed an object oriented grazed-based beef cattle simulator which has maintenance and evolution problems. For this reason, in order to take advantages of the aspect orientation we present in this work the migration of the simulator to the aspect orientation. The crosscutting concerns identified in the object-oriented system are presented and how these crosscutting concerns are transformed into aspect in the target aspect-oriented system.

[1]  Gregor Kiczales,et al.  Design pattern implementation in Java and aspectJ , 2002, OOPSLA '02.

[2]  João M. Fernandes,et al.  An illustrative example of refactoring object‐oriented source code with aspect‐oriented mechanisms , 2008, Softw. Pract. Exp..

[3]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

[4]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[5]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[6]  Serge Demeyer,et al.  The FAMOOS Object-Oriented Reengineering Handbook , 1999 .

[7]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[8]  C. Marcos,et al.  Agile Development for a Beef-Cattle Farm Simulator , 2009, IEEE Latin America Transactions.

[9]  Miguel P. Monteiro,et al.  CATALOGUE OF REFACTORINGS FOR ASPECTJ , 2004 .

[10]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  Ramnivas Laddad,et al.  AspectJ in Action: Enterprise AOP with Spring Applications , 2009 .

[13]  Pablo Mangudo,et al.  Original paper: A web-based model for simulating whole-farm beef cattle systems , 2010 .

[14]  Mariano Ceccato,et al.  Refactoring the aspectizable interfaces: an empirical assessment , 2005, IEEE Transactions on Software Engineering.

[15]  Arie van Deursen,et al.  An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw , 2009, Automated Software Engineering.

[16]  Arie van Deursen,et al.  A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw , 2005, ArXiv.

[17]  Mark Harman,et al.  Automated refactoring of object oriented code into aspects , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[18]  Arie van Deursen,et al.  Identifying Crosscutting Concerns Using Fan-In Analysis , 2006, TSEM.

[19]  Claudia A. Marcos,et al.  Un proceso iterativo para la refactorización de aspectos , 2009, Rev. Avances en Sistemas Informática.

[20]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[21]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[22]  Eduardo Figueiredo,et al.  Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics , 2009, SQM@CSMR.