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 |