"A Tool for Multi-Paradigm Modelling"

bentleyjoakes 11da88e5ef Fix model transformation crash with created element. 4 anni fa
client 4f27073f16 Be more precise about which changes to a model mark it as unsaved. 4 anni fa
doc aa3fc92ef4 Fix multi-line slash in doc. 4 anni fa
exported_to_md 445b9bbc40 added metadepth and pypdevs exporter 9 anni fa
exported_to_pypdevs 445b9bbc40 added metadepth and pypdevs exporter 9 anni fa
exported_to_sccdxml 7f7cd0ec6f Shift everything to "velocity" instead of "speed" in SCCD train code 7 anni fa
mt 11da88e5ef Fix model transformation crash with created element. 4 anni fa
packaging a21704b7df Update to 0.8.4 5 anni fa
plugins 38b8a2db2c Downgrade ModelVerse toolbar to alpha status. Create documentation for Ecore and ModelVerse toolbars. 6 anni fa
tests d73a9103a1 Add test for renaming files. 5 anni fa
users 45aa18e799 Remove Modelverse connector from master. 6 anni fa
.eslintignore 991fe804aa Add ESLint config. Fix semi-colon usage. 7 anni fa
.eslintrc.json 991fe804aa Add ESLint config. Fix semi-colon usage. 7 anni fa
.gitattributes 68ae2d448c avoid that .sh script are checked out with crlf 8 anni fa
.gitignore a9cfb799f9 Fix up documentation 7 anni fa
.travis.yml 02442b9404 Try larger virtual screen. 7 anni fa
COPYING cdc03fc724 initial commit (v0.5.4) 9 anni fa
COPYING.LESSER cdc03fc724 initial commit (v0.5.4) 9 anni fa
README.md e04862b9be Unify installation instructions in README and docs. 4 anni fa
REFS e09455202a Remove etc directory. 7 anni fa
___dataurize.js 9424f068b3 Unify license details. 7 anni fa
___do.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 anni fa
___fs++.js d6295b5a98 Fix merge. 6 anni fa
__worker.js 7ec8b5837b Make csworker a module and properly share variables with __worker. 5 anni fa
asworker.js d3fc78f25b Fix revert. 5 anni fa
csworker.js d62c99c723 Fix pattern metamodel compiling unneeded models. 4 anni fa
favicon.png 5c11106550 favicon added 9 anni fa
favicon.svg 5c11106550 favicon added 9 anni fa
httpwsd.js 260a30f6f2 Guard against injection in some file system calls. 6 anni fa
libmt.js acb5cd12ba Turn libmt into module. 7 anni fa
libsvg.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 anni fa
mmmk.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 anni fa
nightwatch.conf.js 13de976088 Update package to fix tests. 5 anni fa
package-lock.json a2aaf5fb65 Updated packages for testing. 5 anni fa
package.json 23a411ca7b Update version to 0.8.5. 5 anni fa
run.bat cdc03fc724 initial commit (v0.5.4) 9 anni fa
run_AToMPM_local.sh b61f5365a4 Add more output to running script. Remove specification of Python version. 5 anni fa
run_tests.sh e38d73599d Specify nightwatch path. 5 anni fa
styleinfo.js 9424f068b3 Unify license details. 7 anni fa
types.js 0a180528c5 Add explicit 'verify' event for constraints/actions. 7 anni fa
utils.js 991fe804aa Add ESLint config. Fix semi-colon usage. 7 anni fa

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