diff --git a/dmnverifierapi/pom.xml b/dmnverifierapi/pom.xml
index a9ad45f3a5bb28adf0db7a38617b5cdf55c2a9d4..700bf213f332144948c9334e50456778d61b760e 100644
--- a/dmnverifierapi/pom.xml
+++ b/dmnverifierapi/pom.xml
@@ -35,25 +35,6 @@
       <artifactId>jwi</artifactId>
       <version>2.2.3</version>
     </dependency>
-    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
-    <dependency>
-      <artifactId>jackson-core</artifactId>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <version>2.10.0</version>
-    </dependency>
-    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
-    <dependency>
-      <artifactId>jackson-databind</artifactId>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <version>2.10.0</version>
-    </dependency>
-    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
-    <dependency>
-      <artifactId>jackson-annotations</artifactId>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <version>2.10.0</version>
-    </dependency>
-
     <!-- Utils -->
     <dependency>
       <groupId>org.apache.commons</groupId>
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/Metric.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/Metric.java
index c0f682ea089e0a58e1a1e68dc1d88c72e78d157b..bf99810b4746ac0377b3e8807e2add65f445c74f 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/Metric.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/Metric.java
@@ -1,11 +1,11 @@
 package de.unikoblenz.fgbks.core.dmn.verification.metrics;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.VerificationType;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import javax.json.bind.annotation.JsonbProperty;
 
 /**
  * A metric instance give statistics about the execution of one verifier {@link VerificationType}).
@@ -29,7 +29,7 @@ public class Metric implements Serializable {
    *
    * @return the number of executions
    */
-  @JsonProperty("amountOfExecutions")
+  @JsonbProperty("amountOfExecutions")
   public int getAmountOfExecutions() {
     return executionTimes.size();
   }
