You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by gi...@apache.org on 2026/03/03 13:46:44 UTC

(incubator-kie-kogito-examples) branch main updated: [incubator-kie-issues#2262] Create dmn +scesim + gradle example (#2183)

This is an automated email from the ASF dual-hosted git repository.

gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-examples.git


The following commit(s) were added to refs/heads/main by this push:
     new 26d1bfefe [incubator-kie-issues#2262] Create dmn +scesim + gradle example (#2183)
26d1bfefe is described below

commit 26d1bfefe76b8a517e3506910a09fe4fae412eb5
Author: Gabriele Cardosi <ga...@gmail.com>
AuthorDate: Tue Mar 3 14:46:40 2026 +0100

    [incubator-kie-issues#2262] Create dmn +scesim + gradle example (#2183)
    
    * [incubator-kie-issues#2262] Create dmn +scesim + gradle example
    
    * [incubator-kie-issues#2262] Create dmn +scesim + gradle example
    
    * [incubator-kie-issues#2262] Updated springboot version for gradle examples
    
    ---------
    
    Co-authored-by: Gabriele-Cardosi <ga...@ibm.com>
---
 .../dmn-quarkus-gradle/README.md                   | 264 +++++++
 .../dmn-quarkus-gradle/build.gradle                |  71 ++
 .../dmn-quarkus-gradle/gradle.properties           |  10 +
 .../dmn-quarkus-gradle}/pom.xml                    |  10 +-
 .../dmn-quarkus-gradle/settings.gradle             |  37 +
 .../quarkus/example/NativeTrafficViolationIT.java  |  27 +
 .../example/CustomDoCompileFEELProfile.java        |  25 +
 .../AllowedValuesChecksInsideCollection.dmn        |  77 +++
 .../src/main/resources/Traffic Violation.dmn       | 230 +++++++
 .../src/main/resources/application.properties      |  24 +
 .../dmn/quarkus/example/AllowedValuesTest.java     |  71 ++
 .../dmn/quarkus/example/TrafficViolationTest.java  |  52 ++
 .../TestScenarioJunitActivatorTest.java            |  31 +
 .../src/test/resources/TrafficViolationTest.scesim | 766 +++++++++++++++++++++
 .../src/test/resources/application.properties      |  21 +
 .../kogito-quarkus-gradle-examples/pom.xml         |   3 +-
 .../process-decisions-rules-quarkus-gradle/pom.xml |   2 +-
 .../settings.gradle                                |  20 +
 .../dmn-springboot-gradle/README.md                | 264 +++++++
 .../dmn-springboot-gradle/build.gradle             |  92 +++
 .../gradle.properties                              |   2 +-
 .../pom.xml                                        |   8 +-
 .../dmn-springboot-gradle/settings.gradle          |  40 ++
 .../example/CustomDoCompileFEELProfile.java        |  25 +
 .../example/KogitoSpringbootApplication.java       |  30 +
 .../AllowedValuesChecksInsideCollection.dmn        |  77 +++
 .../src/main/resources/Traffic Violation.dmn       | 230 +++++++
 .../src/main/resources/application.properties      |  24 +
 .../src/main/resources/logback.xml                 |  34 +
 .../dmn/springboot/example/AllowedValuesTest.java  |  84 +++
 .../springboot/example/TrafficViolationTest.java   |  65 ++
 .../TestScenarioJunitActivatorTest.java            |  31 +
 .../src/test/resources/TrafficViolationTest.scesim | 766 +++++++++++++++++++++
 .../kogito-springboot-gradle-examples/pom.xml      |   3 +-
 .../gradle.properties                              |   2 +-
 .../pom.xml                                        |   2 +-
 gradle-examples/pom.xml                            |   2 +-
 37 files changed, 3506 insertions(+), 16 deletions(-)

diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/README.md b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/README.md
new file mode 100644
index 000000000..88d9de41f
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/README.md
@@ -0,0 +1,264 @@
+# DMN + Spring Boot example
+
+## Description
+
+A simple DMN service to evaluate a traffic violation and a model with input constraints.
+
+The org.kie.dmn.runtime.typecheck=true property is used to enable type and value check.
+
+## Installing and Running
+
+### Prerequisites
+
+You will need:
+  - Java 11+ installed
+  - Environment variable JAVA_HOME set accordingly
+
+## Build and run
+
+### Prerequisites
+
+You will need:
+- Java 17+ installed
+- Environment variable JAVA_HOME set accordingly
+
+### Compile and Run in Local Dev Mode
+
+```sh
+../../gradlew clean bootRun
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat clean bootRun
+```
+
+### Package and Run in JVM mode
+```sh
+../../gradlew clean bootJar
+java -jar build/libs/process-decisions-rules-springboot-gradle.jar
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat clean jar
+java -jar build\libs\process-decisions-rules-springboot-gradle.jar
+```
+
+## HOT-RELOAD
+That module feature the "org.springframework.boot:spring-boot-devtools" plugin to enable hot reload on source change (additional dependency):
+
+```kts
+  developmentOnly 'org.springframework.boot:spring-boot-devtools'
+```
+
+To achieve that:
+1. in one terminal, issue the command that will listen for code change and, eventually, rebuilt the application on-demand
+```sh
+../../gradlew clean compileSecondaryJava --continuous --parallel
+```
+or on windows
+
+```sh
+..\..\gradlew.bat clean compileSecondaryJava --continuous --parallel
+```
+
+
+2. inside another terminal, issue the command that actually start the application
+```sh
+../../gradlew bootRun
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat bootRun
+```
+
+Whenever a source is modified, the code will be rebuilt and the application re-loaded with the modifications.
+
+## Test DMN Model using Maven
+
+Validate the functionality of DMN models before deploying them into a production environment by defining test scenarios in Test Scenario Editor. 
+
+To define test scenarios you need to create a .scesim file inside your project and link it to the DMN model you want to be tested. Run all Test Scenarios, executing:
+
+```sh
+mvn clean test
+```
+See results in surefire test report `target/surefire-reports` 
+
+## OpenAPI (Swagger) documentation
+[Specification at swagger.io](https://swagger.io/docs/specification/about/)
+
+The [Swagger](http://localhost:8080/swagger-ui/index.html) page shows all the available endpoints, and it could be used to test them.
+You can take a look at the [OpenAPI definition](http://localhost:8080/v3/api-docs) - automatically generated and included in this service - to determine all available operations exposed by this service. For easy readability you can visualize the OpenAPI definition file using a UI tool like for example available [Swagger Editor](https://editor.swagger.io).
+
+
+## Example Usage
+
+Once the service is up and running, you can use the following example to interact with the service.
+
+### POST /Traffic Violation
+
+Returns penalty information from the given inputs -- driver and violation:
+Given inputs:
+
+```json
+{
+    "Driver":{ "Points":2 },
+    "Violation":{
+        "Type":"speed",
+        "Actual Speed":120,
+        "Speed Limit":100
+    }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"Driver":{"Points":2},"Violation":{"Type":"speed","Actual Speed":120,"Speed Limit":100}}' http://localhost:8080/Traffic%20Violation
+```
+
+As response, penalty information is returned.
+
+Example response:
+```json
+{
+  "Violation":{
+    "Type":"speed",
+    "Speed Limit":100,
+    "Actual Speed":120
+  },
+  "Driver":{
+    "Points":2
+  },
+  "Fine":{
+    "Points":3,
+    "Amount":500
+  },
+  "Should the driver be suspended?":"No"
+}
+```
+
+### POST /AllowedValuesChecksInsideCollection
+
+Valid interests for the model are: Golf, Computer, Hockey, Jogging
+
+Given valid input:
+
+```json
+{
+ "p1": {
+  "Name": "Joe",
+  "Interests": [
+   "Golf"
+  ]
+ }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"p1": {"Name":"Joe","Interests":["Golf"]}}' http://localhost:8080/AllowedValuesChecksInsideCollection
+```
+
+As response, interests information is returned.
+
+Example response:
+```json
+{
+ "p1": {
+  "Interests": [
+   "Golf"
+  ],
+  "Name": "Joe"
+ },
+ "MyDecision": "The Person Joe likes 1 thing(s)."
+}
+```
+
+With invalid value
+
+```json
+{
+ "p1": {
+  "Name": "Joe",
+  "Interests": [
+   "Dancing"
+  ]
+ }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"p1": {"Name":"Joe","Interests":["Dancing"]}}' http://localhost:8080/AllowedValuesChecksInsideCollection
+```
+
+As response, error information is returned.
+
+Example response:
+```json
+{
+ "namespace": "http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442",
+ "modelName": "AllowedValuesChecksInsideCollection",
+ "dmnContext": {
+  "p1": {
+   "Interests": [
+    "Dancing"
+   ],
+   "Name": "Joe"
+  }
+ },
+ "messages": [
+  {
+   "severity": "ERROR",
+   "message": "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })",
+   "messageType": "ERROR_EVAL_NODE",
+   "sourceId": "_27453770-68e3-48da-8605-d33a653c09ef",
+   "level": "ERROR"
+  }
+ ],
+ "decisionResults": [
+  {
+   "decisionId": "_ed3b9794-9306-4b6a-b4f9-5486be3c5515",
+   "decisionName": "MyDecision",
+   "result": null,
+   "messages": [
+    {
+     "severity": "ERROR",
+     "message": "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })",
+     "messageType": "ERROR_EVAL_NODE",
+     "sourceId": "_27453770-68e3-48da-8605-d33a653c09ef",
+     "level": "ERROR"
+    }
+   ],
+   "evaluationStatus": "SKIPPED"
+  }
+ ]
+}
+```
+
+## Developer notes
+
+In order to have the DMN generated resources properly scanned by Spring Boot, please ensure the DMN model namespaces
+ is included in the String application configuration.
+
+The generated classes must be included in the annotation definitions of the main `Application` class:
+
+```
+@SpringBootApplication(scanBasePackages={"org.kie.kogito.**", "org.kie.kogito.app.**", "http*"})
+public class KogitoSpringbootApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(KogitoSpringbootApplication.class, args);
+    }
+}
+```
+
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/build.gradle b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/build.gradle
new file mode 100644
index 000000000..6a8760363
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/build.gradle
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+plugins {
+  id 'java'
+  id 'io.quarkus'
+
+  // Inspection purpose
+  id "com.dorongold.task-tree" version "${taskTreeVersion}"
+}
+
+repositories {
+  mavenCentral()
+  mavenLocal()
+  maven {
+    url = uri("https://repo.maven.apache.org/maven2/")
+  }
+  maven {
+    url = uri("https://repository.apache.org/snapshots/")
+  }
+}
+
+group 'org.kie.kogito.examples'
+version '999-SNAPSHOT'
+
+dependencies {
+  implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
+  implementation 'io.quarkus:quarkus-arc'
+  implementation 'io.quarkus:quarkus-resteasy'
+  implementation 'io.quarkus:quarkus-resteasy-jackson'
+  implementation 'io.quarkus:quarkus-smallrye-openapi'
+
+  implementation platform("org.kie.kogito:kogito-bom:${kogitoVersion}")
+
+  implementation 'org.kie.kogito:jbpm-flow'
+  implementation 'org.drools:drools-quarkus-decisions'
+  testImplementation("org.junit.jupiter:junit-jupiter:${junitVersion}")
+  testImplementation 'io.quarkus:quarkus-junit5'
+  testImplementation("io.rest-assured:rest-assured")
+  testImplementation("org.kie.kogito:kogito-scenario-simulation")
+}
+
+test {
+  systemProperty "java.util.logging.manager", "org.jboss.logmanager.LogManager"
+}
+
+compileJava {
+  options.encoding = 'UTF-8'
+  options.compilerArgs << '-parameters'
+}
+
+compileTestJava {
+  options.encoding = 'UTF-8'
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/gradle.properties b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/gradle.properties
new file mode 100644
index 000000000..6a6666058
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/gradle.properties
@@ -0,0 +1,10 @@
+#Gradle properties
+## 3.27.1 needed to support gradle 9.2
+quarkusPluginId=io.quarkus
+quarkusPluginVersion=3.27.1
+quarkusPlatformGroupId=io.quarkus.platform
+quarkusPlatformArtifactId=quarkus-bom
+quarkusPlatformVersion=3.27.1
+taskTreeVersion=4.0.1
+junitVersion=5.12.1
+kogitoVersion=999-SNAPSHOT
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/pom.xml
similarity index 86%
copy from gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
copy to gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/pom.xml
index 7955e4857..59d46a950 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/pom.xml
@@ -5,16 +5,16 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.kie.kogito.examples</groupId>
-    <artifactId>kogito-springboot-gradle-examples</artifactId>
+    <artifactId>kogito-quarkus-gradle-examples</artifactId>
     <version>999-SNAPSHOT</version>
   </parent>
 
-  <artifactId>process-decisions-rules-springboot-gradle</artifactId>
-  <name>Kogito Example :: Process :: Decisions :: Rules :: Spring Boot :: Gradle</name>
-  <description>Process with DRL, DMN and DRL integration - Spring Boot - Gradle</description>
+  <artifactId>dmn-quarkus-gradle</artifactId>
+  <name>Kogito Example :: Gradle :: Quarkus :: Decisions - Scesim</name>
+  <description>Decision with SCESIM integration- Quarkus - Gradle</description>
 
   <properties>
-    <java.module.name>process.decisions.rules.springboot.gradle</java.module.name>
+    <java.module.name>dmn.quarkus.gradle</java.module.name>
     <maven.compiler.release>17</maven.compiler.release>
     <gradle.executable>${project.parent.parent.basedir}/gradlew</gradle.executable>
   </properties>
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/settings.gradle b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/settings.gradle
new file mode 100644
index 000000000..266b1513c
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/settings.gradle
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+pluginManagement {
+  repositories {
+    mavenLocal()
+    mavenCentral()
+    maven {
+      url = uri("target/dependencies")
+    }
+    maven {
+      url = uri("https://plugins.gradle.org/m2/")
+    }
+  }
+
+  plugins {
+    id "${quarkusPluginId}" version "${quarkusPluginVersion}"
+  }
+}
+rootProject.name = "dmn-quarkus-gradle"
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/integrationTest/java/org/kie/kogito/dmn/quarkus/example/NativeTrafficViolationIT.java b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/integrationTest/java/org/kie/kogito/dmn/quarkus/example/NativeTrafficViolationIT.java
new file mode 100644
index 000000000..b43c7dca8
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/integrationTest/java/org/kie/kogito/dmn/quarkus/example/NativeTrafficViolationIT.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.quarkus.example;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class NativeTrafficViolationIT extends TrafficViolationTest {
+
+    // Execute the same tests but in native mode.
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/java/org/kie/kogito/dmn/quarkus/example/CustomDoCompileFEELProfile.java b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/java/org/kie/kogito/dmn/quarkus/example/CustomDoCompileFEELProfile.java
new file mode 100644
index 000000000..65b89720e
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/java/org/kie/kogito/dmn/quarkus/example/CustomDoCompileFEELProfile.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.quarkus.example;
+
+import org.kie.dmn.feel.parser.feel11.profiles.DoCompileFEELProfile;
+
+public class CustomDoCompileFEELProfile extends DoCompileFEELProfile {
+
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn
new file mode 100644
index 000000000..ade557ea7
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  -->
+
+<dmn:definitions xmlns="http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442"
+                 xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
+                 xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
+                 xmlns:dmndi="https://www.omg.org/spec/DMN/20230324/DMNDI/"
+                 xmlns:feel="https://www.omg.org/spec/DMN/20230324/FEEL/"
+                 xmlns:dmn="https://www.omg.org/spec/DMN/20230324/MODEL/"
+                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                 exporter="DMN Modeler"
+                 exporterVersion="5.1.10.201705011622"
+                 id="_238bd96d-47cd-4746-831b-504f3e77b442"
+                 name="AllowedValuesChecksInsideCollection"
+                 namespace="http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442">
+   <dmn:itemDefinition isCollection="false" label="Person" name="Person">
+      <dmn:itemComponent id="_7939ee65-737d-4ea9-b912-448dd5fb2cf1"
+                         isCollection="false"
+                         name="Name">
+         <dmn:typeRef>string</dmn:typeRef>
+      </dmn:itemComponent>
+      <dmn:itemComponent id="_19ef99ee-1d53-4185-aa9d-8fe58a7834ce"
+                         isCollection="true"
+                         name="Interests">
+         <dmn:typeRef>tInterests</dmn:typeRef>
+      </dmn:itemComponent>
+   </dmn:itemDefinition>
+   <dmn:itemDefinition label="tInterest" name="tInterest">
+      <dmn:typeRef>string</dmn:typeRef>
+   </dmn:itemDefinition>
+   <dmn:itemDefinition isCollection="true" label="tInterests" name="tInterests">
+      <dmn:typeRef>tInterest</dmn:typeRef>
+      <dmn:allowedValues xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                         triso:constraintsType="enumeration">
+         <dmn:text>"Golf","Computer","Hockey","Jogging"</dmn:text>
+      </dmn:allowedValues>
+   </dmn:itemDefinition>
+   <dmn:decision xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                 id="_ed3b9794-9306-4b6a-b4f9-5486be3c5515"
+                 name="MyDecision"
+                 triso:displayName="MyDecision">
+      <dmn:variable id="_2e39fe17-4902-40ba-a36c-7fe0d3d992b9"
+                    name="MyDecision"
+                    typeRef="string"/>
+      <dmn:informationRequirement>
+         <dmn:requiredInput href="#_27453770-68e3-48da-8605-d33a653c09ef"/>
+      </dmn:informationRequirement>
+      <dmn:literalExpression id="_71df1866-2b74-4d40-b4fd-0ebe860b27f1">
+         <dmn:text>"The Person " + p1.Name + " likes " + string(count( p1.Interests )) + " thing(s)."</dmn:text>
+      </dmn:literalExpression>
+   </dmn:decision>
+   <dmn:inputData xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                  id="_27453770-68e3-48da-8605-d33a653c09ef"
+                  name="p1"
+                  triso:displayName="p1">
+      <dmn:variable id="_1c6c0e02-8b82-4d1f-88a6-a2e35b4eedc7"
+                    name="p1"
+                    typeRef="Person"/>
+   </dmn:inputData>
+</dmn:definitions>
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/Traffic Violation.dmn b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/Traffic Violation.dmn
new file mode 100644
index 000000000..109d4689e
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/Traffic Violation.dmn	
@@ -0,0 +1,230 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/" xmlns="https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:kie="http://www.drools.org/kie/dmn/1.2" xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/" xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" id="_1C792953-80DB-4B32-99EB-25FBE32BAF9E" name="Traffic Violation [...]
+  <dmn:extensionElements/>
+  <dmn:itemDefinition id="_63824D3F-9173-446D-A940-6A7F0FA056BB" name="tDriver" isCollection="false">
+    <dmn:itemComponent id="_9DAB5DAA-3B44-4F6D-87F2-95125FB2FEE4" name="Name" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_856BA8FA-EF7B-4DF9-A1EE-E28263CE9955" name="Age" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_FDC2CE03-D465-47C2-A311-98944E8CC23F" name="State" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_D6FD34C4-00DC-4C79-B1BF-BBCF6FC9B6D7" name="City" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_7110FE7E-1A38-4C39-B0EB-AEEF06BA37F4" name="Points" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:itemDefinition id="_40731093-0642-4588-9183-1660FC55053B" name="tViolation" isCollection="false">
+    <dmn:itemComponent id="_39E88D9F-AE53-47AD-B3DE-8AB38D4F50B3" name="Code" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_1648EA0A-2463-4B54-A12A-D743A3E3EE7B" name="Date" isCollection="false">
+      <dmn:typeRef>date</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_9F129EAA-4E71-4D99-B6D0-84EEC3AC43CC" name="Type" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+      <dmn:allowedValues kie:constraintType="enumeration" id="_626A8F9C-9DD1-44E0-9568-0F6F8F8BA228">
+        <dmn:text>"speed", "parking", "driving under the influence"</dmn:text>
+      </dmn:allowedValues>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_DDD10D6E-BD38-4C79-9E2F-8155E3A4B438" name="Speed Limit" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_229F80E4-2892-494C-B70D-683ABF2345F6" name="Actual Speed" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:itemDefinition id="_2D4F30EE-21A6-4A78-A524-A5C238D433AE" name="tFine" isCollection="false">
+    <dmn:itemComponent id="_B9F70BC7-1995-4F51-B949-1AB65538B405" name="Amount" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_F49085D6-8F08-4463-9A1A-EF6B57635DBD" name="Points" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:inputData id="_1929CBD5-40E0-442D-B909-49CEDE0101DC" name="Violation">
+    <dmn:variable id="_C16CF9B1-5FAB-48A0-95E0-5FCD661E0406" name="Violation" typeRef="tViolation"/>
+  </dmn:inputData>
+  <dmn:decision id="_4055D956-1C47-479C-B3F4-BAEB61F1C929" name="Fine">
+    <dmn:variable id="_8C1EAC83-F251-4D94-8A9E-B03ACF6849CD" name="Fine" typeRef="tFine"/>
+    <dmn:informationRequirement id="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+      <dmn:requiredInput href="#_1929CBD5-40E0-442D-B909-49CEDE0101DC"/>
+    </dmn:informationRequirement>
+    <dmn:decisionTable id="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A" hitPolicy="UNIQUE" preferredOrientation="Rule-as-Row">
+      <dmn:input id="_B53A6F0D-F72C-41EF-96B3-F31269AC0FED">
+        <dmn:inputExpression id="_974C8D01-728F-4CE5-8C69-BE884125B859" typeRef="string">
+          <dmn:text>Violation.Type</dmn:text>
+        </dmn:inputExpression>
+      </dmn:input>
+      <dmn:input id="_D5319F80-1C59-4736-AF2D-D29DE6B7E76D">
+        <dmn:inputExpression id="_3FEB4DE3-90C6-438E-99BF-9BB1BF5B078A" typeRef="number">
+          <dmn:text>Violation.Actual Speed - Violation.Speed Limit</dmn:text>
+        </dmn:inputExpression>
+      </dmn:input>
+      <dmn:output id="_9012031F-9C01-44E5-8CD2-E6704D594504" name="Amount" typeRef="number"/>
+      <dmn:output id="_7CAC8240-E1A5-4FEB-A0D4-B8613F0DE54B" name="Points" typeRef="number"/>
+      <dmn:rule id="_424A80AE-916F-4451-9B6B-71557F7EC65A">
+        <dmn:inputEntry id="_EDA4F336-AA28-4F5F-ADFC-401E6DCC8D35">
+          <dmn:text>"speed"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_246AAB08-A945-4599-9220-7C24B6716FDD">
+          <dmn:text>[10..30)</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_E49345EE-51D3-47C7-B658-3607E723FF37">
+          <dmn:text>500</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_1D56F3CB-6BAE-4415-940F-00F37121813D">
+          <dmn:text>3</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_B1ECE6A9-6B82-4A85-A7CA-5F96CDB0DCB6">
+        <dmn:inputEntry id="_2390F686-65CF-40FF-BF9A-72DFBAEBACAC">
+          <dmn:text>"speed"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_8CEBE4D5-DBEF-46EF-BD95-7B96148B6D8A">
+          <dmn:text>&gt;= 30</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_5FCC56B7-6BAA-4B09-AC61-7EB9D4CD58C3">
+          <dmn:text>1000</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_79FF8FDD-3299-4DFD-AA14-D2022504BDAD">
+          <dmn:text>7</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_8FC7068C-A3FD-44D9-AC2B-69C160A12E5D">
+        <dmn:inputEntry id="_02EEE8A9-1AD7-4708-8EC8-9B4177B05167">
+          <dmn:text>"parking"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_A5141FF4-8D63-49DB-8979-3B64A3BD9A82">
+          <dmn:text>-</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_EFDA632D-113D-46C9-94B8-78E9F9770CA4">
+          <dmn:text>100</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_05F86973-52CE-4C9D-B785-47B6340D10FD">
+          <dmn:text>1</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_A742DF2B-DC91-4166-9773-6EF86A45A625">
+        <dmn:inputEntry id="_F5B5AE87-D9E6-4142-B01D-D79D4BA49EEE">
+          <dmn:text>"driving under the influence"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_BD2A43F5-46D8-436A-B8A1-D98747C836B1">
+          <dmn:text>-</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_ECAF3378-46B6-4F40-B95A-E90DB700BF7D">
+          <dmn:text>1000</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_F0016A9C-D1D0-472A-9FB3-ABE77AD15F7D">
+          <dmn:text>5</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+    </dmn:decisionTable>
+  </dmn:decision>
+  <dmn:inputData id="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" name="Driver">
+    <dmn:variable id="_A80F16DF-0DB4-43A2-B041-32900B1A3F3D" name="Driver" typeRef="tDriver"/>
+  </dmn:inputData>
+  <dmn:decision id="_8A408366-D8E9-4626-ABF3-5F69AA01F880" name="Should the driver be suspended?">
+    <dmn:question>Should the driver be suspended due to points on his license?</dmn:question>
+    <dmn:allowedAnswers>"Yes", "No"</dmn:allowedAnswers>
+    <dmn:variable id="_40387B66-5D00-48C8-BB90-E83EE3332C72" name="Should the driver be suspended?" typeRef="string"/>
+    <dmn:informationRequirement id="_982211B1-5246-49CD-BE85-3211F71253CF">
+      <dmn:requiredInput href="#_1F9350D7-146D-46F1-85D8-15B5B68AF22A"/>
+    </dmn:informationRequirement>
+    <dmn:informationRequirement id="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+      <dmn:requiredDecision href="#_4055D956-1C47-479C-B3F4-BAEB61F1C929"/>
+    </dmn:informationRequirement>
+    <dmn:context id="_F39732F1-0AA7-468F-86C4-DCC07E6F81CF">
+      <dmn:contextEntry>
+        <dmn:variable id="_09385E8D-68E0-4DFD-AAD8-141C15C96B71" name="Total Points" typeRef="number"/>
+        <dmn:literalExpression id="_F1BEBF16-033F-4A25-9523-CAC23ACC5DFC">
+          <dmn:text>Driver.Points + Fine.Points</dmn:text>
+        </dmn:literalExpression>
+      </dmn:contextEntry>
+      <dmn:contextEntry>
+        <dmn:literalExpression id="_1929D813-B1C9-43C5-9497-CE5D8B2B040C">
+          <dmn:text>if Total Points >= 20 then "Yes" else "No"</dmn:text>
+        </dmn:literalExpression>
+      </dmn:contextEntry>
+    </dmn:context>
+  </dmn:decision>
+  <dmndi:DMNDI>
+    <dmndi:DMNDiagram>
+      <di:extension>
+        <kie:ComponentsWidthsExtension>
+          <kie:ComponentWidths dmnElementRef="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A">
+            <kie:width>50.0</kie:width>
+            <kie:width>254.0</kie:width>
+            <kie:width>329.0</kie:width>
+            <kie:width>119.0</kie:width>
+            <kie:width>100.0</kie:width>
+            <kie:width>186.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_F39732F1-0AA7-468F-86C4-DCC07E6F81CF">
+            <kie:width>50.0</kie:width>
+            <kie:width>100.0</kie:width>
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_F1BEBF16-033F-4A25-9523-CAC23ACC5DFC">
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_1929D813-B1C9-43C5-9497-CE5D8B2B040C">
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+        </kie:ComponentsWidthsExtension>
+      </di:extension>
+      <dmndi:DMNShape id="dmnshape-_1929CBD5-40E0-442D-B909-49CEDE0101DC" dmnElementRef="_1929CBD5-40E0-442D-B909-49CEDE0101DC" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="708" y="350" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_4055D956-1C47-479C-B3F4-BAEB61F1C929" dmnElementRef="_4055D956-1C47-479C-B3F4-BAEB61F1C929" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="709" y="210" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_1F9350D7-146D-46F1-85D8-15B5B68AF22A" dmnElementRef="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="369" y="344" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_8A408366-D8E9-4626-ABF3-5F69AA01F880" dmnElementRef="_8A408366-D8E9-4626-ABF3-5F69AA01F880" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="534" y="83" width="133" height="63"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNEdge id="dmnedge-_800A3BBB-90A3-4D9D-BA5E-A311DED0134F" dmnElementRef="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+        <di:waypoint x="758" y="375"/>
+        <di:waypoint x="759" y="235"/>
+      </dmndi:DMNEdge>
+      <dmndi:DMNEdge id="dmnedge-_982211B1-5246-49CD-BE85-3211F71253CF" dmnElementRef="_982211B1-5246-49CD-BE85-3211F71253CF">
+        <di:waypoint x="419" y="369"/>
+        <di:waypoint x="600.5" y="114.5"/>
+      </dmndi:DMNEdge>
+      <dmndi:DMNEdge id="dmnedge-_AEC4AA5F-50C3-4FED-A0C2-261F90290731" dmnElementRef="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+        <di:waypoint x="759" y="235"/>
+        <di:waypoint x="600.5" y="114.5"/>
+      </dmndi:DMNEdge>
+    </dmndi:DMNDiagram>
+  </dmndi:DMNDI>
+</dmn:definitions>
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/application.properties b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/application.properties
new file mode 100644
index 000000000..de9038038
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/main/resources/application.properties
@@ -0,0 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Packaging
+
+quarkus.swagger-ui.always-include=true
+
+org.kie.dmn.runtime.typecheck=true
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/AllowedValuesTest.java b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/AllowedValuesTest.java
new file mode 100644
index 000000000..80dd1992a
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/AllowedValuesTest.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.quarkus.example;
+
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.http.ContentType;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.Matchers.is;
+
+@QuarkusTest
+public class AllowedValuesTest {
+
+    @Test
+    public void testAllowedValuesWithValidValue() {
+        given()
+                .body("{\n" +
+                        "  \"p1\": {\n" +
+                        "    \"Name\": \"Joe\",\n" +
+                        "    \"Interests\": [\n" +
+                        "      \"Golf\"\n" +
+                        "    ]\n" +
+                        "  }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/AllowedValuesChecksInsideCollection")
+                .then()
+                .statusCode(200)
+                .body("'MyDecision'", is("The Person Joe likes 1 thing(s)."));
+    }
+
+    @Test
+    public void testAllowedValuesWithInvalidValue() {
+        given()
+                .body("{\n" +
+                        "  \"p1\": {\n" +
+                        "    \"Name\": \"Joe\",\n" +
+                        "    \"Interests\": [\n" +
+                        "      \"Dancing\"\n" +
+                        "    ]\n" +
+                        "  }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/AllowedValuesChecksInsideCollection")
+                .then()
+                .statusCode(500)
+                .body("messages[0].message", containsString(
+                        "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })"));
+    }
+}
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/TrafficViolationTest.java b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/TrafficViolationTest.java
new file mode 100644
index 000000000..3c42782c7
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/org/kie/kogito/dmn/quarkus/example/TrafficViolationTest.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.quarkus.example;
+
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.http.ContentType;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.is;
+
+@QuarkusTest
+public class TrafficViolationTest {
+
+    @Test
+    public void testEvaluateTrafficViolation() {
+        given()
+                .body("{\n" +
+                        "    \"Driver\": {\n" +
+                        "        \"Points\": 2\n" +
+                        "    },\n" +
+                        "    \"Violation\": {\n" +
+                        "        \"Type\": \"speed\",\n" +
+                        "        \"Actual Speed\": 120,\n" +
+                        "        \"Speed Limit\": 100\n" +
+                        "    }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/Traffic Violation")
+                .then()
+                .statusCode(200)
+                .body("'Should the driver be suspended?'", is("No"));
+    }
+}
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java
new file mode 100644
index 000000000..538d8b100
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package testscenario;
+
+import org.drools.scenariosimulation.backend.runner.TestScenarioActivator;
+
+/**
+ * TestScenarioJunitActivator is a custom JUnit runner that enables the execution of Test Scenario files (*.scesim).
+ * This activator class, when executed, will load all scesim files available in the project and run them.
+ * Each row of the scenario will generate a test JUnit result.
+ */
+@TestScenarioActivator
+public class TestScenarioJunitActivatorTest {
+
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/TrafficViolationTest.scesim b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/TrafficViolationTest.scesim
new file mode 100644
index 000000000..3a9a5d98f
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/TrafficViolationTest.scesim
@@ -0,0 +1,766 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ScenarioSimulationModel version="1.8">
+  <simulation>
+    <scesimModelDescriptor>
+      <factMappings>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>Index</name>
+            <type>OTHER</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>#</name>
+            <className>java.lang.Integer</className>
+          </factIdentifier>
+          <className>java.lang.Integer</className>
+          <factAlias>#</factAlias>
+          <columnWidth>70</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>Description</name>
+            <type>OTHER</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Scenario description</name>
+            <className>java.lang.String</className>
+          </factIdentifier>
+          <className>java.lang.String</className>
+          <factAlias>Scenario description</factAlias>
+          <columnWidth>300</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Driver</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Points</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|5</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Driver</name>
+            <className>Driver</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Driver</factAlias>
+          <expressionAlias>Points</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Type</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|8</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>Type</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Type</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Speed Limit</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|9</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Speed Limit</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Actual Speed</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|10</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Actual Speed</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Fine</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Amount</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|11</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Fine</name>
+            <className>Fine</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Fine</factAlias>
+          <expressionAlias>Amount</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Fine</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Points</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|12</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Fine</name>
+            <className>Fine</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Fine</factAlias>
+          <expressionAlias>Points</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Should the driver be suspended?</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|13</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Should the driver be suspended?</name>
+            <className>Should the driver be suspended?</className>
+          </factIdentifier>
+          <className>string</className>
+          <factAlias>Should the driver be suspended?</factAlias>
+          <expressionAlias>value</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+      </factMappings>
+    </scesimModelDescriptor>
+    <scesimData>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Above speed limit: 10km/h and 30 km/h</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">120</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">500</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">3</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">1</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Above speed limit: more than 30 km/h</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">150</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">7</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">2</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Parking violation</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"parking"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">3</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">DUI violation</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"driving under the influence"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">5</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">4</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Driver suspended</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">15</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">140</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">7</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"Yes"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">5</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+    </scesimData>
+  </simulation>
+  <background>
+    <scesimModelDescriptor>
+      <factMappings>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>1|1</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Empty</name>
+            <className>java.lang.Void</className>
+          </factIdentifier>
+          <className>java.lang.Void</className>
+          <factAlias>INSTANCE 1</factAlias>
+          <expressionAlias>PROPERTY 1</expressionAlias>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+      </factMappings>
+    </scesimModelDescriptor>
+    <scesimData>
+      <BackgroundData>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Empty</name>
+              <className>java.lang.Void</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|1</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+        </factMappingValues>
+      </BackgroundData>
+    </scesimData>
+  </background>
+  <settings>
+    <dmnFilePath>../../main/resources/Traffic Violation.dmn</dmnFilePath>
+    <type>DMN</type>
+    <dmnNamespace>https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF</dmnNamespace>
+    <dmnName>Traffic Violation</dmnName>
+    <skipFromBuild>false</skipFromBuild>
+    <stateless>false</stateless>
+  </settings>
+  <imports>
+    <imports/>
+  </imports>
+</ScenarioSimulationModel>
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/application.properties b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/application.properties
new file mode 100644
index 000000000..a047ea13b
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/dmn-quarkus-gradle/src/test/resources/application.properties
@@ -0,0 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Quarkus
+quarkus.http.test-port=0
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/pom.xml b/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
index a5a0d29d7..e6e4f4f10 100644
--- a/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
+++ b/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
@@ -13,10 +13,11 @@
 
   <artifactId>kogito-quarkus-gradle-examples</artifactId>
 
-  <name>Quarkus Gradle Examples</name>
+  <name>Kogito Example :: Gradle :: Quarkus</name>
   <description>Kogito Quarkus Examples built with Gradle</description>
   <modules>
     <module>process-decisions-rules-quarkus-gradle</module>
+    <module>dmn-quarkus-gradle</module>
   </modules>
 
 </project>
\ No newline at end of file
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
index 3e4089e93..709fd9999 100644
--- a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
+++ b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
@@ -10,7 +10,7 @@
     </parent>
 
     <artifactId>process-decisions-rules-quarkus-gradle</artifactId>
-    <name>Kogito Example :: Process :: Decisions :: Rules :: Quarkus :: Gradle</name>
+    <name>Kogito Example :: Gradle :: Quarkus :: Process - Decisions - Rules</name>
     <description>Process with DRL, DMN and DRL integration - Quarkus - Gradle</description>
 
     <properties>
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
index f73c78f79..bdcafc594 100644
--- a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
+++ b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
@@ -1,3 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
 pluginManagement {
   repositories {
     mavenLocal()
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/README.md b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/README.md
new file mode 100644
index 000000000..88d9de41f
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/README.md
@@ -0,0 +1,264 @@
+# DMN + Spring Boot example
+
+## Description
+
+A simple DMN service to evaluate a traffic violation and a model with input constraints.
+
+The org.kie.dmn.runtime.typecheck=true property is used to enable type and value check.
+
+## Installing and Running
+
+### Prerequisites
+
+You will need:
+  - Java 11+ installed
+  - Environment variable JAVA_HOME set accordingly
+
+## Build and run
+
+### Prerequisites
+
+You will need:
+- Java 17+ installed
+- Environment variable JAVA_HOME set accordingly
+
+### Compile and Run in Local Dev Mode
+
+```sh
+../../gradlew clean bootRun
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat clean bootRun
+```
+
+### Package and Run in JVM mode
+```sh
+../../gradlew clean bootJar
+java -jar build/libs/process-decisions-rules-springboot-gradle.jar
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat clean jar
+java -jar build\libs\process-decisions-rules-springboot-gradle.jar
+```
+
+## HOT-RELOAD
+That module feature the "org.springframework.boot:spring-boot-devtools" plugin to enable hot reload on source change (additional dependency):
+
+```kts
+  developmentOnly 'org.springframework.boot:spring-boot-devtools'
+```
+
+To achieve that:
+1. in one terminal, issue the command that will listen for code change and, eventually, rebuilt the application on-demand
+```sh
+../../gradlew clean compileSecondaryJava --continuous --parallel
+```
+or on windows
+
+```sh
+..\..\gradlew.bat clean compileSecondaryJava --continuous --parallel
+```
+
+
+2. inside another terminal, issue the command that actually start the application
+```sh
+../../gradlew bootRun
+```
+
+or on windows
+
+```sh
+..\..\gradlew.bat bootRun
+```
+
+Whenever a source is modified, the code will be rebuilt and the application re-loaded with the modifications.
+
+## Test DMN Model using Maven
+
+Validate the functionality of DMN models before deploying them into a production environment by defining test scenarios in Test Scenario Editor. 
+
+To define test scenarios you need to create a .scesim file inside your project and link it to the DMN model you want to be tested. Run all Test Scenarios, executing:
+
+```sh
+mvn clean test
+```
+See results in surefire test report `target/surefire-reports` 
+
+## OpenAPI (Swagger) documentation
+[Specification at swagger.io](https://swagger.io/docs/specification/about/)
+
+The [Swagger](http://localhost:8080/swagger-ui/index.html) page shows all the available endpoints, and it could be used to test them.
+You can take a look at the [OpenAPI definition](http://localhost:8080/v3/api-docs) - automatically generated and included in this service - to determine all available operations exposed by this service. For easy readability you can visualize the OpenAPI definition file using a UI tool like for example available [Swagger Editor](https://editor.swagger.io).
+
+
+## Example Usage
+
+Once the service is up and running, you can use the following example to interact with the service.
+
+### POST /Traffic Violation
+
+Returns penalty information from the given inputs -- driver and violation:
+Given inputs:
+
+```json
+{
+    "Driver":{ "Points":2 },
+    "Violation":{
+        "Type":"speed",
+        "Actual Speed":120,
+        "Speed Limit":100
+    }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"Driver":{"Points":2},"Violation":{"Type":"speed","Actual Speed":120,"Speed Limit":100}}' http://localhost:8080/Traffic%20Violation
+```
+
+As response, penalty information is returned.
+
+Example response:
+```json
+{
+  "Violation":{
+    "Type":"speed",
+    "Speed Limit":100,
+    "Actual Speed":120
+  },
+  "Driver":{
+    "Points":2
+  },
+  "Fine":{
+    "Points":3,
+    "Amount":500
+  },
+  "Should the driver be suspended?":"No"
+}
+```
+
+### POST /AllowedValuesChecksInsideCollection
+
+Valid interests for the model are: Golf, Computer, Hockey, Jogging
+
+Given valid input:
+
+```json
+{
+ "p1": {
+  "Name": "Joe",
+  "Interests": [
+   "Golf"
+  ]
+ }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"p1": {"Name":"Joe","Interests":["Golf"]}}' http://localhost:8080/AllowedValuesChecksInsideCollection
+```
+
+As response, interests information is returned.
+
+Example response:
+```json
+{
+ "p1": {
+  "Interests": [
+   "Golf"
+  ],
+  "Name": "Joe"
+ },
+ "MyDecision": "The Person Joe likes 1 thing(s)."
+}
+```
+
+With invalid value
+
+```json
+{
+ "p1": {
+  "Name": "Joe",
+  "Interests": [
+   "Dancing"
+  ]
+ }
+}
+```
+
+Curl command (using the JSON object above):
+
+```sh
+curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"p1": {"Name":"Joe","Interests":["Dancing"]}}' http://localhost:8080/AllowedValuesChecksInsideCollection
+```
+
+As response, error information is returned.
+
+Example response:
+```json
+{
+ "namespace": "http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442",
+ "modelName": "AllowedValuesChecksInsideCollection",
+ "dmnContext": {
+  "p1": {
+   "Interests": [
+    "Dancing"
+   ],
+   "Name": "Joe"
+  }
+ },
+ "messages": [
+  {
+   "severity": "ERROR",
+   "message": "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })",
+   "messageType": "ERROR_EVAL_NODE",
+   "sourceId": "_27453770-68e3-48da-8605-d33a653c09ef",
+   "level": "ERROR"
+  }
+ ],
+ "decisionResults": [
+  {
+   "decisionId": "_ed3b9794-9306-4b6a-b4f9-5486be3c5515",
+   "decisionName": "MyDecision",
+   "result": null,
+   "messages": [
+    {
+     "severity": "ERROR",
+     "message": "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })",
+     "messageType": "ERROR_EVAL_NODE",
+     "sourceId": "_27453770-68e3-48da-8605-d33a653c09ef",
+     "level": "ERROR"
+    }
+   ],
+   "evaluationStatus": "SKIPPED"
+  }
+ ]
+}
+```
+
+## Developer notes
+
+In order to have the DMN generated resources properly scanned by Spring Boot, please ensure the DMN model namespaces
+ is included in the String application configuration.
+
+The generated classes must be included in the annotation definitions of the main `Application` class:
+
+```
+@SpringBootApplication(scanBasePackages={"org.kie.kogito.**", "org.kie.kogito.app.**", "http*"})
+public class KogitoSpringbootApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(KogitoSpringbootApplication.class, args);
+    }
+}
+```
+
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/build.gradle b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/build.gradle
new file mode 100644
index 000000000..cd95ab317
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/build.gradle
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+plugins {
+  id 'java'
+  id("org.kie.kogito.gradle") version "${kogitoVersion}"
+  id "org.springframework.boot" version "${springBootVersion}"
+  id("io.spring.dependency-management") version "${springBootDependencyManagementVersion}"
+
+  // Inspection purpose
+  id "com.dorongold.task-tree" version "${taskTreeVersion}"
+}
+
+repositories {
+  mavenCentral()
+  mavenLocal()
+}
+
+dependencies {
+  implementation platform("org.kie.kogito:kogito-spring-boot-bom:${kogitoVersion}")
+  implementation("org.springframework.boot:spring-boot-starter-web")
+  implementation("org.drools:drools-decisions-spring-boot-starter")
+  testImplementation("org.junit.jupiter:junit-jupiter:${junitVersion}")
+  testImplementation("org.springframework.boot:spring-boot-starter-test")
+  testImplementation("io.rest-assured:rest-assured")
+  testImplementation("org.kie.kogito:kogito-scenario-simulation")
+  developmentOnly 'org.springframework.boot:spring-boot-devtools'
+}
+
+group 'org.kie.kogito.examples'
+version '999-SNAPSHOT'
+
+generateModelConfig {
+  jsonSchemaVersion = "DRAFT_2019_09"
+}
+
+compileJava {
+  options.encoding = 'UTF-8'
+  options.compilerArgs << '-parameters'
+}
+
+compileTestJava {
+  options.encoding = 'UTF-8'
+}
+
+springBoot {
+  mainClass = 'org.kie.kogito.dmn.springboot.example.KogitoSpringbootApplication'
+}
+
+
+tasks.named("resolveMainClassName") {
+  dependsOn(tasks.named("compileSecondaryJava"))
+}
+
+tasks.named("bootRun") {
+  dependsOn(tasks.named("compileSecondaryJava"))
+}
+
+tasks.named("bootJar") {
+  dependsOn(tasks.named("compileSecondaryJava"))
+}
+
+tasks.named("jar") {
+  dependsOn(tasks.named("compileSecondaryJava"))
+  from(tasks.named("compileSecondaryJava").get())
+}
+
+tasks.named("compileTestJava") {
+  dependsOn(tasks.named("compileSecondaryJava"))
+}
+
+test {
+  dependsOn(tasks.named("compileSecondaryJava"))
+  useJUnitPlatform()
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/gradle.properties
similarity index 67%
copy from gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties
copy to gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/gradle.properties
index 619669122..a6acc2025 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/gradle.properties
@@ -1,5 +1,5 @@
 #Gradle properties
-springBootVersion=3.4.11
+springBootVersion=3.5.10
 springBootDependencyManagementVersion=1.1.5
 taskTreeVersion=4.0.1
 junitVersion=5.12.1
diff --git a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/pom.xml
similarity index 88%
copy from gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
copy to gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/pom.xml
index 7955e4857..b19194ec2 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/pom.xml
@@ -9,12 +9,12 @@
     <version>999-SNAPSHOT</version>
   </parent>
 
-  <artifactId>process-decisions-rules-springboot-gradle</artifactId>
-  <name>Kogito Example :: Process :: Decisions :: Rules :: Spring Boot :: Gradle</name>
-  <description>Process with DRL, DMN and DRL integration - Spring Boot - Gradle</description>
+  <artifactId>dmn-springboot-gradle</artifactId>
+  <name>Kogito Example :: Gradle :: Spring Boot :: Decisions - Scesim</name>
+  <description>Decision with SCESIM integration- Spring Boot - Gradle</description>
 
   <properties>
-    <java.module.name>process.decisions.rules.springboot.gradle</java.module.name>
+    <java.module.name>dmn.springboot.gradle</java.module.name>
     <maven.compiler.release>17</maven.compiler.release>
     <gradle.executable>${project.parent.parent.basedir}/gradlew</gradle.executable>
   </properties>
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/settings.gradle b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/settings.gradle
new file mode 100644
index 000000000..417b11bed
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/settings.gradle
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+pluginManagement {
+  repositories {
+    mavenLocal()
+    mavenCentral()
+    maven {
+      url = uri("target/dependencies")
+    }
+    maven {
+      url = uri("https://plugins.gradle.org/m2/")
+    }
+  }
+  resolutionStrategy {
+    eachPlugin {
+      if (requested.id.namespace == "org.kie.kogito") {
+        useModule("org.kie.kogito:kogito-gradle-plugin:${requested.version}")
+      }
+    }
+  }
+}
+rootProject.name = "dmn-springboot-gradle"
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/CustomDoCompileFEELProfile.java b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/CustomDoCompileFEELProfile.java
new file mode 100644
index 000000000..15fd12c68
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/CustomDoCompileFEELProfile.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.springboot.example;
+
+import org.kie.dmn.feel.parser.feel11.profiles.DoCompileFEELProfile;
+
+public class CustomDoCompileFEELProfile extends DoCompileFEELProfile {
+
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/KogitoSpringbootApplication.java b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/KogitoSpringbootApplication.java
new file mode 100644
index 000000000..0ae0f6a44
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/java/org/kie/kogito/dmn/springboot/example/KogitoSpringbootApplication.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.springboot.example;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication(scanBasePackages = { "org.kie.kogito.dmn.**", "org.kie.kogito.app.**", "http**" })
+public class KogitoSpringbootApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(KogitoSpringbootApplication.class, args);
+    }
+}
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn
new file mode 100644
index 000000000..ade557ea7
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/AllowedValuesChecksInsideCollection.dmn
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  -->
+
+<dmn:definitions xmlns="http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442"
+                 xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
+                 xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
+                 xmlns:dmndi="https://www.omg.org/spec/DMN/20230324/DMNDI/"
+                 xmlns:feel="https://www.omg.org/spec/DMN/20230324/FEEL/"
+                 xmlns:dmn="https://www.omg.org/spec/DMN/20230324/MODEL/"
+                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                 exporter="DMN Modeler"
+                 exporterVersion="5.1.10.201705011622"
+                 id="_238bd96d-47cd-4746-831b-504f3e77b442"
+                 name="AllowedValuesChecksInsideCollection"
+                 namespace="http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442">
+   <dmn:itemDefinition isCollection="false" label="Person" name="Person">
+      <dmn:itemComponent id="_7939ee65-737d-4ea9-b912-448dd5fb2cf1"
+                         isCollection="false"
+                         name="Name">
+         <dmn:typeRef>string</dmn:typeRef>
+      </dmn:itemComponent>
+      <dmn:itemComponent id="_19ef99ee-1d53-4185-aa9d-8fe58a7834ce"
+                         isCollection="true"
+                         name="Interests">
+         <dmn:typeRef>tInterests</dmn:typeRef>
+      </dmn:itemComponent>
+   </dmn:itemDefinition>
+   <dmn:itemDefinition label="tInterest" name="tInterest">
+      <dmn:typeRef>string</dmn:typeRef>
+   </dmn:itemDefinition>
+   <dmn:itemDefinition isCollection="true" label="tInterests" name="tInterests">
+      <dmn:typeRef>tInterest</dmn:typeRef>
+      <dmn:allowedValues xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                         triso:constraintsType="enumeration">
+         <dmn:text>"Golf","Computer","Hockey","Jogging"</dmn:text>
+      </dmn:allowedValues>
+   </dmn:itemDefinition>
+   <dmn:decision xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                 id="_ed3b9794-9306-4b6a-b4f9-5486be3c5515"
+                 name="MyDecision"
+                 triso:displayName="MyDecision">
+      <dmn:variable id="_2e39fe17-4902-40ba-a36c-7fe0d3d992b9"
+                    name="MyDecision"
+                    typeRef="string"/>
+      <dmn:informationRequirement>
+         <dmn:requiredInput href="#_27453770-68e3-48da-8605-d33a653c09ef"/>
+      </dmn:informationRequirement>
+      <dmn:literalExpression id="_71df1866-2b74-4d40-b4fd-0ebe860b27f1">
+         <dmn:text>"The Person " + p1.Name + " likes " + string(count( p1.Interests )) + " thing(s)."</dmn:text>
+      </dmn:literalExpression>
+   </dmn:decision>
+   <dmn:inputData xmlns:triso="http://www.trisotech.com/2015/triso/modeling"
+                  id="_27453770-68e3-48da-8605-d33a653c09ef"
+                  name="p1"
+                  triso:displayName="p1">
+      <dmn:variable id="_1c6c0e02-8b82-4d1f-88a6-a2e35b4eedc7"
+                    name="p1"
+                    typeRef="Person"/>
+   </dmn:inputData>
+</dmn:definitions>
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/Traffic Violation.dmn b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/Traffic Violation.dmn
new file mode 100644
index 000000000..109d4689e
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/Traffic Violation.dmn	
@@ -0,0 +1,230 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/" xmlns="https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:kie="http://www.drools.org/kie/dmn/1.2" xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/" xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" id="_1C792953-80DB-4B32-99EB-25FBE32BAF9E" name="Traffic Violation [...]
+  <dmn:extensionElements/>
+  <dmn:itemDefinition id="_63824D3F-9173-446D-A940-6A7F0FA056BB" name="tDriver" isCollection="false">
+    <dmn:itemComponent id="_9DAB5DAA-3B44-4F6D-87F2-95125FB2FEE4" name="Name" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_856BA8FA-EF7B-4DF9-A1EE-E28263CE9955" name="Age" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_FDC2CE03-D465-47C2-A311-98944E8CC23F" name="State" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_D6FD34C4-00DC-4C79-B1BF-BBCF6FC9B6D7" name="City" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_7110FE7E-1A38-4C39-B0EB-AEEF06BA37F4" name="Points" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:itemDefinition id="_40731093-0642-4588-9183-1660FC55053B" name="tViolation" isCollection="false">
+    <dmn:itemComponent id="_39E88D9F-AE53-47AD-B3DE-8AB38D4F50B3" name="Code" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_1648EA0A-2463-4B54-A12A-D743A3E3EE7B" name="Date" isCollection="false">
+      <dmn:typeRef>date</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_9F129EAA-4E71-4D99-B6D0-84EEC3AC43CC" name="Type" isCollection="false">
+      <dmn:typeRef>string</dmn:typeRef>
+      <dmn:allowedValues kie:constraintType="enumeration" id="_626A8F9C-9DD1-44E0-9568-0F6F8F8BA228">
+        <dmn:text>"speed", "parking", "driving under the influence"</dmn:text>
+      </dmn:allowedValues>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_DDD10D6E-BD38-4C79-9E2F-8155E3A4B438" name="Speed Limit" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_229F80E4-2892-494C-B70D-683ABF2345F6" name="Actual Speed" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:itemDefinition id="_2D4F30EE-21A6-4A78-A524-A5C238D433AE" name="tFine" isCollection="false">
+    <dmn:itemComponent id="_B9F70BC7-1995-4F51-B949-1AB65538B405" name="Amount" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+    <dmn:itemComponent id="_F49085D6-8F08-4463-9A1A-EF6B57635DBD" name="Points" isCollection="false">
+      <dmn:typeRef>number</dmn:typeRef>
+    </dmn:itemComponent>
+  </dmn:itemDefinition>
+  <dmn:inputData id="_1929CBD5-40E0-442D-B909-49CEDE0101DC" name="Violation">
+    <dmn:variable id="_C16CF9B1-5FAB-48A0-95E0-5FCD661E0406" name="Violation" typeRef="tViolation"/>
+  </dmn:inputData>
+  <dmn:decision id="_4055D956-1C47-479C-B3F4-BAEB61F1C929" name="Fine">
+    <dmn:variable id="_8C1EAC83-F251-4D94-8A9E-B03ACF6849CD" name="Fine" typeRef="tFine"/>
+    <dmn:informationRequirement id="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+      <dmn:requiredInput href="#_1929CBD5-40E0-442D-B909-49CEDE0101DC"/>
+    </dmn:informationRequirement>
+    <dmn:decisionTable id="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A" hitPolicy="UNIQUE" preferredOrientation="Rule-as-Row">
+      <dmn:input id="_B53A6F0D-F72C-41EF-96B3-F31269AC0FED">
+        <dmn:inputExpression id="_974C8D01-728F-4CE5-8C69-BE884125B859" typeRef="string">
+          <dmn:text>Violation.Type</dmn:text>
+        </dmn:inputExpression>
+      </dmn:input>
+      <dmn:input id="_D5319F80-1C59-4736-AF2D-D29DE6B7E76D">
+        <dmn:inputExpression id="_3FEB4DE3-90C6-438E-99BF-9BB1BF5B078A" typeRef="number">
+          <dmn:text>Violation.Actual Speed - Violation.Speed Limit</dmn:text>
+        </dmn:inputExpression>
+      </dmn:input>
+      <dmn:output id="_9012031F-9C01-44E5-8CD2-E6704D594504" name="Amount" typeRef="number"/>
+      <dmn:output id="_7CAC8240-E1A5-4FEB-A0D4-B8613F0DE54B" name="Points" typeRef="number"/>
+      <dmn:rule id="_424A80AE-916F-4451-9B6B-71557F7EC65A">
+        <dmn:inputEntry id="_EDA4F336-AA28-4F5F-ADFC-401E6DCC8D35">
+          <dmn:text>"speed"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_246AAB08-A945-4599-9220-7C24B6716FDD">
+          <dmn:text>[10..30)</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_E49345EE-51D3-47C7-B658-3607E723FF37">
+          <dmn:text>500</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_1D56F3CB-6BAE-4415-940F-00F37121813D">
+          <dmn:text>3</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_B1ECE6A9-6B82-4A85-A7CA-5F96CDB0DCB6">
+        <dmn:inputEntry id="_2390F686-65CF-40FF-BF9A-72DFBAEBACAC">
+          <dmn:text>"speed"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_8CEBE4D5-DBEF-46EF-BD95-7B96148B6D8A">
+          <dmn:text>&gt;= 30</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_5FCC56B7-6BAA-4B09-AC61-7EB9D4CD58C3">
+          <dmn:text>1000</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_79FF8FDD-3299-4DFD-AA14-D2022504BDAD">
+          <dmn:text>7</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_8FC7068C-A3FD-44D9-AC2B-69C160A12E5D">
+        <dmn:inputEntry id="_02EEE8A9-1AD7-4708-8EC8-9B4177B05167">
+          <dmn:text>"parking"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_A5141FF4-8D63-49DB-8979-3B64A3BD9A82">
+          <dmn:text>-</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_EFDA632D-113D-46C9-94B8-78E9F9770CA4">
+          <dmn:text>100</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_05F86973-52CE-4C9D-B785-47B6340D10FD">
+          <dmn:text>1</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+      <dmn:rule id="_A742DF2B-DC91-4166-9773-6EF86A45A625">
+        <dmn:inputEntry id="_F5B5AE87-D9E6-4142-B01D-D79D4BA49EEE">
+          <dmn:text>"driving under the influence"</dmn:text>
+        </dmn:inputEntry>
+        <dmn:inputEntry id="_BD2A43F5-46D8-436A-B8A1-D98747C836B1">
+          <dmn:text>-</dmn:text>
+        </dmn:inputEntry>
+        <dmn:outputEntry id="_ECAF3378-46B6-4F40-B95A-E90DB700BF7D">
+          <dmn:text>1000</dmn:text>
+        </dmn:outputEntry>
+        <dmn:outputEntry id="_F0016A9C-D1D0-472A-9FB3-ABE77AD15F7D">
+          <dmn:text>5</dmn:text>
+        </dmn:outputEntry>
+      </dmn:rule>
+    </dmn:decisionTable>
+  </dmn:decision>
+  <dmn:inputData id="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" name="Driver">
+    <dmn:variable id="_A80F16DF-0DB4-43A2-B041-32900B1A3F3D" name="Driver" typeRef="tDriver"/>
+  </dmn:inputData>
+  <dmn:decision id="_8A408366-D8E9-4626-ABF3-5F69AA01F880" name="Should the driver be suspended?">
+    <dmn:question>Should the driver be suspended due to points on his license?</dmn:question>
+    <dmn:allowedAnswers>"Yes", "No"</dmn:allowedAnswers>
+    <dmn:variable id="_40387B66-5D00-48C8-BB90-E83EE3332C72" name="Should the driver be suspended?" typeRef="string"/>
+    <dmn:informationRequirement id="_982211B1-5246-49CD-BE85-3211F71253CF">
+      <dmn:requiredInput href="#_1F9350D7-146D-46F1-85D8-15B5B68AF22A"/>
+    </dmn:informationRequirement>
+    <dmn:informationRequirement id="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+      <dmn:requiredDecision href="#_4055D956-1C47-479C-B3F4-BAEB61F1C929"/>
+    </dmn:informationRequirement>
+    <dmn:context id="_F39732F1-0AA7-468F-86C4-DCC07E6F81CF">
+      <dmn:contextEntry>
+        <dmn:variable id="_09385E8D-68E0-4DFD-AAD8-141C15C96B71" name="Total Points" typeRef="number"/>
+        <dmn:literalExpression id="_F1BEBF16-033F-4A25-9523-CAC23ACC5DFC">
+          <dmn:text>Driver.Points + Fine.Points</dmn:text>
+        </dmn:literalExpression>
+      </dmn:contextEntry>
+      <dmn:contextEntry>
+        <dmn:literalExpression id="_1929D813-B1C9-43C5-9497-CE5D8B2B040C">
+          <dmn:text>if Total Points >= 20 then "Yes" else "No"</dmn:text>
+        </dmn:literalExpression>
+      </dmn:contextEntry>
+    </dmn:context>
+  </dmn:decision>
+  <dmndi:DMNDI>
+    <dmndi:DMNDiagram>
+      <di:extension>
+        <kie:ComponentsWidthsExtension>
+          <kie:ComponentWidths dmnElementRef="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A">
+            <kie:width>50.0</kie:width>
+            <kie:width>254.0</kie:width>
+            <kie:width>329.0</kie:width>
+            <kie:width>119.0</kie:width>
+            <kie:width>100.0</kie:width>
+            <kie:width>186.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_F39732F1-0AA7-468F-86C4-DCC07E6F81CF">
+            <kie:width>50.0</kie:width>
+            <kie:width>100.0</kie:width>
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_F1BEBF16-033F-4A25-9523-CAC23ACC5DFC">
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+          <kie:ComponentWidths dmnElementRef="_1929D813-B1C9-43C5-9497-CE5D8B2B040C">
+            <kie:width>398.0</kie:width>
+          </kie:ComponentWidths>
+        </kie:ComponentsWidthsExtension>
+      </di:extension>
+      <dmndi:DMNShape id="dmnshape-_1929CBD5-40E0-442D-B909-49CEDE0101DC" dmnElementRef="_1929CBD5-40E0-442D-B909-49CEDE0101DC" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="708" y="350" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_4055D956-1C47-479C-B3F4-BAEB61F1C929" dmnElementRef="_4055D956-1C47-479C-B3F4-BAEB61F1C929" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="709" y="210" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_1F9350D7-146D-46F1-85D8-15B5B68AF22A" dmnElementRef="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="369" y="344" width="100" height="50"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNShape id="dmnshape-_8A408366-D8E9-4626-ABF3-5F69AA01F880" dmnElementRef="_8A408366-D8E9-4626-ABF3-5F69AA01F880" isCollapsed="false">
+        <dmndi:DMNStyle>
+          <dmndi:FillColor red="255" green="255" blue="255"/>
+          <dmndi:StrokeColor red="0" green="0" blue="0"/>
+          <dmndi:FontColor red="0" green="0" blue="0"/>
+        </dmndi:DMNStyle>
+        <dc:Bounds x="534" y="83" width="133" height="63"/>
+        <dmndi:DMNLabel/>
+      </dmndi:DMNShape>
+      <dmndi:DMNEdge id="dmnedge-_800A3BBB-90A3-4D9D-BA5E-A311DED0134F" dmnElementRef="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+        <di:waypoint x="758" y="375"/>
+        <di:waypoint x="759" y="235"/>
+      </dmndi:DMNEdge>
+      <dmndi:DMNEdge id="dmnedge-_982211B1-5246-49CD-BE85-3211F71253CF" dmnElementRef="_982211B1-5246-49CD-BE85-3211F71253CF">
+        <di:waypoint x="419" y="369"/>
+        <di:waypoint x="600.5" y="114.5"/>
+      </dmndi:DMNEdge>
+      <dmndi:DMNEdge id="dmnedge-_AEC4AA5F-50C3-4FED-A0C2-261F90290731" dmnElementRef="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+        <di:waypoint x="759" y="235"/>
+        <di:waypoint x="600.5" y="114.5"/>
+      </dmndi:DMNEdge>
+    </dmndi:DMNDiagram>
+  </dmndi:DMNDI>
+</dmn:definitions>
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/application.properties b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/application.properties
new file mode 100644
index 000000000..a3205e4e7
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/application.properties
@@ -0,0 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Packaging
+
+server.address=0.0.0.0
+
+org.kie.dmn.runtime.typecheck=true
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/logback.xml b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/logback.xml
new file mode 100644
index 000000000..10014ab3e
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/main/resources/logback.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<configuration>
+
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+    </encoder>
+  </appender>
+
+  <root level="info">
+    <appender-ref ref="STDOUT" />
+  </root>
+
+</configuration>
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/AllowedValuesTest.java b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/AllowedValuesTest.java
new file mode 100644
index 000000000..26f5d4189
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/AllowedValuesTest.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.springboot.example;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.web.server.LocalServerPort;
+import org.springframework.test.annotation.DirtiesContext;
+
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = KogitoSpringbootApplication.class)
+@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
+public class AllowedValuesTest {
+
+    @LocalServerPort
+    private int port;
+
+    @BeforeEach
+    public void setUp() {
+        RestAssured.port = port;
+    }
+
+    @Test
+    public void testAllowedValuesWithValidValue() {
+        given()
+                .body("{\n" +
+                        "  \"p1\": {\n" +
+                        "    \"Name\": \"Joe\",\n" +
+                        "    \"Interests\": [\n" +
+                        "      \"Golf\"\n" +
+                        "    ]\n" +
+                        "  }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/AllowedValuesChecksInsideCollection")
+                .then()
+                .statusCode(200)
+                .body("'MyDecision'", is("The Person Joe likes 1 thing(s)."));
+    }
+
+    @Test
+    public void testAllowedValuesWithInvalidValue() {
+        given()
+                .body("{\n" +
+                        "  \"p1\": {\n" +
+                        "    \"Name\": \"Joe\",\n" +
+                        "    \"Interests\": [\n" +
+                        "      \"Dancing\"\n" +
+                        "    ]\n" +
+                        "  }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/AllowedValuesChecksInsideCollection")
+                .then()
+                .statusCode(500)
+                .body("messages[0].message", containsString(
+                        "Error while evaluating node 'MyDecision' for dependency 'p1': the dependency value '{Interests=[Dancing], Name=Joe}' is not allowed by the declared type (DMNType{ http://www.trisotech.com/definitions/_238bd96d-47cd-4746-831b-504f3e77b442 : Person })"));
+    }
+}
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/TrafficViolationTest.java b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/TrafficViolationTest.java
new file mode 100644
index 000000000..dc5fa8801
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/org/kie/kogito/dmn/springboot/example/TrafficViolationTest.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.dmn.springboot.example;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.web.server.LocalServerPort;
+import org.springframework.test.annotation.DirtiesContext;
+
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.is;
+
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = KogitoSpringbootApplication.class)
+@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
+public class TrafficViolationTest {
+
+    @LocalServerPort
+    private int port;
+
+    @BeforeEach
+    public void setUp() {
+        RestAssured.port = port;
+    }
+
+    @Test
+    public void testEvaluateTrafficViolation() {
+        given()
+                .body("{\n" +
+                        "    \"Driver\": {\n" +
+                        "        \"Points\": 2\n" +
+                        "    },\n" +
+                        "    \"Violation\": {\n" +
+                        "        \"Type\": \"speed\",\n" +
+                        "        \"Actual Speed\": 120,\n" +
+                        "        \"Speed Limit\": 100\n" +
+                        "    }\n" +
+                        "}")
+                .contentType(ContentType.JSON)
+                .when()
+                .post("/Traffic Violation")
+                .then()
+                .statusCode(200)
+                .body("'Should the driver be suspended?'", is("No"));
+    }
+}
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java
new file mode 100644
index 000000000..538d8b100
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/java/testscenario/TestScenarioJunitActivatorTest.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package testscenario;
+
+import org.drools.scenariosimulation.backend.runner.TestScenarioActivator;
+
+/**
+ * TestScenarioJunitActivator is a custom JUnit runner that enables the execution of Test Scenario files (*.scesim).
+ * This activator class, when executed, will load all scesim files available in the project and run them.
+ * Each row of the scenario will generate a test JUnit result.
+ */
+@TestScenarioActivator
+public class TestScenarioJunitActivatorTest {
+
+}
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/resources/TrafficViolationTest.scesim b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/resources/TrafficViolationTest.scesim
new file mode 100644
index 000000000..3a9a5d98f
--- /dev/null
+++ b/gradle-examples/kogito-springboot-gradle-examples/dmn-springboot-gradle/src/test/resources/TrafficViolationTest.scesim
@@ -0,0 +1,766 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ScenarioSimulationModel version="1.8">
+  <simulation>
+    <scesimModelDescriptor>
+      <factMappings>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>Index</name>
+            <type>OTHER</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>#</name>
+            <className>java.lang.Integer</className>
+          </factIdentifier>
+          <className>java.lang.Integer</className>
+          <factAlias>#</factAlias>
+          <columnWidth>70</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>Description</name>
+            <type>OTHER</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Scenario description</name>
+            <className>java.lang.String</className>
+          </factIdentifier>
+          <className>java.lang.String</className>
+          <factAlias>Scenario description</factAlias>
+          <columnWidth>300</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Driver</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Points</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|5</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Driver</name>
+            <className>Driver</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Driver</factAlias>
+          <expressionAlias>Points</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Type</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|8</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>Type</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Type</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Speed Limit</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|9</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Speed Limit</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Violation</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Actual Speed</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|10</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Violation</name>
+            <className>Violation</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Violation</factAlias>
+          <expressionAlias>Actual Speed</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Fine</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Amount</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|11</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Fine</name>
+            <className>Fine</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Fine</factAlias>
+          <expressionAlias>Amount</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Fine</step>
+            </ExpressionElement>
+            <ExpressionElement>
+              <step>Points</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|12</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Fine</name>
+            <className>Fine</className>
+          </factIdentifier>
+          <className>number</className>
+          <factAlias>Fine</factAlias>
+          <expressionAlias>Points</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+        <FactMapping>
+          <expressionElements>
+            <ExpressionElement>
+              <step>Should the driver be suspended?</step>
+            </ExpressionElement>
+          </expressionElements>
+          <expressionIdentifier>
+            <name>1|13</name>
+            <type>EXPECT</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Should the driver be suspended?</name>
+            <className>Should the driver be suspended?</className>
+          </factIdentifier>
+          <className>string</className>
+          <factAlias>Should the driver be suspended?</factAlias>
+          <expressionAlias>value</expressionAlias>
+          <genericTypes/>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+      </factMappings>
+    </scesimModelDescriptor>
+    <scesimData>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Above speed limit: 10km/h and 30 km/h</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">120</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">500</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">3</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">1</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Above speed limit: more than 30 km/h</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">150</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">7</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">2</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Parking violation</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"parking"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">3</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">DUI violation</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">10</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"driving under the influence"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">5</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"No"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">4</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+      <Scenario>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Scenario description</name>
+              <className>java.lang.String</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Description</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">Driver suspended</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Driver</name>
+              <className>Driver</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|5</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">15</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|8</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">"speed"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|9</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">100</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Violation</name>
+              <className>Violation</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|10</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+            <rawValue class="string">140</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|11</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">1000</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Fine</name>
+              <className>Fine</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|12</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">7</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Should the driver be suspended?</name>
+              <className>Should the driver be suspended?</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|13</name>
+              <type>EXPECT</type>
+            </expressionIdentifier>
+            <rawValue class="string">"Yes"</rawValue>
+          </FactMappingValue>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>#</name>
+              <className>java.lang.Integer</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>Index</name>
+              <type>OTHER</type>
+            </expressionIdentifier>
+            <rawValue class="string">5</rawValue>
+          </FactMappingValue>
+        </factMappingValues>
+      </Scenario>
+    </scesimData>
+  </simulation>
+  <background>
+    <scesimModelDescriptor>
+      <factMappings>
+        <FactMapping>
+          <expressionElements/>
+          <expressionIdentifier>
+            <name>1|1</name>
+            <type>GIVEN</type>
+          </expressionIdentifier>
+          <factIdentifier>
+            <name>Empty</name>
+            <className>java.lang.Void</className>
+          </factIdentifier>
+          <className>java.lang.Void</className>
+          <factAlias>INSTANCE 1</factAlias>
+          <expressionAlias>PROPERTY 1</expressionAlias>
+          <columnWidth>114</columnWidth>
+          <factMappingValueType>NOT_EXPRESSION</factMappingValueType>
+        </FactMapping>
+      </factMappings>
+    </scesimModelDescriptor>
+    <scesimData>
+      <BackgroundData>
+        <factMappingValues>
+          <FactMappingValue>
+            <factIdentifier>
+              <name>Empty</name>
+              <className>java.lang.Void</className>
+            </factIdentifier>
+            <expressionIdentifier>
+              <name>1|1</name>
+              <type>GIVEN</type>
+            </expressionIdentifier>
+          </FactMappingValue>
+        </factMappingValues>
+      </BackgroundData>
+    </scesimData>
+  </background>
+  <settings>
+    <dmnFilePath>../../main/resources/Traffic Violation.dmn</dmnFilePath>
+    <type>DMN</type>
+    <dmnNamespace>https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF</dmnNamespace>
+    <dmnName>Traffic Violation</dmnName>
+    <skipFromBuild>false</skipFromBuild>
+    <stateless>false</stateless>
+  </settings>
+  <imports>
+    <imports/>
+  </imports>
+</ScenarioSimulationModel>
\ No newline at end of file
diff --git a/gradle-examples/kogito-springboot-gradle-examples/pom.xml b/gradle-examples/kogito-springboot-gradle-examples/pom.xml
index 5fc927275..1e1d07411 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/pom.xml
+++ b/gradle-examples/kogito-springboot-gradle-examples/pom.xml
@@ -12,10 +12,11 @@
 
   <artifactId>kogito-springboot-gradle-examples</artifactId>
 
-  <name>Springboot Gradle Examples</name>
+  <name>Kogito Example :: Gradle :: Spring Boot</name>
   <description>Kogito Springboot Examples built with Gradle</description>
   <modules>
     <module>process-decisions-rules-springboot-gradle</module>
+    <module>dmn-springboot-gradle</module>
   </modules>
 
 
diff --git a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties b/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties
index 619669122..a6acc2025 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties
+++ b/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/gradle.properties
@@ -1,5 +1,5 @@
 #Gradle properties
-springBootVersion=3.4.11
+springBootVersion=3.5.10
 springBootDependencyManagementVersion=1.1.5
 taskTreeVersion=4.0.1
 junitVersion=5.12.1
diff --git a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml b/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
index 7955e4857..75fbfe89f 100644
--- a/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
+++ b/gradle-examples/kogito-springboot-gradle-examples/process-decisions-rules-springboot-gradle/pom.xml
@@ -10,7 +10,7 @@
   </parent>
 
   <artifactId>process-decisions-rules-springboot-gradle</artifactId>
-  <name>Kogito Example :: Process :: Decisions :: Rules :: Spring Boot :: Gradle</name>
+  <name>Kogito Example :: Gradle :: Spring Boot :: Process - Decisions - Rules</name>
   <description>Process with DRL, DMN and DRL integration - Spring Boot - Gradle</description>
 
   <properties>
diff --git a/gradle-examples/pom.xml b/gradle-examples/pom.xml
index eeae23404..fd690b467 100644
--- a/gradle-examples/pom.xml
+++ b/gradle-examples/pom.xml
@@ -11,7 +11,7 @@
   <artifactId>gradle-examples</artifactId>
   <packaging>pom</packaging>
 
-  <name>Gradle Examples</name>
+  <name>Kogito Example :: Gradle</name>
   <description>Kogito Examples built with Gradle</description>
   <modules>
     <module>kogito-springboot-gradle-examples</module>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org