annotate README.txt @ 16:4353d36a2f80

note http://pypi.python.org/pypi/ginsfsm
author Jeff Hammel <jhammel@mozilla.com>
date Sun, 21 Jul 2013 08:55:55 -0700
parents 6715102c5a86
children 4fd7fb12b782
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 IntentMadeManifest
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
2 ==================
0
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
4 /python workflow engine via directed graph/
0
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5
1
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
6 As risen from the stillborn ashes:
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
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
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
9
2
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
10
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
11 Intents
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
12 -------
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
13
10
75e651ddd631 okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents: 9
diff changeset
14 "Software [...] is communication"
14
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
15 -- David "Whit" whitfield Morris
10
75e651ddd631 okay, now i am actually speccing
Jeff Hammel <jhammel@mozilla.com>
parents: 9
diff changeset
16
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
17 /What is a directed graph?/
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
18
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
19 Several systems take the form of a directed graph:
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
20
4
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
21 - dependencies
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
22 - workflow
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
23
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
24 IntentMadeManifest *utilizes* directed graphs. A framework is provided
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
25 along with instances to form a library:
4
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
26
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
27 - VCS: git, hg, etc.
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
28 - decorators: actions
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
29
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
30 http://k0s.org/hg/WSGraph is built upon for interface.
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
31
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
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
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
36 * dependency curation:
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
37 - DEPS: Dependency Extraction and Processing System;
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
38 http://deps.alioth.debian.org/ ,
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
39 http://vasks.debian.org/projects/deps/
5
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
40 - Extraction of Attribute Dependency Graph from Database Applications
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
41 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6130680&contentType=Conference+Publications
4
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
42 - MAKAO, reverse engineering build systems :
Jeff Hammel <jhammel@mozilla.com>
parents: 3
diff changeset
43 http://mcis.polymtl.ca/~bram/makao/
11
Jeff Hammel <jhammel@mozilla.com>
parents: 10
diff changeset
44 - ceve, utility to parse package dependencies as set of constraints
Jeff Hammel <jhammel@mozilla.com>
parents: 10
diff changeset
45 - edos, building Linux distributions;
Jeff Hammel <jhammel@mozilla.com>
parents: 10
diff changeset
46 http://www.mancoosi.org/edos/
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
47
5
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
48 * workflow construction, execution, and curation:
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
49 - edit+create+export workflow TTW
14
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
50 - workflow manager: an application to manage the workflows created
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
51 by IntentMadeManifest
5
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
52
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
53 * hybrid: of course, since IRL
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
54 `workflow = DAG; dependencies = DAG => ...` ,
9
3e614fdfad39 fluff it up, yo!
Jeff Hammel <jhammel@mozilla.com>
parents: 8
diff changeset
55 Since a `transition` is causal but necessarily with the `t`
3e614fdfad39 fluff it up, yo!
Jeff Hammel <jhammel@mozilla.com>
parents: 8
diff changeset
56 of spacetime, indeed from the above: `workflow == dependency processing`.
3e614fdfad39 fluff it up, yo!
Jeff Hammel <jhammel@mozilla.com>
parents: 8
diff changeset
57 You can do some crazy things:
6
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
58 - actions: a class with method dependencies noted by decorators
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
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
16efbc1beed0 more notes
Jeff Hammel <jhammel@mozilla.com>
parents: 5
diff changeset
61
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
62 Meta:
5
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
63 - A Formal Definition of Data Flow Graph Models
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
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
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
67 Links
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
68 -----
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
69
5
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
70 /Links to software and other communiques/
24417b83ef29 polish a bit
Jeff Hammel <jhammel@mozilla.com>
parents: 4
diff changeset
71
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
72
1
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
73 Python packages:
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
74
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
75 * https://pypi.python.org/pypi/finite
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
76 Yet another finite state automaton
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
77
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
78 * https://pypi.python.org/pypi/fluidity-sm
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
79 State machine implementation for Python objects.
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
80
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
81 * https://pypi.python.org/pypi/fysom
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
82 pYthOn Finite State Machine
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
83
16
4353d36a2f80 note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
84 * http://pypi.python.org/pypi/ginsfsm
4353d36a2f80 note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
85 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
86 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
87 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
88 with Pyramid using traversal dispatch.
4353d36a2f80 note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
89 http://ginsfsm.org
4353d36a2f80 note http://pypi.python.org/pypi/ginsfsm
Jeff Hammel <jhammel@mozilla.com>
parents: 14
diff changeset
90
12
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
91 * https://pypi.python.org/pypi/graphwalker
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
92 Finite state machine based testing tool.
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
93
8
967b8f7dc01a python link
Jeff Hammel <jhammel@mozilla.com>
parents: 7
diff changeset
94 * https://pypi.python.org/pypi/luigi
967b8f7dc01a python link
Jeff Hammel <jhammel@mozilla.com>
parents: 7
diff changeset
95 Workflow mgmgt + task scheduling + dependency resolution
967b8f7dc01a python link
Jeff Hammel <jhammel@mozilla.com>
parents: 7
diff changeset
96 ^ REALLY worth looking in to
967b8f7dc01a python link
Jeff Hammel <jhammel@mozilla.com>
parents: 7
diff changeset
97
14
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
98 * https://pypi.python.org/pypi/pyscxml
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
99 A pure Python SCXML parser/interpreter
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
100 (see also: https://github.com/jroxendal/PySCXML)
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
101
12
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
102 * https://pypi.python.org/pypi/ubik
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
103 Minimal and elegant packages manager
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
104
a5020570dfa9 more python packages
Jeff Hammel <jhammel@mozilla.com>
parents: 11
diff changeset
105 * 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
106 Simple workflows for Python;
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
107 Not sure if this is really what's needed. And....1.01???
1
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
108
2
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
109 * https://pypi.python.org/pypi/xworkflows
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
110 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
111
14
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
112
7
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
113 node.js:
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
114
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
115 Those node.js people seem to know what they are doing.
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
116
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
117 * conductor: http://howtonode.org/step-of-conductor
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
118 https://github.com/creationix/conductor
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
119 Looks (maybe?) like what IntentMadeManifest is supposed to be (???)
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
120
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
121 * step:
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
122 https://github.com/creationix/experiments/blob/master/step.js
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
123 same author as conductor; again, impressive
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
124
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
125 * composer: https://github.com/tmpvar/composer
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
126 totally the WSGraph of node (!)
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
127
ad4b3d5ad5f8 note those wacky node folk
Jeff Hammel <jhammel@mozilla.com>
parents: 6
diff changeset
128
2
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
129 State Machines:
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
130
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
131 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
132 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
133
b8be785f8e87 lets pretend that were dead...er, doing something
Jeff Hammel <jhammel@mozilla.com>
parents: 1
diff changeset
134 * http://en.wikipedia.org/wiki/Finite-state_machine
14
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
135 * http://en.wikipedia.org/wiki/SCXML :
Jeff Hammel <jhammel@mozilla.com>
parents: 13
diff changeset
136 State Machine Notation for Control Abstraction
1
6aafed869664 notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
137
13
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
138
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
139 == Other Approaches ==
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
140
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
141 BPMN: Business Process Modeling Notation; not quite what I had in
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
142 mind. Flowcharts are nice, but the sense of "state" + "transitions"
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
143 is not the same as in the graph model.
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
144 * http://www.bpmn.info/
Jeff Hammel <jhammel@mozilla.com>
parents: 12
diff changeset
145
0
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
146 ----
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
147
67cfeffa0d90 stub from template
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
148 Jeff Hammel
3
613d4807661e notes to self
Jeff Hammel <jhammel@mozilla.com>
parents: 2
diff changeset
149 k0scist@gmail.com