diff --git a/README.md b/README.md
index 46dd45e..177a89a 100644
--- a/README.md
+++ b/README.md
@@ -108,7 +108,7 @@ Last updated: 2025-08-27
-

-
Refresh Date: 2025-09-05
+

+
Refresh Date: 2025-09-09
diff --git a/models/robot.json b/models/robot.json
new file mode 100644
index 0000000..baab90d
--- /dev/null
+++ b/models/robot.json
@@ -0,0 +1,168 @@
+{
+ "@id": "dtmi:com:example:Robot;1",
+ "@type": "Interface",
+ "@context": "dtmi:dtdl:context;2",
+ "displayName": "Robot",
+ "contents": [
+ {
+ "@type": "Property",
+ "name": "robotId",
+ "schema": "string",
+ "description": "The unique identifier for the robot"
+ },
+ {
+ "@type": "Property",
+ "name": "model",
+ "schema": "string",
+ "description": "The model of the robot"
+ },
+ {
+ "@type": "Property",
+ "name": "manufacturer",
+ "schema": "string",
+ "description": "The manufacturer of the robot"
+ },
+ {
+ "@type": "Property",
+ "name": "batteryLevel",
+ "schema": "double",
+ "description": "The current battery level of the robot as a percentage"
+ },
+ {
+ "@type": "Property",
+ "name": "status",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "idle",
+ "displayName": "Idle",
+ "enumValue": "idle"
+ },
+ {
+ "name": "moving",
+ "displayName": "Moving",
+ "enumValue": "moving"
+ },
+ {
+ "name": "picking",
+ "displayName": "Picking",
+ "enumValue": "picking"
+ },
+ {
+ "name": "charging",
+ "displayName": "Charging",
+ "enumValue": "charging"
+ },
+ {
+ "name": "maintenance",
+ "displayName": "Maintenance",
+ "enumValue": "maintenance"
+ }
+ ]
+ },
+ "description": "The current status of the robot"
+ },
+ {
+ "@type": "Property",
+ "name": "currentZone",
+ "schema": "string",
+ "description": "The ID of the zone where the robot is currently located"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "position",
+ "schema": {
+ "@type": "Object",
+ "fields": [
+ {
+ "name": "x",
+ "schema": "double"
+ },
+ {
+ "name": "y",
+ "schema": "double"
+ },
+ {
+ "name": "z",
+ "schema": "double"
+ }
+ ]
+ },
+ "description": "The current position of the robot in 3D space"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "speed",
+ "schema": "double",
+ "description": "The current speed of the robot in meters per second"
+ },
+ {
+ "@type": "Command",
+ "name": "move",
+ "request": {
+ "name": "destination",
+ "schema": {
+ "@type": "Object",
+ "fields": [
+ {
+ "name": "x",
+ "schema": "double"
+ },
+ {
+ "name": "y",
+ "schema": "double"
+ },
+ {
+ "name": "z",
+ "schema": "double"
+ }
+ ]
+ }
+ },
+ "response": {
+ "name": "response",
+ "schema": {
+ "@type": "Object",
+ "fields": [
+ {
+ "name": "success",
+ "schema": "boolean"
+ },
+ {
+ "name": "message",
+ "schema": "string"
+ }
+ ]
+ }
+ },
+ "description": "Command to move the robot to a specific position"
+ },
+ {
+ "@type": "Command",
+ "name": "pickItem",
+ "request": {
+ "name": "itemId",
+ "schema": "string"
+ },
+ "response": {
+ "name": "response",
+ "schema": {
+ "@type": "Object",
+ "fields": [
+ {
+ "name": "success",
+ "schema": "boolean"
+ },
+ {
+ "name": "message",
+ "schema": "string"
+ }
+ ]
+ }
+ },
+ "description": "Command to pick an item"
+ }
+ ]
+}
diff --git a/models/sensor.json b/models/sensor.json
new file mode 100644
index 0000000..7219f04
--- /dev/null
+++ b/models/sensor.json
@@ -0,0 +1,101 @@
+{
+ "@id": "dtmi:com:example:Sensor;1",
+ "@type": "Interface",
+ "@context": "dtmi:dtdl:context;2",
+ "displayName": "Sensor",
+ "contents": [
+ {
+ "@type": "Property",
+ "name": "sensorId",
+ "schema": "string",
+ "description": "The unique identifier for the sensor"
+ },
+ {
+ "@type": "Property",
+ "name": "manufacturer",
+ "schema": "string",
+ "description": "The manufacturer of the sensor"
+ },
+ {
+ "@type": "Property",
+ "name": "modelNumber",
+ "schema": "string",
+ "description": "The model number of the sensor"
+ },
+ {
+ "@type": "Property",
+ "name": "sensorType",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "temperature",
+ "displayName": "Temperature",
+ "enumValue": "temperature"
+ },
+ {
+ "name": "humidity",
+ "displayName": "Humidity",
+ "enumValue": "humidity"
+ },
+ {
+ "name": "motion",
+ "displayName": "Motion",
+ "enumValue": "motion"
+ },
+ {
+ "name": "weight",
+ "displayName": "Weight",
+ "enumValue": "weight"
+ }
+ ]
+ },
+ "description": "The type of the sensor"
+ },
+ {
+ "@type": "Property",
+ "name": "batteryLevel",
+ "schema": "double",
+ "description": "The current battery level of the sensor as a percentage"
+ },
+ {
+ "@type": "Property",
+ "name": "status",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "online",
+ "displayName": "Online",
+ "enumValue": "online"
+ },
+ {
+ "name": "offline",
+ "displayName": "Offline",
+ "enumValue": "offline"
+ },
+ {
+ "name": "maintenance",
+ "displayName": "Maintenance",
+ "enumValue": "maintenance"
+ }
+ ]
+ },
+ "description": "The current status of the sensor"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "reading",
+ "schema": "double",
+ "description": "The current reading from the sensor"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "lastCommunication",
+ "schema": "dateTime",
+ "description": "Timestamp of the last communication from the sensor"
+ }
+ ]
+}
diff --git a/models/shelf.json b/models/shelf.json
new file mode 100644
index 0000000..e5c105f
--- /dev/null
+++ b/models/shelf.json
@@ -0,0 +1,71 @@
+{
+ "@id": "dtmi:com:example:Shelf;1",
+ "@type": "Interface",
+ "@context": "dtmi:dtdl:context;2",
+ "displayName": "Shelf",
+ "contents": [
+ {
+ "@type": "Property",
+ "name": "shelfId",
+ "schema": "string",
+ "description": "The unique identifier for the shelf"
+ },
+ {
+ "@type": "Property",
+ "name": "capacity",
+ "schema": "integer",
+ "description": "The maximum capacity of the shelf in number of items"
+ },
+ {
+ "@type": "Property",
+ "name": "itemCount",
+ "schema": "integer",
+ "description": "The current number of items on the shelf"
+ },
+ {
+ "@type": "Property",
+ "name": "shelfType",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "standard",
+ "displayName": "Standard",
+ "enumValue": "standard"
+ },
+ {
+ "name": "heavyDuty",
+ "displayName": "Heavy Duty",
+ "enumValue": "heavyDuty"
+ },
+ {
+ "name": "refrigerated",
+ "displayName": "Refrigerated",
+ "enumValue": "refrigerated"
+ }
+ ]
+ },
+ "description": "The type of the shelf"
+ },
+ {
+ "@type": "Relationship",
+ "name": "hasSensor",
+ "target": "dtmi:com:example:Sensor;1",
+ "properties": [
+ {
+ "@type": "Property",
+ "name": "sensorId",
+ "schema": "string"
+ }
+ ],
+ "description": "Relationship to sensors monitoring the shelf"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "loadPercentage",
+ "schema": "double",
+ "description": "The current load of the shelf as a percentage of its capacity"
+ }
+ ]
+}
diff --git a/models/warehouse.json b/models/warehouse.json
new file mode 100644
index 0000000..f8d6aac
--- /dev/null
+++ b/models/warehouse.json
@@ -0,0 +1,77 @@
+{
+ "@id": "dtmi:com:example:Warehouse;1",
+ "@type": "Interface",
+ "@context": "dtmi:dtdl:context;2",
+ "displayName": "Warehouse",
+ "contents": [
+ {
+ "@type": "Property",
+ "name": "name",
+ "schema": "string",
+ "description": "The name of the warehouse"
+ },
+ {
+ "@type": "Property",
+ "name": "location",
+ "schema": "string",
+ "description": "The physical location of the warehouse"
+ },
+ {
+ "@type": "Property",
+ "name": "area",
+ "schema": "double",
+ "description": "The total area of the warehouse in square meters"
+ },
+ {
+ "@type": "Property",
+ "name": "status",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "active",
+ "displayName": "Active",
+ "enumValue": "active"
+ },
+ {
+ "name": "inactive",
+ "displayName": "Inactive",
+ "enumValue": "inactive"
+ },
+ {
+ "name": "maintenance",
+ "displayName": "Under Maintenance",
+ "enumValue": "maintenance"
+ }
+ ]
+ },
+ "description": "The current status of the warehouse"
+ },
+ {
+ "@type": "Relationship",
+ "name": "contains",
+ "target": "dtmi:com:example:Zone;1",
+ "properties": [
+ {
+ "@type": "Property",
+ "name": "zoneName",
+ "schema": "string"
+ }
+ ],
+ "description": "Relationship to zones contained within the warehouse"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "temperature",
+ "schema": "double",
+ "description": "The current average temperature in the warehouse"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "humidity",
+ "schema": "double",
+ "description": "The current average humidity in the warehouse"
+ }
+ ]
+}
diff --git a/models/zone.json b/models/zone.json
new file mode 100644
index 0000000..877e951
--- /dev/null
+++ b/models/zone.json
@@ -0,0 +1,70 @@
+{
+ "@id": "dtmi:com:example:Zone;1",
+ "@type": "Interface",
+ "@context": "dtmi:dtdl:context;2",
+ "displayName": "Zone",
+ "contents": [
+ {
+ "@type": "Property",
+ "name": "name",
+ "schema": "string",
+ "description": "The name of the zone"
+ },
+ {
+ "@type": "Property",
+ "name": "zoneType",
+ "schema": {
+ "@type": "Enum",
+ "valueSchema": "string",
+ "enumValues": [
+ {
+ "name": "storage",
+ "displayName": "Storage",
+ "enumValue": "storage"
+ },
+ {
+ "name": "picking",
+ "displayName": "Picking",
+ "enumValue": "picking"
+ },
+ {
+ "name": "shipping",
+ "displayName": "Shipping",
+ "enumValue": "shipping"
+ },
+ {
+ "name": "receiving",
+ "displayName": "Receiving",
+ "enumValue": "receiving"
+ }
+ ]
+ },
+ "description": "The type of the zone"
+ },
+ {
+ "@type": "Property",
+ "name": "level",
+ "schema": "integer",
+ "description": "The floor level of the zone"
+ },
+ {
+ "@type": "Relationship",
+ "name": "contains",
+ "target": "dtmi:com:example:Shelf;1",
+ "properties": [
+ {
+ "@type": "Property",
+ "name": "shelfId",
+ "schema": "string"
+ }
+ ],
+ "description": "Relationship to shelves contained within the zone"
+ },
+ {
+ "@type": "Telemetry",
+ "name": "occupancyLevel",
+ "schema": "double",
+ "description": "The current occupancy level of the zone as a percentage"
+ }
+ ]
+}
diff --git a/scenario1-high-decay/README.md b/scenario1-high-decay/README.md
index bb45b3f..a9943a4 100644
--- a/scenario1-high-decay/README.md
+++ b/scenario1-high-decay/README.md
@@ -147,7 +147,7 @@ Last updated: 2025-08-27
-

-
Refresh Date: 2025-09-05
+

+
Refresh Date: 2025-09-09
diff --git a/scenario1-high-decay/terraform-infrastructure/README.md b/scenario1-high-decay/terraform-infrastructure/README.md
index 1d037bc..7973034 100644
--- a/scenario1-high-decay/terraform-infrastructure/README.md
+++ b/scenario1-high-decay/terraform-infrastructure/README.md
@@ -126,7 +126,7 @@ graph TD;
-

-
Refresh Date: 2025-09-05
+

+
Refresh Date: 2025-09-09
diff --git a/scenario2-optimized/README.md b/scenario2-optimized/README.md
index 18272a2..d89e902 100644
--- a/scenario2-optimized/README.md
+++ b/scenario2-optimized/README.md
@@ -147,7 +147,7 @@ Last updated: 2025-09-05
-

-
Refresh Date: 2025-09-05
+

+
Refresh Date: 2025-09-09
diff --git a/scenario2-optimized/terraform-infrastructure/README.md b/scenario2-optimized/terraform-infrastructure/README.md
index 2d11ce4..edf7840 100644
--- a/scenario2-optimized/terraform-infrastructure/README.md
+++ b/scenario2-optimized/terraform-infrastructure/README.md
@@ -126,7 +126,7 @@ graph TD;
-

-
Refresh Date: 2025-09-05
+

+
Refresh Date: 2025-09-09