A Tool for Multi-Paradigm Modeling
Clone or download
Latest commit 38b8a2d Nov 18, 2018
Permalink
Failed to load latest commit information.
client Merge pull request #71 from AToMPM/MV-save Oct 13, 2018
doc Downgrade ModelVerse toolbar to alpha status. Create documentation fo… Nov 18, 2018
exported_to_md added metadepth and pypdevs exporter Sep 22, 2016
exported_to_pypdevs added metadepth and pypdevs exporter Sep 22, 2016
exported_to_sccdxml Shift everything to "velocity" instead of "speed" in SCCD train code Nov 9, 2017
mt Fix getting length of bridge in mt. Sep 6, 2018
packaging Update instructions for packaging. Nov 16, 2018
plugins Downgrade ModelVerse toolbar to alpha status. Create documentation fo… Nov 18, 2018
tests Update package.json and test file to fix tests. Nov 4, 2018
users/(default) Downgrade ModelVerse toolbar to alpha status. Create documentation fo… Nov 18, 2018
.eslintignore Add ESLint config. Fix semi-colon usage. Jun 4, 2018
.eslintrc.json Add ESLint config. Fix semi-colon usage. Jun 4, 2018
.gitattributes avoid that .sh script are checked out with crlf Jul 29, 2017
.gitignore Fix up documentation Jun 15, 2018
.travis.yml Try larger virtual screen. Jun 12, 2018
COPYING initial commit (v0.5.4) Aug 30, 2016
COPYING.LESSER initial commit (v0.5.4) Aug 30, 2016
README.md Add Travis build badge Nov 4, 2018
REFS Remove etc directory. Jun 17, 2018
___dataurize.js Unify license details. May 28, 2018
___do.js Add ESLint config. Fix semi-colon usage. Jun 4, 2018
___fs++.js Add ESLint config. Fix semi-colon usage. Jun 4, 2018
__worker.js Merge pull request #61 from AToMPM/access-headers Aug 8, 2018
asworker.js Add better MT debugging messages, and provide default value if none g… Jun 12, 2018
csworker.js When creating association, can now let csworker figure out path betwe… Jul 16, 2018
favicon.png favicon added Aug 31, 2016
favicon.svg favicon added Aug 31, 2016
httpwsd.js Add Access-Control-Allow-Origin to headers. Jun 20, 2018
libmt.js Turn libmt into module. Jun 4, 2018
libsvg.js Add ESLint config. Fix semi-colon usage. Jun 4, 2018
mmmk.js Add explicit 'verify' event for constraints/actions. Jun 12, 2018
nightwatch.conf.js Disable nightwatch reports. Sep 6, 2018
package-lock.json Update package.json and test file to fix tests. Nov 4, 2018
package.json Update package.json and test file to fix tests. Nov 4, 2018
run.bat initial commit (v0.5.4) Aug 30, 2016
run_AToMPM.sh fixes issue #26 by removing the downloaded files. Jul 29, 2017
run_AToMPM_local.sh Change Linux auto-run script to Chrome. Jun 21, 2018
run_tests.sh Add testing in the Chrome browser (#27) May 18, 2018
styleinfo.js Unify license details. May 28, 2018
types.js Add explicit 'verify' event for constraints/actions. Jun 12, 2018
utils.js Add ESLint config. Fix semi-colon usage. Jun 4, 2018

README.md

AToMPM - A Tool for Multi-Paradigm Modelling Build Status

AToMPM is an open-source research framework for generating domain-specific modeling web-based tools that run on the cloud. AToMPM facilitates designing DSML environments, 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), as it is completely modeled by itself.

Installation

A portable .zip version of AToMPM is available for Windows. This portable version is intended for those users with limited installation capabilities, such that they can skip these installation instructions. Please check https://github.com/AToMPM/atompm/releases for the newest release.

To install AToMPM, follow these steps:

  • Download and install the latest Python (2.7.X or 3.X.X)
  • Download and install python-igraph
    • Use the pip package manager (comes with Python)
      • For Python2: pip install python-igraph
      • For Python3: pip3 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 six
    • Use the pip package manager (comes with Python)
      • For Python2: pip install six
      • For Python3: pip3 install six
  • Download and install node.js
  • Download and unzip the source files for 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 python mt\main.py in the main AToMPM folder
    3. Open a browser (Firefox or 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 for AToMPM can be found here: https://atompm.readthedocs.io

Bug Reporting/Comments

Please create an issue for your bug or comments here: https://github.com/AToMPM/atompm/issues

Testing

To run tests on AToMPM, run `npm test'. Ensure that your resolution of your screen is set quite high, as elements cannot be placed by the script off-screen.

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