"A Tool for Multi-Paradigm Modelling"

BentleyJOakes f05596a165 Update socketio libraries (#117) 4 lat temu
.github f05596a165 Update socketio libraries (#117) 4 lat temu
client f05596a165 Update socketio libraries (#117) 4 lat temu
doc aa3fc92ef4 Fix multi-line slash in doc. 5 lat temu
exported_to_md 445b9bbc40 added metadepth and pypdevs exporter 9 lat temu
exported_to_pypdevs 445b9bbc40 added metadepth and pypdevs exporter 9 lat temu
exported_to_sccdxml 7f7cd0ec6f Shift everything to "velocity" instead of "speed" in SCCD train code 8 lat temu
mt f05596a165 Update socketio libraries (#117) 4 lat temu
packaging f05596a165 Update socketio libraries (#117) 4 lat temu
plugins 38b8a2db2c Downgrade ModelVerse toolbar to alpha status. Create documentation for Ecore and ModelVerse toolbars. 7 lat temu
tests d73a9103a1 Add test for renaming files. 5 lat temu
users 45aa18e799 Remove Modelverse connector from master. 6 lat temu
.eslintignore 991fe804aa Add ESLint config. Fix semi-colon usage. 7 lat temu
.eslintrc.json 991fe804aa Add ESLint config. Fix semi-colon usage. 7 lat temu
.gitattributes 68ae2d448c avoid that .sh script are checked out with crlf 8 lat temu
.gitignore 9181724705 gitignore user files except for default user. 4 lat temu
COPYING cdc03fc724 initial commit (v0.5.4) 9 lat temu
COPYING.LESSER cdc03fc724 initial commit (v0.5.4) 9 lat temu
README.md f05596a165 Update socketio libraries (#117) 4 lat temu
REFS e09455202a Remove etc directory. 7 lat temu
___dataurize.js 9424f068b3 Unify license details. 7 lat temu
___do.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 lat temu
___fs++.js d6295b5a98 Fix merge. 6 lat temu
__worker.js 7ec8b5837b Make csworker a module and properly share variables with __worker. 6 lat temu
asworker.js d3fc78f25b Fix revert. 6 lat temu
csworker.js f05596a165 Update socketio libraries (#117) 4 lat temu
favicon.png 5c11106550 favicon added 9 lat temu
favicon.svg 5c11106550 favicon added 9 lat temu
httpwsd.js f05596a165 Update socketio libraries (#117) 4 lat temu
libmt.js acb5cd12ba Turn libmt into module. 7 lat temu
libsvg.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 lat temu
mmmk.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 lat temu
nightwatch.conf.js dbe88c57a0 Add CI with GitHub Actions (#95) 5 lat temu
package-lock.json f05596a165 Update socketio libraries (#117) 4 lat temu
package.json f05596a165 Update socketio libraries (#117) 4 lat temu
run.bat cdc03fc724 initial commit (v0.5.4) 9 lat temu
run_AToMPM_local.sh e103f95f24 Try to run Chromium first in local run to match CI. 4 lat temu
run_tests.sh dbe88c57a0 Add CI with GitHub Actions (#95) 5 lat temu
styleinfo.js 9424f068b3 Unify license details. 7 lat temu
types.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 lat temu
utils.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 lat temu

README.md

AToMPM - A Tool for Multi-Paradigm Modelling

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.

Portable Zip File

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, and download the atompm-portable.zip file.

To run the portable version, execute AToMPM.bat.

Installation

To install AToMPM, follow these steps:

  1. Download and install the latest Python
  2. Download and install python-igraph
    • Use the pip package manager (comes with Python)
      • pip3 install python-igraph
    • For Windows, you may need to install the compiled igraph core
      • http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-igraph
  3. Download and install the six and python-socketio libraries
    • Use the pip package manager (comes with Python)
      • pip3 install six python-socketio python-socketio[client] websocket-client
  4. Download and install node.js
  5. Download and unzip the source files for the newest AToMPM release from https://github.com/AToMPM/atompm/releases
  6. In that unzipped 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 these 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

Documentation

Documentation for AToMPM can be found here: https://atompm.readthedocs.io/en/latest/

Bug Reporting/Feedback

Please create an issue for your bug or feedback 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