Difference between revisions of "PKC Workflow/Process"
Line 35: | Line 35: | ||
output [URL="[[PKC Workflow/Output]]"]; | output [URL="[[PKC Workflow/Output]]"]; | ||
input->process; | input->process; | ||
process->process; | process->process [label="recursive"]; | ||
process->output; | process->output; | ||
} | } |
Revision as of 07:49, 23 August 2021
Note
When describing a process, it could be confusing as a process relates some inputs to outputs. The information entity such as Issue could mean either a process of issuing or the issue result presenting as a page.
When describing a process in the macroscope, it is always a verb. The input/output is defined according to the function's specification.
Inputs - [Process] -> Outputs
There are 2 possible reasons why the input/output might be incomplete:
- Stateful functions which cause side effects or dependence on global variables: It is the trade-off when using functional representation. To stick to the functional representation style, we should think about how to reorganize the function so that it is closer to stateless.
- Not capturing the input/output that a function cares about: Ideally, every input/output should be captured at least in low precision (type system). But since there are complexity and obscurity when describing real-world knowledge, it is possible that the input/output is incomplete.
When describing the inner structure of a process, there are more kinds of modeling methods (we can see this in the complexity of programming). It is feasible to add more structure (corresponding to different semantics) but note that a compact structure (desired traits of knowledge representation) is preferable.
Loop primitive
In the simplest form, the process is the mapping of input to output. In addition, we add a Loop structure on top of it. See the LoopingConstructs Primitive in Mathematica Then, the diagram representing the function with loop will be:
Inputs -> Process -> Outputs Process -> Process
<graphviz> digraph G {
input [URL="PKC Workflow/Input"]; process [URL="PKC Workflow/Process"]; output [URL="PKC Workflow/Output"]; input->process; process->process [label="recursive"]; process->output;
} </graphviz>
Branch primitive
FlowControl primitives of Mathematica
Others
Graph representation of a function: