A small java 8+ standalone library to implement feedback control



feedbackcontrol4j Java library

Apache License 2 download-latest-bb00bb Build Status Coverage Status


feedbackcontrol4j is a small, standalone java library.

Implement feedback control in your applications. Main entities are Controller, Controllable, Sensor, Filter, ControlLoop, …​

For further reading I can recommend Feeback Control for computer Systems from Philipp K. Janert.



To use this library you need

  • Java 7 or later


Usage in Gradle, Maven, …​

Gradle based build

Add the following dependency in your gradle build file:

repositories {
   jcenter() // Bintray's JCenter repository

dependencies {
    compile 'ch.petikoch.libs:feedbackcontrol4j:2.0.0' // or whatever explicit version

    // or "latest", for the braves:
    //compile 'ch.petikoch.libs:feedbackcontrol4j:+'

Maven based build

Add jtwfg as dependency to your pom.xml:

            <version>2.0.0</version> <!-- or whatever version -->
            <!-- or latest release (not snapshot), for the braves

Be sure to have Bintray’s JCenter repository in your maven settings.xml. If not, see "Set me up!" on the page for instructions to set it up.

Just the jar

download-latest-bb00bb The jar of the latest version


Please use GitHub issues and pull requests for support.

How to build the project

To run a build of the feedbackcontrol4j project on your machine, clone the git repo to your local machine and start the gradle based build using gradle’s gradlewrapper from the shell/command line:

> ./gradlew build


Feedback control is IMO in "enterprise" software development still pretty new (2015), but very promising.

I didn’t find any "ready-to-go" library for the JVM to implement custom feedback control closed loops, so I started with this work here.

Best regards,