Skip to content

Instantly share code, notes, and snippets.

@ahonor
Created November 3, 2010 00:49
Show Gist options
  • Save ahonor/660622 to your computer and use it in GitHub Desktop.
Save ahonor/660622 to your computer and use it in GitHub Desktop.

User

Dealer: User

A person that initiates Dispatches and perhaps defines and groups them. Users can belong to groups representing roles with responsibilities. See the User as a card dealer issuing card hands to Resources.

Resource

Resource metaphor icon

A network node representing an operating system instance that can receive Dispatches. Resources evaluate these "card hands" and hopefully do not fail. Failing causes the Dealer to bust and end the game round.

Command

Card: Command

An executable Dispatch step performed by a Resource. Examples include system command, shell script or a call to another Dispatch. Command is likened to a single playing card where the kind of sequence step is like a card suit.

Dispatch

Hand: Dispatch

A sequence of Commands and additional configuration describing its invocation by the Dispatcher. A dispatch can be likened to a card hand given to each Resource. Each Resource gets the same card deal.

Deck

Deck: Deck

A group of Dispatches assumed to represent a coherent set of procedures according to the rules of the author. A deck is likened to a stack of playing cards. Three categories of decks:

  • Ad-hoc: This is an inexhaustible virtual deck representing single step dispatches. Considered the Joker's wild deck, the User can call any Command with these.
  • User-defined: A named group of dispatches organized by the user. These are like custom decks of card hands.
  • History: "Played hands", these are collections of Dispatch execution records corresponding to Ad-hoc or User-defined decks and can be pictured as a "discard pile".

Dispatcher

Table: Dispatcher

A RunDeck facility that distributes and initiates Dispatches to Resources. The Dispatcher performs the act of dealing to each of the Resource "players". The dispatch can spread the cards of the hand either all at once to each recipient or might instead cycle one card in the hand one at time in accordance to the specification of the dispatch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment