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-2012: 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.1.5
Chef
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
Roassal
17
Drawing diagrams with EyeSee
18
Building browsers with Glamour
18.1
A glimpse of Glamour
18.2
Glamour architecture
18.3
Sketching browsers
18.4
Handling transmissions
18.5
Specifying presentations
18.5.1
Composite presentation
18.5.2
Listing presentations
18.5.3
Text presentation
18.5.4
Label presentation
18.5.5
Smalltalk code presentation
18.5.6
Mondrian presentation
18.5.7
Magritte presentation
18.5.8
Diff presentation
18.5.9
Action list presentation
18.5.10
Dynamic presentation
18.5.11
Custom presentations
18.5.12
EyeSee presentation
18.6
Scripting browsers
18.6.1
Tabulator
18.6.2
Finder
18.6.3
Accumulator
18.6.4
Composing browsers
18.7
Handling actions
18.8
Updating browsers
18.9
Rendering
18.10
Examples
19
Mining data and manipulating graphs
20
Checking and reporting with Arki
20.1
Creating a dedicated report from scratch
21
Importing
22
Development concerns
22.1
Loading the latest development version
22.2
Issue tracker and mailing list
22.3
Nightly builds
23
Automating Moose with AutoMoose
23.1
Installation
23.2
Integrating with Jenkins (Hudson)
III
Moose philosophy
24
Practical and joyful research with Moose
25
Humane assessment with Moose
26
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

rafatals3ode (19 April 2012, 6:07 pm)

please you can help me

 

how i can convert the MSE file to XML file

 

with my best regards

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