Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
Hi All,
I’m new to this forum, so I apologize if the question is out of order. Just let me know and I’ll kindly show myself out. On to the questions.
I’m developing a workflow management system inspired by category theory and functional programming. Currently, I’ll say it’s “inspired”, but in the future I hope to be able to describe its functionality using the category theory. I am developing the tool, called expat (for “execute pattern”), in order to help with simulations and analyses. Expat provides a few basic patterns of application which help group inputs with outputs in various ways. For instance, one pattern is called a map, and it is used to apply a (user supplied) command to each file in a input directory and put the result in an output directory. Another pattern, called productOf, can create a directory full data which connects inputs and outputs; that is, an object of type defined by over . If this is not clear, the typical use is to map some simulation, , over a parameter directory, , putting the output in a directory , and then be able to do some further analysis which takes into account both the output and corresponding input. I refer to this output as , typically. Please forgive the abuse of standard notation.
Expat provides filter and group functionality, which is where things get slippery for me. I think of the filter as the subobject identified by the user supplied characteristic function, Actually, that’s not true, I think of a filter as an injective partial function, but am reasonably confident that it can be expressed as the subobject. Expat’s “group” functionality can be used to partition a directory based on the user supplied function, , but I am less confident about how to express this. For one thing, if the domain of a grouping is A, the co-domain is in the powerset of A. Correct?
My final pattern is more of a workflow analysis pattern. I map a simulation, f, over input parameters, A, yielding outputs, f.A. Next, I match up inputs with outputs, call it, . Then I group based on some commonalities in the parameters, yielding something like . Finally, I want to take the “raised” projection into so that i can map some summary statistics over each group of outputs. For sake of the vocabulary of expat, I think invoking “expat pullBack ” has a nice ring to it, but is also wrong.
So thanks for reading. Any light that can be shed on my effort is appreciated. The tool’s semantics need to be greatly clarified, so I understand if my particular concerns cannot be addressed directly. I’m also interested to hear if this community would have any use for a tool such as what i describe here, or if some other tool already exists which already does this. Links to resources are appreciated. I’m only glancingly familiar with the leading workflow management tools and they don’t appear to be take the same approach, but I could be better informed.
1 to 1 of 1