I would suggest: starting by critiquing the current technology.
For starters: I don’t know anything about BPMN, but, looking at the posted diagram, I see:
1. A wall of detail
• “simplicity is the lack of nuance”
• there seem to be no layers, everything is laid out flat
• breaking of The Rule of 7 (no more than 7+-2 items in an eye-full)
• the diagram is “too busy”
2. Too many icons
• I count something like 5 different kinds of figures
• The rectangles have many kinds of sub-icons in the upper left corners
• At least 3 kinds of lines
• text too small to read
• EEs used to draw all sorts of icons on schematics, then, later, learned to draw only rectangles and lines and text
3. Apparent breaking of Containment
• Arrows appear to poke through walls instead of being attached to well-defined Ports (aka “ad hoc”)
The system probably needs all of that detail, but, the reader should not be forced to read all of the details at once. If interested, the reader should be able to drill down into components to see more detail, then, drill down into that detail to see even more detail, ad infinitum.
[aside: Lispers hate XML because it is the only syntax uglier than Lisp]
04/11/2023, 5:10 PM
I'm trying to figure out how to formally treat jobs that pass from humans to automation and back as continuations. An agent receives a continuation plus some description of work to do, does their part, adds it to the continuation's context or somesuch, and reactivates it, which may or may not be the same as assigning it to a human or kicking off a process. There's a certain sense where e.g. work tickets just trivially are continuations, but getting mileage out of the concept is tricky. Maybe someone here will make headway with it.
04/13/2023, 8:27 AM
There do exist some nice DSLs for these. Essentially, workflows are Turing-complete programs, for multiple processors - some of which are humans while others are machines.
This one is called Flor: https://github.com/floraison/flor
04/13/2023, 10:42 AM
Workflows require extreme decoupling (which I have come to call 0D). Synchronous software programming languages inhibit this kind of thing.
(FMI: where is this jpg? I want to pass it on to a friend, but I haven’t found it in the github yet).