-
Notifications
You must be signed in to change notification settings - Fork 14
WIP: PipelineDefinition
PipelineDefinition reference page
The current PipelineDefinition uses the name of the first PipelineElement in a Graph Path as the name of the Graph Path. This is an indirect, inflexible and non-obvious means of naming Graph Paths. If multiple Graph Paths start with the same PipelineElement, then the PipelineElement needs to appear more than once in the "elements" list and be renamed accordingly ... not elegant at all !
"graph": [
"(TextReadFile TextSummarize TextWriteFile)",
"(TranslateTextReadFile TextTranslate TextWriteFile)"
],
"elements": [
{ "name": "TranslateTextReadFile", # unfortunate need to rename the PipelineElement to avoid a name re-use conflict
"deploy": {
"local": {
"class_name": "TextReadFile",
The proposed PipelineDefinition uses a "path:" prefix to indicate that this is a Graph Path name and not an actual PipelineElement. A bonus is that a similar syntax can be used for other upcoming requirements for adding features to the Graph Path elements
"graph": [
"(path:summarize TextReadFile TextSummarize TextWriteFile)",
"(path:translate TextReadFile TextTranslate TextWriteFile)"
]
-
Part of the current Pipeline design / implementation (and similarly the PipelineDefinition) also applies to Actors and Services ... and should be refactored accordingly, e.g StateMachine (TBC), Streams, Parameters and the Protocol (declaration of method signature inputs / outputs)
-
Remove the need to define all the PipelineElements details, by using code reflection
-
Replace JSON with S-Expressions