Mercurial > hg > IntentMadeManifest
annotate README.txt @ 18:4fd7fb12b782
TWO AWESOME TOOLS!
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 22 Aug 2013 13:08:36 -0700 |
parents | 4353d36a2f80 |
children | 74ada5cb1cb8 |
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 |
1 | 73 Python packages: |
74 | |
18 | 75 * https://pypi.python.org/pypi/pypipegraph/ |
76 A workflow (job) engine/pipeline for bioinformatics and scientific | |
77 computing. | |
78 http://code.google.com/p/pypipegraph/ | |
79 http://pypipegraph.readthedocs.org/en/latest/ | |
80 Very similar indeed! | |
81 | |
1 | 82 * https://pypi.python.org/pypi/finite |
83 Yet another finite state automaton | |
84 | |
85 * https://pypi.python.org/pypi/fluidity-sm | |
86 State machine implementation for Python objects. | |
87 | |
88 * https://pypi.python.org/pypi/fysom | |
89 pYthOn Finite State Machine | |
90 | |
16
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
91 * http://pypi.python.org/pypi/ginsfsm |
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
92 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
|
93 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
|
94 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
|
95 with Pyramid using traversal dispatch. |
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
96 http://ginsfsm.org |
4353d36a2f80
note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents:
14
diff
changeset
|
97 |
12 | 98 * https://pypi.python.org/pypi/graphwalker |
99 Finite state machine based testing tool. | |
100 | |
8 | 101 * https://pypi.python.org/pypi/luigi |
102 Workflow mgmgt + task scheduling + dependency resolution | |
103 ^ REALLY worth looking in to | |
104 | |
14 | 105 * https://pypi.python.org/pypi/pyscxml |
106 A pure Python SCXML parser/interpreter | |
107 (see also: https://github.com/jroxendal/PySCXML) | |
108 | |
18 | 109 * https://pypi.python.org/pypi/ruffus |
110 Light-weight Python Computational Pipeline Management | |
111 http://www.ruffus.org.uk/ | |
112 http://www.ruffus.org.uk/tutorials/simple_tutorial/step1_follows.html | |
113 !!!!!!!!!!! | |
114 | |
12 | 115 * https://pypi.python.org/pypi/ubik |
116 Minimal and elegant packages manager | |
117 | |
118 * 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
|
119 Simple workflows for Python; |
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
120 Not sure if this is really what's needed. And....1.01??? |
1 | 121 |
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
122 * https://pypi.python.org/pypi/xworkflows |
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
123 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
|
124 |
14 | 125 |
7 | 126 node.js: |
127 | |
128 Those node.js people seem to know what they are doing. | |
129 | |
130 * conductor: http://howtonode.org/step-of-conductor | |
131 https://github.com/creationix/conductor | |
132 Looks (maybe?) like what IntentMadeManifest is supposed to be (???) | |
133 | |
134 * step: | |
135 https://github.com/creationix/experiments/blob/master/step.js | |
136 same author as conductor; again, impressive | |
137 | |
138 * composer: https://github.com/tmpvar/composer | |
139 totally the WSGraph of node (!) | |
140 | |
141 | |
2
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
142 State Machines: |
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
143 |
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
144 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
|
145 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
|
146 |
b8be785f8e87
lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents:
1
diff
changeset
|
147 * http://en.wikipedia.org/wiki/Finite-state_machine |
14 | 148 * http://en.wikipedia.org/wiki/SCXML : |
149 State Machine Notation for Control Abstraction | |
1 | 150 |
13 | 151 |
152 == Other Approaches == | |
153 | |
154 BPMN: Business Process Modeling Notation; not quite what I had in | |
155 mind. Flowcharts are nice, but the sense of "state" + "transitions" | |
156 is not the same as in the graph model. | |
157 * http://www.bpmn.info/ | |
158 | |
0 | 159 ---- |
160 | |
161 Jeff Hammel | |
3 | 162 k0scist@gmail.com |