This repository contains everything related to the ODERU component of the CREMA system. ODERU is part of workpackage WP5.
ODERU performs funcitonal and non-functional optimization of business process models at design time and at runtime.
The parent project binds together all components required to build and run ODERU.
To clone, use
git clone --recursive
It references the other repositories as submodules. If you've already cloned this repository without the --recursive
flag, you need to manually download and setup
the submodules by running
git submodule update --init --recursive
in the cloned repositories directory.
ODERU server providing a REST interface to the ODERU component. The component is wrapped in a docker container. See documentation inside the module for details on how to deploy and access it.
Implements the CREMA REST API for ODERU. This is used by the server controlled by oderu-app. For incoming HTTP requests, it parses the request data and delegates it to the oderu-workflow module. Results are encoded and returned as HTTP responses.
Workflow handler as specified in the functional specification of CREMA. Based on the type of request,
it triggers functional and non-functional optimization or related tasks by calling the corresponding
functionality of the oderu-core module. Part of the workflows is also the interaction with other
CREMA components, such as CRI (storing and retrieving data), MPM (retrieving service descriptions and service schedules), PRU (retrieving process execution logs for an executed process service plan) and OSL (query leasability of a service).
Provides interfaces to other CREMA components. Internally, calls to these interfaces are mapped to corresponding REST requests.
Implements the core functionality of ODERU with respect to funcitonal and non-functional optimization as described in the functional specification deliverable. This includes semantic service composition
and constraint optimization problem solving as well as semantic service selection and indexing of
computed process service plans for re-use.
This folder contains code, documentation and examples of the SDA (Semantic Data Analysis) module. It is part of ODERU, but can also be used stand-alone.
SDA consists of an RDF stream processing engine (RSP) and online condition monitoring using probabilistic reasoning (PCM).
ServDTO (the CREMA JSON format for service descriptions) have to be translated to OWL-S in order to make use of several semantic technologies (like the iSeM matchmaker). This is done by this module.
The iSeM (v2.1) matchmaker. It performs semantic service selection for OWL-S services and is used by ODERU for service selection and pattern-based planning.
BnB-ADOPT implementation based on Apache Flink for the cloud. BnB-ADOPT is a constrained optimization problem solver.
To build, run
mvn install
from this directory (with README
and pom.xml
).
To create javadoc, run
mvn javadoc:aggregate -pl :oderu-parent,:oderu-app,:oderu-core,:oderu-interaction,:oderu-rest,:oderu-workflow,:bnb-adopt-cloud,:servdto-owls
from this directory (with README
and pom.xml
). The javadoc can then be found in the target/site/apidocs folder.
For this, please refer to the /oderu-app folder and its README.