selector{ cond At(Table,Coffee) selector{ cond Holding(Coffee), At(Robot,Table) act PutDown(Table,Coffee) } selector{ cond NotHolding, At(Robot,Coffee), At(Robot,Table) act PickUp(Coffee) } selector{ cond Holding(Coffee), Available(Table) act MoveTo(Table) } selector{ cond Holding(VacuumCup), At(Robot,Coffee), At(Robot,Table) act PutDown(Table,VacuumCup) } selector{ cond NotHolding, At(Robot,CoffeeMachine), At(Robot,Table) act OpCoffeeMachine } selector{ cond NotHolding, Available(Table), At(Robot,Coffee) act PickUp(Coffee) } selector{ cond Holding(VacuumCup), At(Robot,Table), At(Robot,CoffeeMachine) act PutDown(Table,VacuumCup) } selector{ cond NotHolding, Available(Coffee), Available(Table) act MoveTo(Coffee) } selector{ cond NotHolding, Available(Table), At(Robot,CoffeeMachine) act OpCoffeeMachine } selector{ cond Holding(VacuumCup), Available(Coffee), Available(Table), At(Robot,Table) act PutDown(Table,VacuumCup) } selector{ cond Available(CoffeeMachine), NotHolding, Available(Table) act MoveTo(CoffeeMachine) } selector{ cond Holding(VacuumCup), Available(Coffee), Available(Table) act MoveTo(Table) } selector{ cond Available(CoffeeMachine), Holding(VacuumCup), Available(Table), At(Robot,Table) act PutDown(Table,VacuumCup) } selector{ cond Available(CoffeeMachine), Holding(VacuumCup), Available(Table) act MoveTo(Table) } }