Main Page
My Personal Website
The CATMOS prototype is hosted on git hub here.

Installation Instructions:

The CATMOS tool was developed as a research prototype and makes
use of a large number of dependencies that need to be installed first.

CATMOS is split into a client component and a server component.

The server component is used performing the computational expensive
runs and can be run on different computer to the client which is used for controlling the tool.

1. Download the latest release of the CATMOS tool here: Download link

Windows Install Instructions:

2. Install SWI-Prolog from
3. Run catmos_server.exe to start the backend process
It will listen on port 11100 by default.
You can call the program with an argument such as catmos_server.exe 11101 to change the listening port number
to run multiple copies of the server process. Each process is single threaded but multiple copies can be used
together to make use of multiple core processors.

Now follow Client Install Instructions below.

Linux/Unix/Mac OS X Install Instructions
2. Install SWI-Prolog, Boost, Lua, gcc & Make using your package manager.

Archlinux: pacman -S swi-prolog boost lua gcc make

Mac OS X: Via Macports: port install swi-prolog boost lua
Install the Xcode Command Line Tools

3. Enter the catmos_server directory via the command line and run:
make && make install

catmos_server or catmos_server portNumber starts the server process.
To use multiple cores you need to start multiple processes on different port numbers.

Client Install Instructions:

The client install is the same for Windows, Linux & Mac OS X.

Download and install Eclipse Epsilon from

4. Run Eclipse Epsilon and point the workspace to the catmos_gui directory.

5. Install the XText component.
On the Menu Bar: Help > Install Modelling Components > XText

6. Click on the Green Circle with White Arrow on the toolbar and select Load Tool.

7. Click on the Green Circle with White Arrow on the toolbar and select Run Configurations. Now select runTool > Models > scenario > Edit > Model File: > Point this to the example you wish to run i.e. /AutoNextReleaseProblem/AutoNextReleaseProblem.scen > Ok > Run

8. Click on the Green Circle with White Arrow on the toolbar and select getParetoFront to retrieve the Pareto front.
The results will be in the folder called Results/ from where the .scen file was loaded
In this example: /AutoNextReleaseProblem/Results/

9. Network settings such as running on multiple processes can be accessed by editing Tool > networkSettings.eol
getAddress & getPort need to be set to a server process.
preamble is used to tell the server process to connect to other server processes (See comments for example)