Mercurial > hg > IntentMadeManifest
annotate README.txt @ 19:74ada5cb1cb8 default tip
more tools
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Fri, 04 Dec 2015 12:55:31 -0800 |
| parents | 4fd7fb12b782 |
| children |
| rev | line source |
|---|---|
| 0 | 1 IntentMadeManifest |
| 6 | 2 ================== |
| 0 | 3 |
| 6 | 4 /python workflow engine via directed graph/ |
| 0 | 5 |
| 1 | 6 As risen from the stillborn ashes: |
| 7 http://k0s.org/mozilla/hg/MozbaseWorkflow/ | |
|
10
75e651ddd631
okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents:
9
diff
changeset
|
8 [TODO: port ^that^ -> this document] |
| 1 | 9 |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
10 |
| 3 | 11 Intents |
| 12 ------- | |
| 13 | |
|
10
75e651ddd631
okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents:
9
diff
changeset
|
14 "Software [...] is communication" |
| 14 | 15 -- David "Whit" whitfield Morris |
|
10
75e651ddd631
okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents:
9
diff
changeset
|
16 |
| 6 | 17 /What is a directed graph?/ |
| 18 | |
| 19 Several systems take the form of a directed graph: | |
| 3 | 20 |
| 4 | 21 - dependencies |
| 3 | 22 - workflow |
| 23 | |
| 7 | 24 IntentMadeManifest *utilizes* directed graphs. A framework is provided |
| 25 along with instances to form a library: | |
| 4 | 26 |
| 7 | 27 - VCS: git, hg, etc. |
| 28 - decorators: actions | |
| 6 | 29 |
| 7 | 30 http://k0s.org/hg/WSGraph is built upon for interface. |
| 6 | 31 |
| 32 | |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
33 Potential Uses |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
34 -------------- |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
35 |
| 5 | 36 * dependency curation: |
| 37 - DEPS: Dependency Extraction and Processing System; | |
| 38 http://deps.alioth.debian.org/ , | |
| 3 | 39 http://vasks.debian.org/projects/deps/ |
| 5 | 40 - Extraction of Attribute Dependency Graph from Database Applications |
| 41 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6130680&contentType=Conference+Publications | |
| 4 | 42 - MAKAO, reverse engineering build systems : |
| 43 http://mcis.polymtl.ca/~bram/makao/ | |
| 11 | 44 - ceve, utility to parse package dependencies as set of constraints |
| 45 - edos, building Linux distributions; | |
| 46 http://www.mancoosi.org/edos/ | |
| 3 | 47 |
| 5 | 48 * workflow construction, execution, and curation: |
| 7 | 49 - edit+create+export workflow TTW |
| 14 | 50 - workflow manager: an application to manage the workflows created |
| 51 by IntentMadeManifest | |
| 5 | 52 |
| 6 | 53 * hybrid: of course, since IRL |
| 54 `workflow = DAG; dependencies = DAG => ...` , | |
| 9 | 55 Since a `transition` is causal but necessarily with the `t` |
| 56 of spacetime, indeed from the above: `workflow == dependency processing`. | |
| 57 You can do some crazy things: | |
| 6 | 58 - actions: a class with method dependencies noted by decorators |
| 59 (see actions.py) | |
|
10
75e651ddd631
okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents:
9
diff
changeset
|
60 - control workflow via .ini files (see `examples/github.ini`) |
| 6 | 61 |
| 3 | 62 Meta: |
| 5 | 63 - A Formal Definition of Data Flow Graph Models |
| 64 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1676696&contentType=Journals+%26+Magazines | |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
65 |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
66 |
| 1 | 67 Links |
| 68 ----- | |
| 69 | |
| 5 | 70 /Links to software and other communiques/ |
| 71 | |
| 7 | 72 |
| 19 | 73 Python: |
| 74 | |
| 75 python.org itself has a page on flow based programming: | |
| 76 https://wiki.python.org/moin/FlowBasedProgramming | |
| 77 | |
| 78 In addition there are some excellent packages: | |
| 1 | 79 |
| 18 | 80 * https://pypi.python.org/pypi/pypipegraph/ |
| 81 A workflow (job) engine/pipeline for bioinformatics and scientific | |
| 82 computing. | |
| 83 http://code.google.com/p/pypipegraph/ | |
| 84 http://pypipegraph.readthedocs.org/en/latest/ | |
| 85 Very similar indeed! | |
| 86 | |
| 1 | 87 * https://pypi.python.org/pypi/finite |
| 88 Yet another finite state automaton | |
| 89 | |
| 90 * https://pypi.python.org/pypi/fluidity-sm | |
| 91 State machine implementation for Python objects. | |
| 92 | |
| 93 * https://pypi.python.org/pypi/fysom | |
| 94 pYthOn Finite State Machine | |
| 95 | |
|
16
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
96 * http://pypi.python.org/pypi/ginsfsm |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
97 GinsFSM, a library to develop systems based in finite-state |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
98 machines. It's a communication framework, including a full |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
99 asynchronous http/wsgi/winsocket/sockjs server. Ideal for working |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
100 with Pyramid using traversal dispatch. |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
101 http://ginsfsm.org |
|
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
102 |
| 12 | 103 * https://pypi.python.org/pypi/graphwalker |
| 104 Finite state machine based testing tool. | |
| 105 | |
| 8 | 106 * https://pypi.python.org/pypi/luigi |
| 107 Workflow mgmgt + task scheduling + dependency resolution | |
| 108 ^ REALLY worth looking in to | |
| 109 | |
| 19 | 110 * https://pypi.python.org/pypi/PySS |
| 111 Python Statechart Simulator for Python >=3.4 | |
| 112 | |
| 14 | 113 * https://pypi.python.org/pypi/pyscxml |
| 114 A pure Python SCXML parser/interpreter | |
| 115 (see also: https://github.com/jroxendal/PySCXML) | |
| 116 | |
| 18 | 117 * https://pypi.python.org/pypi/ruffus |
| 118 Light-weight Python Computational Pipeline Management | |
| 119 http://www.ruffus.org.uk/ | |
| 120 http://www.ruffus.org.uk/tutorials/simple_tutorial/step1_follows.html | |
| 121 !!!!!!!!!!! | |
| 122 | |
| 12 | 123 * https://pypi.python.org/pypi/ubik |
| 124 Minimal and elegant packages manager | |
| 125 | |
| 126 * https://pypi.python.org/pypi/workflow | |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
127 Simple workflows for Python; |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
128 Not sure if this is really what's needed. And....1.01??? |
| 1 | 129 |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
130 * https://pypi.python.org/pypi/xworkflows |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
131 A library implementing workflows (or state machines) for Python projects. |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
132 |
| 14 | 133 |
| 7 | 134 node.js: |
| 135 | |
| 136 Those node.js people seem to know what they are doing. | |
| 137 | |
| 138 * conductor: http://howtonode.org/step-of-conductor | |
| 139 https://github.com/creationix/conductor | |
| 140 Looks (maybe?) like what IntentMadeManifest is supposed to be (???) | |
| 141 | |
| 142 * step: | |
| 143 https://github.com/creationix/experiments/blob/master/step.js | |
| 144 same author as conductor; again, impressive | |
| 145 | |
| 146 * composer: https://github.com/tmpvar/composer | |
| 147 totally the WSGraph of node (!) | |
| 148 | |
| 149 | |
|
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
150 State Machines: |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
151 |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
152 Workflow == state machines, so an understanding from either |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
153 perspective is the same apropos the other. |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
154 |
|
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
155 * http://en.wikipedia.org/wiki/Finite-state_machine |
| 14 | 156 * http://en.wikipedia.org/wiki/SCXML : |
| 157 State Machine Notation for Control Abstraction | |
| 1 | 158 |
| 13 | 159 |
| 160 == Other Approaches == | |
| 161 | |
| 162 BPMN: Business Process Modeling Notation; not quite what I had in | |
| 163 mind. Flowcharts are nice, but the sense of "state" + "transitions" | |
| 164 is not the same as in the graph model. | |
| 165 * http://www.bpmn.info/ | |
| 166 | |
| 0 | 167 ---- |
| 168 | |
| 169 Jeff Hammel | |
| 3 | 170 k0scist@gmail.com |
