diff --git a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
index dd34fa31d1242cf52670cb18fee0c22bc0f3eefb..bd82e5d4655c7c2678286f2cd87c5d8e5ab8241c 100644
--- a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
+++ b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
@@ -62,6 +62,10 @@ class Schema () {
         return constraints().filter { c -> c.type.equals(Constraint.TYPE.FOREIGN_KEY.name) }
     }
 
+    fun doubleIncs(): List<Constraint> {
+        return constraints().filter { c -> c.type.equals(Constraint.TYPE.DOUBLE_INCLUSION.name) }
+    }
+
     fun functionalLHS(tableName: String): Set<Column> {
         var resultCols = mutableSetOf<Column>()
         val first = constraints().filter { c ->
@@ -161,6 +165,26 @@ class Schema () {
         return this
     }
 
+    fun addDoubleInc(commandArgs:String):Schema {
+        val source:String = commandArgs.split("-->")[0]
+        val target:String = commandArgs.split("-->")[1]
+
+        val sourceTableName:String = source.split(":")[0]
+        val sourceAttributeNames = source.split(":")[1]
+
+        val targetTableName:String = target.split(":")[0]
+        val targetAttributeNames = target.split(":")[1]
+
+        val constraint = doubleInclusion {}
+        constraint.name = "${sourceTableName}_${targetTableName}.doubleInc"
+        constraint.source.table=sourceTableName
+        constraint.target.table=targetTableName
+        constraint.source.columns.addAll(Column.set(sourceAttributeNames))
+        constraint.target.columns.addAll(Column.set(targetAttributeNames))
+        constraints().add(constraint)
+        return this
+    }
+
     companion object {
 
         private fun <T> reducedPowerSet(originalSet: Set<T>): Set<Set<T>> {
diff --git a/src/test/kotlin/unibz.cs.semint.kprime/domain/SchemaTest.kt b/src/test/kotlin/unibz.cs.semint.kprime/domain/SchemaTest.kt
index 3b17318c0c689f4c3ef69f0a8b9f31024f45a734..a7693e539d2bbc1ce4697623673ed12c862a9975 100644
--- a/src/test/kotlin/unibz.cs.semint.kprime/domain/SchemaTest.kt
+++ b/src/test/kotlin/unibz.cs.semint.kprime/domain/SchemaTest.kt
@@ -208,4 +208,17 @@ class SchemaTest {
         // then
         assertEquals(1,schema.foreignKeys().size)
     }
+
+
+    @Test
+    fun test_addDoubleInc() {
+        // given
+        var schema = Schema()
+        assertEquals(0,schema.doubleIncs().size)
+        // when
+        schema.addDoubleInc("person:dep_id-->department:dep_id")
+        // then
+        assertEquals(1,schema.doubleIncs().size)
+    }
+
 }
\ No newline at end of file