TÆMS-based Execution Architectures
Outline Perspective on Coordination (where did TÆMS come from?) (Local) Scheduling Approaches Coordination Approaches
Perspective on Coordination Coordination: the act of managing interdependencies between activities Begs the question of what “managing” and “interdependencies” imply
Coordination: “Managing” Interdependencies Selecting goals/objectives/desires/intentions Planning to achieve these Scheduling actions within the resulting plans Relative action ordering (”choreography”) Absolute action placement (”synchronization”) [COORDINATORS has cleverly removed planning from the list]
Coordination: Managing “Interdependencies” If there is a choice, then the particular action/agent chosen matters [SELECTION] high quality, slow actions vs fast, lower quality approximations alternative agents The order in which actions are carried out matters [CHOREOGRAPHY] hard precedence constraints soft facilitation opportunities The time at which actions are carried out matters [SYNCHRONIZATION] hard or soft deadlines; earliest start times; etc. time implies ordering across multiple agents
Why is Coordination Hard? No global view Dynamically changing situation Uncertainty in the outcomes of actions Computational complexity of mapping problem (selection + scheduling) Scale in #agents and #tasks Deadlines / Time pressure [NOT in DARPA Coordinators: agent self-interest, non shared utility]
TÆMS Task Structure Representation Representing the “interdependencies” that need to be managed in “complex” domains worth-oriented (vs. state- or task-oriented) time-oriented (synchronization, not just choreography) Objective vs. Subjective reality Soft (&hard) binary task relationships Task/goal achievement alternatives w/ characteristic effects Explicit representation of uncertainty associated with task characteristics & outcomes
Cross-cutting Issues Centralized vs. Decentralized solutions Cooperative Distributed Problem Solving vs. Self-interest Local Scheduling vs. Coordination
Or Preferred solution depends on the exact utility function (and could change) And And q=10 d=10 q=5 d=5 q=5 d=5 q=1 d=1 S1 q=10, d=15 S2 q=5, d=6
Or And And q=10 d=10 q=5 d=5 q=5 d=5 q=1 d=1 S1 ? ? q=10, d=? S2 Non-Local! q=10 d=10 q=5 d=5 q=5 d=5 q=1 d=1 S1 ? ? q=10, d=? S2 q=5, d=6
Commitments “DO” (task, min quality) “DON’T” (task, max quality) “Deadline” (task, min quality, max Finish time) “Earliest Start Time” (task, max quality, min Start time)
Scheduling Input Task Structures Non-local Commitments Scheduler assumes are satisfied Local Commitments Commitments ALREADY MADE LOCALLY Scheduler must attempt to satisfy
Scheduling Output SET of valid schedules, and for each one what commitments are satisfied what commitments are violated proposed modification “value” of schedule w.r.t. utility characteristics orphaned tasks
Decision-Maker Which schedule to execute? Where do Non-Local Commitments come from? Manipulation of Scheduler as “what-if” resource Example: Fake Non-local Commitments Example: Soft proposal of Local Commitments
Outline Perspective on Coordination (Local) Scheduling Approaches Coordination Approaches
RETSINA & DECAF Hard Enablement Only Executing, Enabled, Suspended FCFS execution of Enabled tasks DECAF Slotted one-time schedule of enabled
Agent Initialization Dispatcher Planner Scheduler Executor Plan file Incoming KQML / FIPA messages Domain Facts and Beliefs Outgoing KQML / FIPA messages Action Modules Incoming Message Queue Objectives Queue Task Agenda Task Templates Hash Table Pending Action Queue Action Results Queue Agent Initialization Dispatcher Planner Scheduler Executor [concurrent]
DTT & DTC Design-To-Time [Garvey] Blackboard based No initial schedule Multiple schedule outputs “negotiation” between Sched & Coord Design-To-Criteria [Wagner]
Simple Temporal Networks Steve Smith/CMU heavy use of slack time fast window propagation
DCSPs/DCOPs ADOPT DPOP
Markov Decision Problem Approaches
Other Local Scheduling Approaches
Outline Perspective on Coordination (Local) Scheduling Approaches Coordination Approaches
Generalized Partial Global Planning
1) Coordination Points
2) Many Mechanisms
Do Do? Do before DL Do before DL? Do after EST Do after EST? A B enables A B And of course these are VERY SIMPLE---nothing multi-stage, nothing over 2 agents AND---OTHER TS Features can use different mechs: Vic Chain Mgr, PGP Redundancy Avoid
Mechanism = local rewrite + non-local response Typically involving an exchange of commitments, analysis of the structure, and local schedule queries on both sides of the exchange
3) Many Schedules JUST as there where many possible mechanisms, there are many possible schedules Not
Or Preferred solution depends on the exact utility function (and could change) And And q=10 d=10 q=5 d=5 q=5 d=5 q=1 d=1 S1 q=10, d=15 S2 q=5, d=6
Quality depends on Coordination! Expected quality is not bound just in domain action, but in the outcome of the meta-action of coordination as well!
no fixed utility Not abstract “govt politics” but practical--- Human interface may need to plan different presentation of information (change in interest, change in impact, even change in formatting)
4) Mechanism & Schedule Choice Requires situation analysis by the coordination component, not just scheduling information NEGOTIATION between Coordination and Scheduling
B B
5) Non-local Commitments Made by coordination component w.r.t. some mechanism Include information on the IMPORTANCE and NEGOTIABILITY of CMT. Help assess NON-LOCAL IMPACT without GLOBAL KNOWLEDGE
Commitment includes “easy to reschedule” Garvey proposed MULTIPLE scheduling solutions, partly evaluated by the Coodination component
Coordination Scheduling
Distributed Mgmt of Flexible Times Schedules
Partial Centralization
The Honeywell Approach