The Moose Reengineering Environment

• It supports reengineering of applications developed in different object-oriented languages, as its core model is language independent which, if needed, can be customized to incorporate language specific features. • It is extensible. New entities like measurements or special-purpose relationships can be added to the environment. • It supports reengineering by providing facilities for analysing and storing multiple models, for refactoring and by providing support for analysis methods such as metrics and the inference of properties of source code elements. • With its fully object-oriented implementation, Moose provides a complete description of the metamodel elements in terms of objects that are easily parameterised, extended or manipulated. These properties make Moose an ideal foundation for reengineering tools such as CodeCrawler [DDL99] or Supremo [KN01]. These, and other, tools are discussed in section 8.

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

[2]  Zhongmin Su,et al.  Cdif framework for modeling and extensibility , 1994 .

[3]  Stéphane Ducasse,et al.  Why Unified is not Universal? UML Shortcomings for Coping with Round-trip Engineering , 1999, UML.

[4]  Roel Wuyts,et al.  A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation , 2001 .

[5]  David Notkin,et al.  Reengineering Reflexion Models: A Case Study , 1997 .

[6]  Stéphane Ducasse,et al.  A language independent approach for detecting duplicated code , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[7]  Ralph E. Johnson,et al.  A Refactoring Tool for Smalltalk , 1997, Theory Pract. Object Syst..

[8]  Andy Schürr,et al.  GXL: toward a standard exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[9]  Michele Lanza,et al.  Combining Metrics and Graphs for Object Oriented Reverse Engineering , 1999 .

[10]  Serge Demeyer,et al.  SNiFF+ talks to Rational Rose: inter-operability using a common exchange model , 1999 .

[11]  Stéphane Ducasse,et al.  Recovering high-level views of object-oriented applications from static and dynamic information , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[12]  Michele Lanza,et al.  A hybrid reverse engineering platform combining metrics and program visualization , 1999 .

[13]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[14]  Oscar Nierstrasz,et al.  A meta-model for language-independent refactoring , 2000, Proceedings International Symposium on Principles of Software Evolution.

[15]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[16]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[17]  Serge Demeyer,et al.  FAMIX 2. 1-the FAMOOS information exchange model , 1999 .

[18]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[19]  Rick Kazman Tool support for architecture analysis and design , 1996, ISAW '96.