"A Tool for Multi-Paradigm Modelling"

bentleyjoakes 9181724705 gitignore user files except for default user. 8 months ago
.github c71e873f78 Minor CI Improvements (#112) 9 months ago
client 516eea0d23 Mark all changes as making model unsaved 10 months ago
doc aa3fc92ef4 Fix multi-line slash in doc. 11 months ago
exported_to_md 445b9bbc40 added metadepth and pypdevs exporter 5 years ago
exported_to_pypdevs 445b9bbc40 added metadepth and pypdevs exporter 5 years ago
exported_to_sccdxml 7f7cd0ec6f Shift everything to "velocity" instead of "speed" in SCCD train code 3 years ago
mt 2d0a3c8f1c Raise Exception for default code in rules 10 months ago
packaging a21704b7df Update to 0.8.4 1 year ago
plugins 38b8a2db2c Downgrade ModelVerse toolbar to alpha status. Create documentation for Ecore and ModelVerse toolbars. 2 years ago
tests d73a9103a1 Add test for renaming files. 1 year ago
users 45aa18e799 Remove Modelverse connector from master. 2 years ago
.eslintignore 991fe804aa Add ESLint config. Fix semi-colon usage. 3 years ago
.eslintrc.json 991fe804aa Add ESLint config. Fix semi-colon usage. 3 years ago
.gitattributes 68ae2d448c avoid that .sh script are checked out with crlf 4 years ago
.gitignore 9181724705 gitignore user files except for default user. 8 months ago
COPYING cdc03fc724 initial commit (v0.5.4) 5 years ago
COPYING.LESSER cdc03fc724 initial commit (v0.5.4) 5 years ago
README.md e04862b9be Unify installation instructions in README and docs. 11 months ago
REFS e09455202a Remove etc directory. 3 years ago
___dataurize.js 9424f068b3 Unify license details. 3 years ago
___do.js 991fe804aa Add ESLint config. Fix semi-colon usage. 3 years ago
___fs++.js d6295b5a98 Fix merge. 2 years ago
__worker.js 7ec8b5837b Make csworker a module and properly share variables with __worker. 1 year ago
asworker.js d3fc78f25b Fix revert. 1 year ago
csworker.js d62c99c723 Fix pattern metamodel compiling unneeded models. 11 months ago
favicon.png 5c11106550 favicon added 5 years ago
favicon.svg 5c11106550 favicon added 5 years ago
httpwsd.js 260a30f6f2 Guard against injection in some file system calls. 2 years ago
libmt.js acb5cd12ba Turn libmt into module. 3 years ago
libsvg.js 991fe804aa Add ESLint config. Fix semi-colon usage. 3 years ago
mmmk.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 3 years ago
nightwatch.conf.js dbe88c57a0 Add CI with GitHub Actions (#95) 10 months ago
package-lock.json d8504cf43e Update dependencies. (#96) 10 months ago
package.json d8504cf43e Update dependencies. (#96) 10 months ago
run.bat cdc03fc724 initial commit (v0.5.4) 5 years ago
run_AToMPM_local.sh e103f95f24 Try to run Chromium first in local run to match CI. 9 months ago
run_tests.sh dbe88c57a0 Add CI with GitHub Actions (#95) 10 months ago
styleinfo.js 9424f068b3 Unify license details. 3 years ago
types.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 3 years ago
utils.js 991fe804aa Add ESLint config. Fix semi-colon usage. 3 years ago

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
    • This can be either Python 2.7.X or 3.X.X, but 3.X.X is strongly recommended
    • Use a package manager on Linux
    • Or visit http://python.org/download/
  2. 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
  3. Download and install six
    • Use the pip package manager (comes with Python)
      • For Python2: pip install six
      • For Python3: pip3 install six
  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