Please log in to watch this conference skillscast.
In this talk, you will see a scalable approach where individualisation boils down to extending a base workflow description. The problem is related to the expression problem, and our approach is based on solutions in this area. In this approach, the workflow is modelled as a data flow graph in contrast to control flow graphs as traditionally used by workflow systems. Such a graph essentially represents a functional reactive program where the nodes correspond to tasks. The tasks will be organized in a tree, and we express the data flow as functions between attributes of this tree. The description of this tree is an example of an attribute grammar, which we can express as EDSL in Haskell using type level programming. Finally, the attribute grammar formalism allows you to compose the workflow description from small transformable fragments, thereby obtaining the desired extensibility.
YOU MAY ALSO LIKE:
Individualisation of Extensible Workflows
Arie Middelkoop did his Ph.D. in the area of Compiler Construction at Universiteit Utrecht, and utilizes attribute grammars and other functional programming concepts for everday programming challenges.