@@ -39,7 +39,7 @@ public class Metric implements Serializable {
    *
    * @return the average execution time
    */
-  @JsonProperty("averageExecutionTime")
+  @JsonbProperty("averageExecutionTime")
   public double getAverageExecutionTime() {
     return executionTimes.stream().mapToLong(Long::longValue).average().orElseGet(() -> 0);
   }
@@ -49,14 +49,14 @@ public class Metric implements Serializable {
    *
    * @return the average execution time
    */
-  @JsonProperty("averageExecutionTimeInMs")
+  @JsonbProperty("averageExecutionTimeInMs")
   public double getAverageExecutionTimeInMs() {
     return executionTimes.stream().mapToLong(Long::longValue).average().orElseGet(() -> 0)
         / NANO_SECONDS_PER_SECOND;
   }
 
   /** Get the total execution time in ns. */
-  @JsonProperty("totalExecutionTime")
+  @JsonbProperty("totalExecutionTime")
   public long getTotalExecutionTime() {
     return executionTimes.stream().mapToLong(Long::longValue).sum();
   }
@@ -66,7 +66,7 @@ public class Metric implements Serializable {
    *
    * @return the {@link VerificationType}
    */
-  @JsonProperty("type")
+  @JsonbProperty("type")
   public VerificationType getType() {
     return type;
   }
@@ -74,9 +74,9 @@ public class Metric implements Serializable {
   /**
    * Get the total execution time in ms.
    *
-   * @return
+   * @return the execution time in ms
    */
-  @JsonProperty("totalExecutionTimeInMs")
+  @JsonbProperty("totalExecutionTimeInMs")
   public long getTotalExecutionTimeInMs() {
     return executionTimes.stream().mapToLong(Long::longValue).sum() / NANO_SECONDS_PER_SECOND;
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/MetricSet.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/MetricSet.java
index 1a8f95aefbe67310115dd417bb591fcacd2faf8a..2d254624ee77a9d914c6d1490456554fc7956ef1 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/MetricSet.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/metrics/MetricSet.java
@@ -1,10 +1,10 @@
 package de.unikoblenz.fgbks.core.dmn.verification.metrics;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.VerificationType;
 import java.io.Serializable;
 import java.util.HashSet;
 import java.util.Set;
+import javax.json.bind.annotation.JsonbProperty;
 import org.apache.commons.lang3.Validate;
 
 /**
@@ -19,7 +19,7 @@ public class MetricSet implements Serializable {
    *
    * @return the set of {@link Metric}s
    */
-  @JsonProperty("verificationMetrics")
+  @JsonbProperty("verificationMetrics")
   public Set<Metric> getMetrics() {
     return new HashSet<>(metrics);
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java
index 32ffe59277858bba20224eb08cc6dd7d58619ec8..c96cc95641fbcfcc9f02bc0cebb66af6173461a8 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java
@@ -8,11 +8,11 @@ import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.AC
 import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_OUTPUT_ENTRIES;
 import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_RULES;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import de.unikoblenz.fgbks.base.builder.DefaultBuilder;
 import de.unikoblenz.fgbks.base.domain.Name;
 import java.util.ArrayList;
 import java.util.List;
+import javax.json.bind.annotation.JsonbProperty;
 import org.apache.commons.lang3.Validate;
 
 public class VerificationFix {
@@ -69,12 +69,12 @@ public class VerificationFix {
   private Name fixName;
   private List<Action> actions;
 
-  @JsonProperty("fixName")
+  @JsonbProperty("fixName")
   public Name getFixName() {
     return fixName;
   }
 
-  @JsonProperty("actions")
+  @JsonbProperty("actions")
   public List<Action> getActions() {
     return actions;
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
index f015e91f24f6449adfae1474c980f3d49c29eb30..9a2edba868f48ff2e8e9a07e08b7f3b45109eae1 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
@@ -10,7 +10,8 @@ public class DecisionLogicLevelVerification extends AbstractClassificationType {
       new DecisionLogicLevelVerification();
 
   private DecisionLogicLevelVerification() {
-    super(new Name("DecisionLogic"), new Name("Decision Logic"), new Description("test")); // TODO
+    super(new Name("DecisionLogicLevel"), new Name("Decision Logic Level"),
+        new Description("Checks and verifications on the Decision Logic Level.<br/>xxxx"));
   }
 
   public static DecisionLogicLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
index 3feb19570b8d8cad8ef3e8f7efa77676d373b8ab..744e254883ab952e425384e743fbc1b7b8f17c69 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
@@ -9,7 +9,8 @@ public class DrdModelingLevelVerification extends AbstractClassificationType {
   private static final DrdModelingLevelVerification instance = new DrdModelingLevelVerification();
 
   private DrdModelingLevelVerification() {
-    super(new Name("DrdModeling"), new Name("DRD Modeling"), new Description("test")); // TODO
+    super(new Name("DrdModelingLevel"), new Name("DRD Modeling Level"),
+        new Description("test")); // TODO
   }
 
   public static DrdModelingLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ModelingLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ModelingLevelVerification.java
index 25f61e58602a13caa8afb9b96957a91791396756..c6a8815605a1d0f57d7f1de13e84e5970758d436 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ModelingLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ModelingLevelVerification.java
@@ -10,7 +10,7 @@ public class ModelingLevelVerification extends AbstractClassificationType {
       new ModelingLevelVerification();
 
   private ModelingLevelVerification() {
-    super(new Name("Modeling"), new Description("test")); // TODO
+    super(new Name("ModelingLevel"), new Name("Modeling Level"), new Description("test")); // TODO
   }
 
   public static ModelingLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/SyntaxLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/SyntaxLevelVerification.java
index 1794b8903b14f57d3a8196a00b46dbf79c4f1931..96078117b46dfdacbc842ad463ded8f312ff9c1c 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/SyntaxLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/SyntaxLevelVerification.java
@@ -9,7 +9,7 @@ public class SyntaxLevelVerification extends AbstractClassificationType {
   private static final SyntaxLevelVerification instance = new SyntaxLevelVerification();
 
   private SyntaxLevelVerification() {
-    super(new Name("Syntax"), new Description("test")); // TODO
+    super(new Name("SyntaxLevel"), new Name("Syntax Level"), new Description("test")); // TODO
   }
 
   public static SyntaxLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputColumnVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputColumnVerifier.java
index 9d99c39a54be0608103bc382a2ddb246f7ef3162..0843dd0527a9240e5da3dd25ab63f1f598e9d4c3 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputColumnVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputColumnVerifier.java
@@ -68,10 +68,8 @@ public class MissingInputColumnVerifier extends AbstractVerifier {
                   .build())
           .addToEntry(
               VerificationClassification.WARNING,
-              inputDataNode.isInputData()
-                  ? "Input data"
-                  : "Decision"
-                      + " node \"%s\" has no corresponding input column in decision \"%s\"",
+              (inputDataNode.isInputData() ? "Input data" : "Decision")
+                  + " node \"%s\" has no corresponding input column in decision \"%s\"",
               inputDataNode.getName().orElse(Name.NO_NAME),
               decision.getName().orElse(Name.NO_NAME));
     }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java
index 3dbce41afc6d92fa22f8b8c2ab0b9f1b7ce5040a..0b0d4eaff2dd15a18a87681709e5d21837f8074c 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java
@@ -49,12 +49,13 @@ public class MissingRuleVerifier extends AbstractVerifier {
     for (VDmnRule missingRule : missingRules) {
       StringBuilder sb = new StringBuilder();
       sb.append(templateDecision(dmnDecisionTable.getDmnDecision()));
-      sb.append("The following rule is not defined: {");
+      sb.append("The following rule is not defined: { ");
       sb.append(
           missingRule.getDmnInputValues().stream()
               .map(v -> v.getBoundary().getParsedText())
-              .collect(Collectors.joining("), (")));
-      sb.append("}");
+              .map(s -> s.isEmpty() ? "-" : s)
+              .collect(Collectors.joining(" / ")));
+      sb.append(" }");
 
       vreFactory.addElement(VerificationResultEntryElement.create(dmnDecisionTable));
       vreFactory.addToEntry(VerificationClassification.WARNING, sb.toString());
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
index f3cb770ebd32e78ddf0b28421bb55bdcc1135985..caa50366dbc58bd3d5d02aac49448d3f80636d37 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
@@ -2,6 +2,7 @@
 html, body {
   padding: 0;
   font-size: 11pt;
+  font-family: 'Open Sans', sans-serif;
 }
 
 h1 {
@@ -17,6 +18,27 @@ h2 {
   margin: 10px;
 }
 
+.status-dot {
+  height: 15px;
+  width: 15px;
+  background-color: #bbb;
+  border-radius: 50%;
+  display: inline-block;
+}
+
+.status-dot.active {
+  background-color: #0f0;
+}
+
+.status-dot.inactive {
+  background-color: #f00;
+}
+
+#backend-status {
+  float: right;
+  flex-grow: 1;
+}
+
 select {
   -moz-appearance: none;
   -webkit-appearance: none;
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html b/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
index 5e657f4cf3ee3968c64f9e95345642d97666658d..6b2368b3caa1cac974c14931785515fb19bae729 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
@@ -23,23 +23,26 @@
 <div class="dmn-root">
   <div class="dmn-top">
     <div class="dmn-top-item dmn-upload">
-      <label class="clickable" for="dmn-file-upload">
+      <label class="clickable" for="dmn-file-upload" title="Upload dmn">
       </label>
       <input id="dmn-file-upload" type="file"/>
     </div>
     <div class="dmn-top-item dmn-empty-file">
-      <label class="clickable" for="dmn-file-empty">
+      <label class="clickable" for="dmn-file-empty" title="Create empty dmn">
       </label>
       <input id="dmn-file-empty" type="button"/>
     </div>
     <div class="dmn-top-item dmn-download">
-      <label class="clickable" for="dmn-file-download">
+      <label class="clickable" for="dmn-file-download" title="Download current dmn">
       </label>
       <input id="dmn-file-download" type="button"/>
     </div>
     <div class="dmn-top-item">
       <h1>Verification for Decision Modeling Notation</h1>
     </div>
+    <div class="dmn-top-item">
+      <span class="status-dot" id="backend-status" title="Backend status"/>
+    </div>
   </div>
   <div id="content-dmn">
     <div class="editor-parent">
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
index e3badd9b0e49938782b316a21b6559d4d73397e3..d97bae525140e295e8005bc93916bfa9afe5f8a9 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
@@ -1,5 +1,6 @@
 let rootUrl = 'http://' + window.location.hostname + ':8080/';
 let dmnApi = rootUrl + 'api/dmn/';
+let inactiveBackend = true;
 
 /**
  * Global definition for verification results
@@ -15,12 +16,31 @@ let types = [];
 
 let $verifierTypes;
 
+function handleStatus() {
+  let $dot = $('#backend-status');
+  if (inactiveBackend) {
+    $dot.removeClass('active');
+    $dot.addClass('inactive');
+  } else {
+    $dot.removeClass('inactive');
+    $dot.addClass('active');
+  }
+}
+
 // load types
 $.ajax({
+  timeout: 500,
   url: dmnApi + 'verification/types',
   type: 'GET',
   contentType: 'text/xml',
+  error: function (err) {
+    verifierResults = {};
+    inactiveBackend = true;
+    handleStatus();
+  },
   success: function (data) {
+    inactiveBackend = false;
+    handleStatus();
     types = data;
     // sort types by classification and name
     types.sort(function (
@@ -59,7 +79,8 @@ function cleanDmnVerifierRoot() {
   });
   // Add Button
   $header.append($(`
-    <button class="clickable dmn-verifier-header-item" id="dmn-button-verify" onClick="checkVerifications()">
+    <button class="clickable dmn-verifier-header-item" id="dmn-button-verify" 
+    title="Request verifications" onClick="checkVerifications()">
     Verify</button>
   `));
   // add header to root
@@ -95,6 +116,7 @@ function getVerifications() {
       }
     }
     $.ajax({
+      timeout: 0, // ??
       url: apiPath,
       type: 'POST',
       contentType: 'text/xml',
@@ -132,6 +154,7 @@ function getVerifications() {
 function renderTypeOptions() {
   let $select = $(`
     <select name="verifier[]" id="dmn-verifier-types" multiple="multiple"
+    title="Preselect verifications"
       class="dmn-verifier-header-item dmn-verifier-select clickable">
   `);
   let currentOpt = '';
@@ -162,6 +185,7 @@ function renderDmnVerifierOptions() {
   let $select = $(`
     <select name="verifier" id="verifier"
       class="dmn-verifier-header-item dmn-verifier-select clickable"
+      title="Select calculated verification"
       onchange="renderVerifierResult(this)">
   `);
   $select.append($(`<option>Select a verifier</option>`));
diff --git a/dmnverifierparent/pom.xml b/dmnverifierparent/pom.xml
index 95659739a54690d648cf6856255fb68e12b2656b..5f61433c5421da51f936861ab158870e6921b554 100644
--- a/dmnverifierparent/pom.xml
+++ b/dmnverifierparent/pom.xml
@@ -9,7 +9,7 @@
   <properties>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <surefire-plugin.version>2.22.0</surefire-plugin.version>
-    <quarkus.version>0.24.0</quarkus.version>
+    <quarkus.version>0.25.0</quarkus.version>
     <maven.compiler.source>1.8</maven.compiler.source>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <maven.compiler.target>1.8</maven.compiler.target>