MoPE uses the following sub projects:
-
omc-java-api - Java-implementation of OMC’s CORBA interface
-
EnhancedWatchService - Wrapper for Java WatchServices
-
recently - Handles recently used files/projects
This repository contains a docker-compose
file which starts a local docker container containing OpenModelica and MoPE.
The compose file mounts your home directory into the container.
You don’t have to install OpenModelica locally, just docker
and docker-compose
.
Just start the compose file through: docker-compose up
and you are all set for projects inside your home directory.
Important
|
Installation instructions for users are available here. |
The following guide is for developers:
-
Please install OpenModelica and check that its working correctly (
which omc
). -
Set up a
$JAVA_HOME
environment variable. On Linux-Systems you can create one by adding the following line to your~/.bashrc
-file:export JAVA_HOME=<path-to-java>
TipThere is a script which automates step 4 till 6 and 8 available: setup.sh -
Because MoPE uses sub projects you need to clone all sub projects and this project into one directory. This should look like this:
parent/ - mope-server/ - omc-java-api/ - EnhancedWatchService/ - recently/
-
compile the
omc-java-api
:$ cd omc-java-api/ $ sbt compile
-
open up sbt in the
mope-server
and typecompile
into the sbt prompt:$ cd mope-server/ $ sbt sbt: compile
-
Execute
run
to start the server. MoPE will produce several logs during runtime. Especially the starting log should look similar to this:[info] Running de.thm.mope.MoPE 2016-07-08 19:26:50,077 [INFO ] a.e.s.Slf4jLogger [] - Slf4jLogger started 2016-07-08 19:26:50,077 [INFO ] a.e.s.Slf4jLogger [] - Slf4jLogger started 2016-07-08 19:26:50,828 [INFO ] d.t.m.s.Server [mope-server] - Server running at localhost:9001 2016-07-08 19:26:50,838 [INFO ] d.t.m.s.Server [mope-server] - Press Enter to interrupt
The log tells you on which server (localhost) and port (9001) the server is listening.
-
Setup the Atom plugin
-
Set the
interface
andport
in the Atom plugin in order to connect to the server.
Note
|
After first execution, MoPE generates a configuration file located at DO NOT CHANGE THE |
You can create an executable-jar using the sbt assembly
command. This command packages
everything - including all dependencies - in one jar which is executable using java -jar <jar>
.
A documentation for the REST-API can be found in doc/protocol/
.
The documentation is in asciidoc
and can be converted into html or pdf by executing
make html
& make pdf
in the protocl
directory.
-
The idea of an server-process and several editors that are communicating with the server isn’t new. This project is heavily inspired by the ENSIME-project. ENSIME is a convenient way to develop Scala projects. If you are a Scala developer please give it a try.
Note
|
Our main goal is to provide a similar development environment for Modelica like ENSIME for Scala. |