"A Tool for Multi-Paradigm Modelling"

Bentley James Oakes 9dda680b7a Update MT server to use supported websocket, which has Python3 capabilities. 7 rokov pred
client 4ebe4c9d8b Handle scrolled canvas correctly by using experimental property of event. 7 rokov pred
doc 1c9b4aa639 Fixes to documentation to fix warnings and overflow issues. Fixes #49. 7 rokov pred
exported_to_md 445b9bbc40 added metadepth and pypdevs exporter 8 rokov pred
exported_to_pypdevs 445b9bbc40 added metadepth and pypdevs exporter 8 rokov pred
exported_to_sccdxml 7f7cd0ec6f Shift everything to "velocity" instead of "speed" in SCCD train code 7 rokov pred
mt 9dda680b7a Update MT server to use supported websocket, which has Python3 capabilities. 7 rokov pred
packaging fef6e133b1 Update steps for release. Fix version number. 7 rokov pred
plugins c7361bf7f6 Convert plugins to modules. 7 rokov pred
tests 78d334b7fe Further wait. 7 rokov pred
users 66deb407f6 Fix opening toolbar in workflows. 7 rokov pred
.eslintignore 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred
.eslintrc.json 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred
.gitattributes 68ae2d448c avoid that .sh script are checked out with crlf 8 rokov pred
.gitignore a9cfb799f9 Fix up documentation 7 rokov pred
.travis.yml 02442b9404 Try larger virtual screen. 7 rokov pred
CHANGES.md fef6e133b1 Update steps for release. Fix version number. 7 rokov pred
COPYING cdc03fc724 initial commit (v0.5.4) 9 rokov pred
COPYING.LESSER cdc03fc724 initial commit (v0.5.4) 9 rokov pred
README.md eadc715ecb Move text from manual into docs. Part 1. 7 rokov pred
REFS e09455202a Remove etc directory. 7 rokov pred
___dataurize.js 9424f068b3 Unify license details. 7 rokov pred
___do.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred
___fs++.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred
__worker.js 27dea96f65 Fix errors by having worker ID global, and make responses strings. 7 rokov pred
asworker.js ab5182121e Add better MT debugging messages, and provide default value if none given. 7 rokov pred
csworker.js aca46a66fe When creating association, can now let csworker figure out path between elements. 7 rokov pred
favicon.png 5c11106550 favicon added 9 rokov pred
favicon.svg 5c11106550 favicon added 9 rokov pred
httpwsd.js 27dea96f65 Fix errors by having worker ID global, and make responses strings. 7 rokov pred
libmt.js acb5cd12ba Turn libmt into module. 7 rokov pred
libsvg.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred
mmmk.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 rokov pred
nightwatch.conf.js 9424f068b3 Unify license details. 7 rokov pred
package.json fef6e133b1 Update steps for release. Fix version number. 7 rokov pred
run.bat cdc03fc724 initial commit (v0.5.4) 9 rokov pred
run_AToMPM.sh 3b412bdc96 fixes issue #26 by removing the downloaded files. 8 rokov pred
run_AToMPM_local.sh 05a4a168c4 Change Linux auto-run script to Chrome. 7 rokov pred
run_tests.sh 1f92ebef47 Add testing in the Chrome browser (#27) 7 rokov pred
styleinfo.js 9424f068b3 Unify license details. 7 rokov pred
types.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 rokov pred
utils.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 rokov pred

README.md

AToMPM - A Tool for Multi-Paradigm Modelling

AToMPM stands for "A Tool for Multi-Paradigm Modeling". It is a research framework from which you can generate domain-specific modeling web-based tools that run on the cloud. AToMPM is an open-source framework for designing DSML environements, performing model transformations, and manipulating and managing models. It runs completely over the web, making it independent from any operating system, platform, or device it may execute on. AToMPM follows the philosophy of modeling everything explicitly, at the right level of abstraction(s), using the most appropriate formalism(s) and process(es), being completely modeled by itself.

Installation

To install AToMPM, follow these steps:

  • Download and install the latest Python 2.7.X
  • Download and install python-igraph
    • Use the pip package manager (comes with Python)
      • pip install python-igraph
    • For Windows, you may need to install the compiled igraph core
      • http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-igraph
  • Download and install node.js
  • Download and unzip the newest AToMPM release from https://github.com/AToMPM/atompm/releases
  • In the AToMPM folder, run the command npm install
    • If you do not need to run tests on AToMPM, you can run npm install --production

Usage

The commands below are for starting the ATOMPM server. Note that the default port is 8124.

Once started, the server can be connected to by accessing http://localhost:8124/atompm in either the Firefox or Chrome browsers.

Windows

To run AToMPM on Windows, execute the run.bat script inside of the main AToMPM folder.

Mac or Linux

  • Execute commands in different terminals

    1. Execute node httpwsd.js in the main AToMPM folder
    2. Execute python2 mt\main.py in the main AToMPM folder
    3. Open a browser (preferably Chrome) and navigate to http://localhost:8124/atompm
  • The above steps are automated by the run_AToMPM_local.sh script

  • Note that the run_AToMPM.sh script can automate the installation and usage of AToMPM

    • The first time you run this script, all dependencies are automatically downloaded and installed in the dependencies/ folder.
    • If, for any reason, the download process is interrupted or you experience problems with AToMPM, remove the dependencies/ folder and run the script again.

Documentation

Documentation can be found here: https://atompm.readthedocs.io

Testing

To run tests on AToMPM, run `npm test'

LICENSING

The AToMPM project is licensed under the LGPL as stated in COPYING.lesser.

AToMPM is copyright of the AToMPM team, which includes Raphael Mannadiar, Conner Hansen, Eugene Syriani, Hans Vangheluwe, Simon Van Mierlo, Huseyin Ergin, Jonathan Corley, Yentl Van Tendeloo, Vasco Sousa, and Bentley James Oakes