Public | Automated Build

Last pushed: a year ago
Short Description
Development environment for building applications that are modeled according to SHDM
Full Description


Synth is a development environment for building hypermedia applications that are modeled
according to SHDM (Semantic Hypermedia Design Method). It provides a set of modules that
receive, as input, models generated in each step of SHDM and produces, as output, the
hypermedia application described by these models. Synth also provides an authoring environment
that facilitates the adding and editing of these models through a GUI that can run on
any web browser.

For more details see this publication:

Synth was built as part of the master thesis dissertation in Informatics of
Mauricio Henrique de Souza Bomfim, at PUC-Rio.

It is in a very early stage; please be advised you may find some bugs when using Synth.
Please report if you find any bug.


Install JRuby ( 1.6.8

Install Bundler

$ jgem install bundler

Install dependencies

$ cd /path/to/synth
$ bundle install

RUNNING (Ruby 1.9)

$ jruby --1.9 -S script/server

Open on your internet browser: http://localhost:3000


Open on your internet browser: http://localhost:3000/mira.html

Mira Docs:

MIRA files

  • Locations:
    $ cd /path/to/synth/public/js
  • Path to edit your interface:
    $ edit /path/to/synth/public/js/app.js
  • RUN your application:

Open on your internet browser: http://localhost:3000/mira.html?app=app

REST examples


1) Install Docker

On Windows and Mac OS, you can use Docker Toolbox:

2) Run container of synth by the first time:

this can take while.

$ docker run --name my_synth -p 3000:3000 tecweb/synth

3) Access synth:

4) Access Mira:

5) Stop synth container:

$ docker stop my_synth

6) Running other times to not lose your data and applications:

$ docker start my_synth

Export your application

1) Run container compress command:

Considering your application is called my_app

$ docker exec my_synth tar -zcvf public/my_app.tar.gz applications/my_app

2) Download compress file from your browser:

Import your data from external file

1) Run Synth

Create and application,e.g., *my_app*. Do not activate it (i.e., leave it as "false" in the apps menu).

2) Shutdown and close Synth

3) Put your RDFXML formatted file (e.g., my_app.owl, as exported from Protegé) with the data in the Synth folder/directory.

4) Open a command prompt/shell window, and change the active diretory to Synth's home directory

Run the following command
    jruby --1.9 -S script/import my_app.owl model=my_app format=rdfxml
Docker Pull Command
Source Repository