Difference between revisions of "PKC Workflow/Process"

From PKC
Jump to navigation Jump to search
Line 10: Line 10:
When describing a process in the macroscope, it is always a verb. The input/output is defined according to the function's specification.
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
  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.
== Graph representation ==
<graphviz>
<graphviz>
digraph G {
digraph G {
Line 19: Line 29:
}
}
</graphviz>
</graphviz>
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 ==  
== Loop primitive ==  

Revision as of 07:42, 23 August 2021

  1. Meeting and Communication
  2. Issue
  3. Updates and reports
  4. All activities


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:

  1. 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.
  2. 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.

Graph representation

<graphviz> digraph G {

   input [URL="PKC Workflow/Input"];
   process [URL="PKC Workflow/Process"];
   output [URL="PKC Workflow/Output"];
   input->process;
   process->output;

} </graphviz>

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:

         ad
Inputs - [Process] -> Outputs


Branch primitive

FlowControl primitives of Mathematica