Logo

Table of contents

Table of contents
Acknowledgments
1
Introduction
1.1
Moose in a nutshell
1.2
A brief history of Moose
1.2.1
1996-1999: First infrastructure, meta-model
1.2.2
1999-2003: Interchange formats, visualizations
1.2.3
2003-2007: Generic UI, interchange format, scriptable visualizations
1.2.4
2007-2010: FAMIX 3.0, scriptable browsers, parsing framework, Pharo
1.2.5
2011: Improved browsers and visualization engines, query API
1.3
Why Smalltalk
1.4
Book organization
1.5
About the book
1.6
About the online version of the book
I
Moose externals
2
Installation
3
Running example: ArgoUML 0.28.1
4
Importing and exporting models
4.1
Importing and exporting with MSE
4.2
Importing Smalltalk code
4.3
Importing using external parsers
4.3.1
Importing Java using the VerveineJ external parser
4.3.2
Importing Java and C/C++ using the inFamix external parser
4.4
Others
4.5
Setting the root folder
5
Generic user interface for analysis
5.1
Everything is an entity
5.2
Finding your way through models
6
Visualizing software models
6.1
System Complexity
6.2
Class Blueprint
6.3
Side-by-side duplications
6.4
Namespace and package dependencies
6.5
Enriched dependencies structure matrix
6.6
Name cloud
6.7
Annotation constellation
6.8
Distribution Map
6.9
Multiplication constellation
7
Detecting duplication
7.1
Algorithm
8
Dedicated browsers
8.1
Code browsers
8.2
Multiplication constellation browser
II
Moose internals
9
Architecture
10
Dealing with models
10.1
The Entity
10.2
The Group
10.3
The Model
11
The FAMIX family of meta-models
11.1
The core language-independent meta-model
11.1.1
An incorrect, but useful overview
11.1.2
Types
11.1.3
The invocation
11.1.4
The annotations
11.2
Meta-model extensions
11.3
The Meta Browser
12
Meta-modeling with Fame
12.1
The FM3 meta-meta-model
12.2
Subject, model, meta-model, meta-meta-model
12.3
Smalltalk integration
13
Annotating with Metanool
14
Writing parsers with PetitParser
14.1
Step by step parsing of MSE
14.1.1
Starting small with parsing names
14.1.2
Manipulating the output of parsing strings and numbers
14.1.3
Dealing with cyclic dependencies when scripting the MSE grammar
14.1.4
Encapsulating the MSE grammar in a class
14.1.5
Testing the MSE grammar class
14.1.6
Creating an MSE parser
14.2
Parsing operators
14.3
Dedicated user interface
15
Painting models with Mondrian
15.1
Painting a small view
15.2
Mondrian architecture
15.3
Putting it all together with scripts
15.3.1
Constructing the graph
15.3.2
Adding nodes
15.3.3
Adding edges
15.3.4
Using layouts
15.3.5
Specifying shapes
15.3.6
Handling interaction
15.3.7
Conventions for Mondrian scripts
15.3.8
Scripting in Mondrian Easel
16
Drawing diagrams with EyeSee
17
Building browsers with Glamour
17.1
A glimpse of Glamour
17.2
Glamour architecture
17.3
Sketching browsers
17.4
Handling transmissions
17.5
Specifying presentations
17.5.1
Composite presentation
17.5.2
Listing presentations
17.5.3
Text presentation
17.5.4
Label presentation
17.5.5
Smalltalk code presentation
17.5.6
Mondrian presentation
17.5.7
Magritte presentation
17.5.8
Diff presentation
17.5.9
Action list presentation
17.5.10
Dynamic presentation
17.5.11
Custom presentations
17.5.12
EyeSee presentation
17.6
Scripting browsers
17.6.1
Tabulator
17.6.2
Finder
17.6.3
Accumulator
17.6.4
Composing browsers
17.7
Handling actions
17.8
Updating browsers
17.9
Rendering
17.10
Examples
18
Mining data and manipulating graphs
19
Checking and reporting with Arki
19.1
Creating a dedicated report from scratch
20
Importing
21
Development concerns
21.1
Loading the latest development version
21.2
Issue tracker and mailing list
21.3
Nightly builds
22
Automating Moose with AutoMoose
22.1
Installation
22.2
Integrating with Jenkins (Hudson)
III
Moose philosophy
23
Practical and joyful research with Moose
24
Humane assessment with Moose
25
Principles
IV
Appendix
Keyword index
Table of figures

Acknowledgments
The Moose Book
About
This book offers an overview of the Moose platform for software and data analysis. More specifically it covers version 4.
Currently, the book is in a preliminary shape, with a number of parts still under writing.
Feedback is more than appreciated. Please contact me, or leave a comment on this site.

User Contributed Notes

daniele.acquaroli (4 December 2011, 12:37 pm)

The search engine doesn't work. If I try to search "moose" it says: "Error: subscript is out of bounds: 8218"

tudor (20 November 2011, 6:36 pm)

This is a book about Moose :).

gausadri83 (17 November 2011, 1:55 pm)

Hi, I`m interested in learning moose. There are published any book about moose? or in PDF format? I`m working with code and metrics analisys.

tshank30 (23 July 2011, 8:43 am)

thanks

tudor (26 November 2010, 10:18 am)

You cannot get it at the moment. It is still a work in progress. However, feel free to ask questions.

sspoto (24 November 2010, 5:19 pm)

Hi, can I get this book in PDF format?

 

Thanks, I am very interested in learning more about what Moose can offer me, and how I can add to it.

Add a Note