/cyphy

[NOT MAINTAINED] CyPhy customization of WebGME

Primary LanguageJavaScriptOtherNOASSERTION

WebGME-CyPhy

WebGME is a collaborative meta-modeling environment which allows multiple users to simulataneously create and edit models within a single project. It stores the model objects in a Mongo database. WebCyPhy utilizes WebGME, and uses a meta-model similar to that used in the META toolchain developed by the Institute for Software Integrated Systems at Vanderbilt University.

Starting from Scratch

  1. Install nodejs
  2. Install mongodb if you want to use a local database (recommended for initial use)
  3. Clone this webgme-cyphy repository, and change to that directory on your machine
  4. Install dependencies listed in package.json
  • From command line: npm install
  • install_script.cmd will also install the dependencies. (2023 note: this might give errors but try starting the server anyhow - some error don't matter.)
  1. Add dashboard files to the blob.
  • Run add_dashboard.cmd
  • From command line: node add_dir_to_blob.js blob-resources/dashboard
  1. In a separate process, run launch_database.cmd to start a Mongo database
  • Or: edit the config.json file to point the server to an existing mongoip - the default Mongo IP is 127.0.0.1
  1. Start the WebGME server
  1. To set up a worker (needed for generating desert configurations, executing test benches etc.), follow the README.md at /node_modules/webgme-domain-tools/executor_worker.

For more details, consult the documentation.

2 ways to visualize models using WebCyPhy

Option A

Visit localhost:8855 to open the default WebGME editor

  • Click on the first icon in the toolbar Projects
  • Create new project from file
  • Name the project ADMEditor
  • Select the meta/ADMEditor_metaOnly.json file - you can browse and select the file or drag-and-drop it to the dialogue box
  • Create a WorkSpace node in the root and add an ACMFolder, ADMFolder.
  • From each folder respectively run the ACMImporter- and ADMImporter-plugins. For the ACMs, drag and drop all the zip files from /meta/drivetrain-model/Components onto the dropbox. For the ADM select the /meta/drivetrain-model/FullSystem.adm file.

Option B

This interface is under development. Visit localhost:8855/extlib/src/app/default/ to open the domain-specific WebCyPhy UI. This option requires that the 'ADMEditor' language exists in the database (if not it will link you to Option 1). This application reads and writes to and from the master branch.

Notes

Database

  • The default database is CyPhy instead of multi (default webgme database)
  • On Windows "C:\Program Files\MongoDB 2.6 Standard\bin\mongod" --dbpath mongodatabase

Utils

  • Adding a full directory to the local blob: While models/objects are stored in the Mongo database,their associated resource files are stored on the WebGME server in the 'blob.' When importing a project, it is sometimes necessary to upload multiple resource files for each object in the project, and using node add_dir_to_blob.js samples\RollingWheel is the way to achieve this.

Building library (cyphy-components)

node_modules/gulp/bin/gulp.js compile-all

Development mode node_modules/gulp/bin/gulp.js dev

Visit dist/docs/cyphy-components-docs.html

Prettify

To apply code style use node node_modules/gulp/bin/gulp.js prettify

(Move pre-commit to .git/hooks for automatic prettifying before commiting.)

Library-dependencies

  • Angular (1.3.2)
  • jQuery UI (1.11.1)
  • Angular-ui-bootstrap (0.10.0)
  • isis-ui-components (0.0.2)