This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Moose - an extensible re-engineering environment
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Stephanne Ducasse and Michele Lanza are behind Moose - one of their grad students, Tudor Girba is up to discuss Moose. It was started in 1997 at the University of Berne. So to start - we define some basic terms.
Re-Engineering - you go from idea, to design, to code. As time goes by, you end up losing the original structure and cleanliness. Re-Engineering is the process of getting back in the right direction.
A high level view (i.e., a class diagram) does not qualify as reverse engineering. Moose is a re-engineering tool. It can be use to create metrics, do evolution analysis, and show diagrams of the code. The basic metrics can answer questions like - How much code, how many classes, how many methods per class, how many lines per method, etc.
Visualization can provide a quick overview. A spatial orientation can give you a quick look at what you have, allowing you to use other tools once you focus in.
Evolution analysis looks at how the code evolved (how did we get from there to here. History can tell you which parts are change prone, and can tell you how you arrived in the place you are at now.
Moose is a VisualWorks tool. By selecting a specific version of the code (a model), we can examine various aspects of the system. Moose is an environment for re-engineering. It can work with C, C++, Java, Cobol, VisualWorks Smalltalk, and Squeak Smalltalk. It could be extended to deal with other languages as well. It's available under the BSD license (free). It's research driven, but has been validated in industry. The rest of this presentation is a demo - you can get a lot of that information at the website - and you can download it here