Information for researchers


CAM can be used by researchers to develop new models and analysis approaches.

The benefit of using CAM as a researcher is that it provides the user interface and framework that is required to execute and test a particular approach. This can very substantially reduce the effort required to create a new algorithm or analysis, allow input data to be easily created, loaded, saved, and allow results to be interactively explored and easily exported for further analysis in spreadsheets, etc.


Examples of research work that can be easily developed as CAM plugins are:

  • DSM/hierarchical DSM algorithms (sequencing, partitioning etc)
  • Modularity metrics
  • Structural metrics for application to DSM or diagram models (cycle counting, centrality measures, etc)
  • Process simulations, with output visualised as histogram, Gantt chart etc.

Other developments are possible; if you would like to use CAM as part of your research, contact us and we will help you get started.


Further information is provided below. Although  slightly out-of-date this may give a flavor of what is possible. 

CAM is a software platform with functionality that is organised into toolboxes. Each toolbox provides features for modelling and analysing the dependencies in certain types of system. This page contains information for developers wishing to create new toolboxes and other plugins.



Creating a new CAM toolbox

Each toolbox in CAM includes:

  • Exactly one Palette, which defines the modelling language used in the toolbox (the elements and how they can be connected)
  • Potentially, a set of Modules, which are essentially short programs that provide an element of functionality (for instance a simulation algorithm)

Modules are usually created to provide analysis tools which allow users to perform analysis on models created using customised notations, and to give them flexibility to explore the datasets they create through those analyses. A typical analysis tool is based on Monte-Carlo simulation.

To create a typical CAM toolbox you need to follow these steps:

  1. Decide what sort of analysis you want to perform and the sort of model it will be based on. For examples, see the toolboxes page.
  2. Create a palette allowing CAM users to construct instances of the model
  3. Create a module which accesses the data from models the user creates with the new palette, performs the analysis, and publishes the analysis results to the CAM charting functionality.