| This is based on an example in the draft paper ''PSL: A Semantic Domain for Flow Models'' July 7, 2003, | by CONRAD BOCK National Institute of Standards conrad.bock@nist.gov | and MICHAEL GRUNINGER michael.gruninger@nist.gov | | The food service process must include ordering, preparing, serving, eating, and paying, | but not necessarily in exactly that order. The constraints might be: | * Ordering, preparing, and serving always happen before eating. | * Serving happens after preparing and ordering. | * Paying can happen anytime in the process. | | The rule for sequencing the activities is a simplified one for the purposes of this example. this-activity1 must occur before this-activity2 =============================================== ordering eating preparing eating serving eating preparing serving ordering serving in scenario this-number step this-step is this-activity ======================================================= 1 1 ordering 1 2 paying 1 3 eating we can start with some-activity ------------------------------------- in scenario 2 step 1 is that-activity in scenario 2 step some-step is some-activity that-activity must occur before some-activity2 not : there is an activity that must occur between that-activity and that-activity2 that-step + 1 = some-step2 ------------------------------------------------------------------------------------ in scenario 2 step that-step2 is that-activity2 some-activity1 must occur before some-activity2 that-activity2 must occur before some-activity3 -------------------------------------------------------------------------- that-activity1 followed by that-activity2 must occur before that-activity3 some-activity1 followed by some-activity2 must occur before some-activity3 ------------------------------------------------------------------------------ there is an activity that must occur between that-activity1 and that-activity3 some-activity is being modeled not : that-activity has a precondition -------------------------------------- we can start with that-activity some-activity1 must occur before some-activity2 ----------------------------------------------- that-activity2 has a precondition in scenario some-number step some-step1 is some-activity1 in scenario that-number step some-step2 is some-activity2 that-step1 is less than that-step2 ------------------------------------------------------------------- in scenario that-number that-activity1 occurs before that-activity2 in scenario some-number step some-step2 is some-activity2 some-activity1 must occur before that-activity2 not : in scenario that-number that-activity1 occurs before that-activity2 ---------------------------------------------------------------------------------------------- in scenario that-number step that-activity1 should have happened before that-activity2 but did not some-activity1 must occur before some-activity2 that-activity2 must occur before some-activity3 ----------------------------------------------- that-activity1 must occur before that-activity3 some-activity1 must occur before some-activity2 ----------------------------------------------- that-activity1 is being modeled some-activity1 must occur before some-activity2 ----------------------------------------------- that-activity2 is being modeled this-activity is being modeled ============================== paying