Jump to: navigation, search

TaskMachine

Revision as of 22:42, 29 July 2013 by Harlowja (talk | contribs) (Concept)

Concept

Allow for arbitrary tasks to run on a machine and give tasks the ability to push new tasks onto the machine for running as well as support tasks having the ability to perform if operations (by popping 2 items off the stack and pushing only one back on). This will allow for a very dynamic capability and simulates a virtual machine in concept. The additional part that taskflow will require is the ability to save/restore the machine (for resumption elsewhere) and the ability to revert (which will require a completion list and checkpoints in said list) to know exactly what tasks the machine has ran and the ability to walk backwards through said tasks to the last checkpoint (or through the whole list).

Similarities: yes the similarities to how a virtual machine runs is on purpose, a stack machine powering tasks inside a virtual machine provisioning cloud is pretty cool.

Key functionality

  • Allows for arbitrary complex tasks
  • Easily supports subtasks
  • Easily supports conditional 'tasks' or operators.


Unknowns

  • What is task memory (is it the task details objects and its persistent storage?)
  • How should the completion list be stored?
  • Does reverting go back to last checkpoint, or all the way back (or both)

Diagram

Task machine.png