www.data61.csiro.au
Automated Reasoning for Situational Awareness
Peter Baumgartner, Alexander Krumpholz
Supply Chain Integrity Digital Mission
Automated Reasoning for Situational Awareness Peter Baumgartner, - - PowerPoint PPT Presentation
Automated Reasoning for Situational Awareness Peter Baumgartner, Alexander Krumpholz Supply Chain Integrity Digital Mission www.data61.csiro.au Situational Awareness - Systems of Interest Factory Floor - Are the operations carried out
www.data61.csiro.au
Peter Baumgartner, Alexander Krumpholz
Supply Chain Integrity Digital Mission
Why is the truck late? Are the tomatoes still fresh?
GPS coordinates Temp sensor Paperwork Log DB
Events…
Why is the truck late? Are the tomatoes still fresh?
GPS coordinates Temp sensor Paperwork Log DB
Incomplete/noisy/erroneous data Need domain knowledge (“fresh”?)
Why this is hard
Events…
Why is the truck late? Are the tomatoes still fresh?
GPS coordinates Temp sensor Paperwork Log DB
Incomplete/noisy/erroneous data Need domain knowledge (“fresh”?)
Why this is hard
Events…
Why is the truck late? Are the tomatoes still fresh?
GPS coordinates Temp sensor Paperwork Log DB
Incomplete/noisy/erroneous data Need domain knowledge (“fresh”?)
Why this is hard
Our logic-based approach
Domain modelling (first principles)
Stuck at warehouse / fresh Traffic jam / not fresh OR
What-if reasoning and explanations Events…
Why is the truck late? Are the tomatoes still fresh?
GPS coordinates Temp sensor Paperwork Log DB
Incomplete/noisy/erroneous data Need domain knowledge (“fresh”?)
Why this is hard
Our logic-based approach
Domain modelling (first principles)
Stuck at warehouse / fresh Traffic jam / not fresh OR
What-if reasoning and explanations Events…
Observation: truck is in Sydney at the warehouse
Observation: truck is in Sydney at the warehouse
Observation: tomatoes are loaded
Observation: tomatoes are loaded
Assumption as per schedule: truck is on the road
Assumption as per schedule: truck is on the road
Report: truck is on the road
Report: truck is on the road
Conclusion: truck is on the road for too long - tomatoes are no longer fresh
Conclusion: truck is on the road for too long - tomatoes are no longer fresh
Report: actually, at T+1 truck was still in Sydney warehouse
Report: actually, at T+1 truck was still in Sydney warehouse
Conclusion: tomatoes are still fresh at T+2
Conclusion: tomatoes are still fresh at T+2
No information at T+3
T+3: What if truck is on the road?
T+3: What if truck is on the road?
OR
T+3: What if truck is on the road? At Canberra warehouse?
Report: truck at Canberra warehouse
Report: truck at Canberra warehouse
T1 T2
Time
T1 T2 T1 < T ≤ T2
Time
T1 T2 T1 < T ≤ T2
Time
✔
If T1 T2 T1 < T ≤ T2 and then
Time
If T1 T2 T1 < T ≤ T2 and then
If in(T1, B, C) & T1 < T2 NOT exists T s.th. T1 < T ≤ T2 & unload(T, B, C) then in(T2, B, C)
Time
If T1 T2 T1 < T ≤ T2 and then
If in(T1, B, C) & T1 < T2 NOT exists T s.th. T1 < T ≤ T2 & unload(T, B, C) then in(T2, B, C)
default reasoning: “not known” (≠ “known not”)
Time
If T1 T2 T1 < T ≤ T2 and then
If in(T1, B, C) & T1 < T2 NOT exists T s.th. T1 < T ≤ T2 & unload(T, B, C) then in(T2, B, C)
default reasoning: “not known” (≠ “known not”)
Time
If at T1 and at T2 then revise: or revise:
If T1 T2 T1 < T ≤ T2 and then
If in(T1, B, C) & T1 < T2 NOT exists T s.th. T1 < T ≤ T2 & unload(T, B, C) then in(T2, B, C)
default reasoning: “not known” (≠ “known not”)
Time
If at T1 and at T2 then revise: or revise:
abstract class Item { val perishable: Boolean } abstract class Fruit extends Item { val perishable = true } abstract class Vehicle { val speed: Int } case class Truck(id: Int, time: DateTime, load: Set[Item]) extends Vehicle with LogicFact { val speed = 80 val rules = List( Truck(id, t, load - item) :- Unload(id, t, item), … ) def hasPerishableLoad = load contains { _.perishable = true } }
abstract class Item { val perishable: Boolean } abstract class Fruit extends Item { val perishable = true } abstract class Vehicle { val speed: Int } case class Truck(id: Int, time: DateTime, load: Set[Item]) extends Vehicle with LogicFact { val speed = 80 val rules = List( Truck(id, t, load - item) :- Unload(id, t, item), … ) def hasPerishableLoad = load contains { _.perishable = true } }
case class Truck(id: Int, time: DateTime, load: Set[Item]) … { … @rules(id, time, load) val rules = List( Fail :- Unload(id, time, item), IF (! load contains items) Truck(id, next, load - item) :- Step(next, time), Unload(id, time, item), NOT(t < time, Unload(id, t, item) ) ) }
case class Truck(id: Int, time: DateTime, load: Set[Item]) … { … @rules(id, time, load) val rules = List( Fail :- Unload(id, time, item), IF (! load contains items) Truck(id, next, load - item) :- Step(next, time), Unload(id, time, item), NOT(t < time, Unload(id, t, item) ) ) }
case class Truck(id: Int, time: DateTime, load: Set[Item]) … { … @rules(id, time, load) val rules = List( Fail :- Unload(id, time, item), IF (! load contains items) Truck(id, next, load - item) :- Step(next, time), Unload(id, time, item), NOT(t < time, Unload(id, t, item) ) ) }
case class Truck(id: Int, time: DateTime, load: Set[Item]) … { … @rules(id, time, load) val rules = List( Fail :- Unload(id, time, item), IF (! load contains items) Truck(id, next, load - item) :- Step(next, time), Unload(id, time, item), NOT(t < time, Unload(id, t, item) ) ) }
case (Step(next, time1), Unload(id1, time2, item)) if time1 == time && time2 == time && id1 == id ! (model exists { case Unload(id2, t, item1) if id2 == id && t < time && item1 == item => true case _ => false } }) => Truck(id, next, load - item)
Fix erroneous event data and revise explanations Derive multiple plausible explanations
Inferences on basis of incomplete information
Rich data structures Java connectivity Inference engine
Rules Scala
System Architecture Explana'ons Inference Engine
Fusemate
Domain Model If-then rules
Updat
EPCIS Events
REST
Q/A/C
Domain Model - e.g., If item I is unpacked from a container C at 3me T then I must have been packed into C at some 3me S < T Explana'ons - The inference engine derives a set of plausible models consistent with the EPCIS events so far EPCIS Events - EPCIS events are sent to fusemate as they become available Update - Plausible models are updated on every new EPCIS event and command provided by user Q/A/C - Where was item I at 3me T? Item I was unpacked from container C at 3me T and loc L. Item I has never arrived at L!
2013
Gary Hartley New Zealand RFID Pathfinder Group January 2013The Use of EPC RFID Standards for Livestock and Meat Traceability
2013
Gary Hartley New Zealand RFID Pathfinder Group January 2013The Use of EPC RFID Standards for Livestock and Meat Traceability
2013
Gary Hartley New Zealand RFID Pathfinder Group January 2013The Use of EPC RFID Standards for Livestock and Meat Traceability
7
Process Step 4 - Animals arrive at Mountain River Processors’ stun box Figure 5.7 - Stun Box Figure 5.8 - RFID reader at Stun Box Figure 5.7 illustrates animals in the location of the stun box. Note the RFID ear tags in the ears of the2013
Gary Hartley New Zealand RFID Pathfinder Group January 2013The Use of EPC RFID Standards for Livestock and Meat Traceability
7
Process Step 4 - Animals arrive at Mountain River Processors’ stun box Figure 5.7 - Stun Box Figure 5.8 - RFID reader at Stun Box Figure 5.7 illustrates animals in the location of the stun box. Note the RFID ear tags in the ears of theTable 6.3 - Commissioning event - tagging of animals ‘ ’.
2013
Gary Hartley New Zealand RFID Pathfinder Group January 2013The Use of EPC RFID Standards for Livestock and Meat Traceability
7
Process Step 4 - Animals arrive at Mountain River Processors’ stun box Figure 5.7 - Stun Box Figure 5.8 - RFID reader at Stun Box Figure 5.7 illustrates animals in the location of the stun box. Note the RFID ear tags in the ears of theTable 6.3 - Commissioning event - tagging of animals ‘ ’. –
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point Where - Biz location
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point Why - Biz step - Disposition Where - Biz location
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point Why - Biz step - Disposition Where - Biz location How
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point Why - Biz step - Disposition Where - Biz location How When
WWWW - What? Where? When? Why?
EPCIS defines lower-level events and higher-level “WWWW” concepts
What Where - Read point Why - Biz step - Disposition Where - Biz location How When There are if-then rules for deriving WWWWs from EPCIS low-level events
Fusemate output Tracking “Deer-1” and “Deer-2”
Model representation is in terms of WWWW, Aggregation and Association concepts
Fusemate output Tracking “Deer-1” and “Deer-2”
WWWW
Model representation is in terms of WWWW, Aggregation and Association concepts
Fusemate output Tracking “Deer-1” and “Deer-2”
WWWW Aggregation
Model representation is in terms of WWWW, Aggregation and Association concepts
Fusemate output Tracking “Deer-1” and “Deer-2”
WWWW Association Aggregation
Model representation is in terms of WWWW, Aggregation and Association concepts
Fusemate output Tracking “Deer-1” and “Deer-2”
WWWW Association Aggregation
Model representation is in terms of WWWW, Aggregation and Association concepts
Disaggregation
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
What is known
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
What is known
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
What is known
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
What is known
Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
What is known
What went wrong?
Fusemate diagnosis scenario - Compute some plausible explanations
We start the diagnosis by telling Fusemate that Carton-13 behaves like Carton-2
Result
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00
We start the diagnosis by telling Fusemate that Carton-13 behaves like Carton-2
Result
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00
We start the diagnosis by telling Fusemate that Carton-13 behaves like Carton-2
Result
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00
ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
We start the diagnosis by telling Fusemate that Carton-13 behaves like Carton-2
Result
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active AggregatedInto 2012-10-26T07:31:09+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00
ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
Now add knowledge of what (not) happened
ShippingContainer-1 rProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
A phone call confirms that Carton-13 was not seen at the DOCK_DOOR any time afuer 11/12/2012:
Plausible Explanation (1)
Negative conclusions
“Carton-13 has been removed from Container-1 but there is no trace from then on”
This information is provided to Fusemate (details not shown here)
= “known not”
ShippingContainer-1 rProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
A phone call confirms that Carton-13 was not seen at the DOCK_DOOR any time afuer 11/12/2012:
Plausible Explanation (1)
Negative conclusions
“Carton-13 has been removed from Container-1 but there is no trace from then on”
This information is provided to Fusemate (details not shown here)
= “known not”
ShippingContainer-1 rProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
A phone call confirms that Carton-13 was not seen at the DOCK_DOOR any time afuer 11/12/2012:
Plausible Explanation (1)
Negative conclusions
“Carton-13 has been removed from Container-1 but there is no trace from then on”
This information is provided to Fusemate (details not shown here)
= “known not”
The user asks the system to compute the next plausible model
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
“Carton-13 has not been removed from Container-1 (still in the container?)”
Plausible Explanation (2)
The user asks the system to compute the next plausible model
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
Arrow in red now
“Carton-13 has not been removed from Container-1 (still in the container?)”
Plausible Explanation (2)
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
The user asks the system to compute the next plausible model “Carton-13 was not loaded into Container-1 in the first place” (And hence cannot be unloaded either as per rules)
Plausible Explanation (3)
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
The user asks the system to compute the next plausible model
Arrow remans in red
“Carton-13 was not loaded into Container-1 in the first place” (And hence cannot be unloaded either as per rules)
Plausible Explanation (3)
Carton-13 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 MountainRiverProcessors/NewZealand/EXIT_POINT shipping - in_transit Observe 2012-10-26T07:53+13:00 Carton-2 MountainRiverProcessors/NewZealand/BONING_ROOM_EXIT MountainRiverProcessors/NewZealand/CHILLER_ROOM commissioning - active Add 2012-10-25T11:25:53+13:00 ShippingContainer-1 PortOfLyttleton/NewZealand/ENTRY_GATE shipping - in_transit Observe 2012-10-26T09:13+13:00 ShippingContainer-1 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit DisaggregatedFrom 2012-12-11T01:09:46+13:00 Carton-13 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-13 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00 Carton-2 PrimeMeat/Germany/DOCK_DOOR shipping - in_transit Observe 2012-12-11T22:40:28+13:00 Carton-2 Retailer-1/Germany/RECEIVING_BAY Retailer-1/Germany/IN_STORE receiving - sellable_accessible Delete 2012-12-12T01:58:34+13:00
The user asks the system to compute the next plausible model
Arrow remans in red
“Carton-13 was not loaded into Container-1 in the first place” (And hence cannot be unloaded either as per rules)
Arrow in red now
Plausible Explanation (3)
The user asks the system to compute the next plausible model
Plausible Explanation (4)
In particular Fusemate does not generate: “Carton-13 has been removed from the Container 1 but was not loaded earlier into Container 1”
□ t . 𝗍𝗂𝗃𝗊𝗊𝖿𝖾(B) → ◊s . s ≤ t + 5 ∧ 𝗌𝖿𝖽𝖿𝗃𝗐𝖿𝖾(B)