Chartrunner

From PublicWiki
Jump to: navigation, search

To develop the chartrunner is the primary pragmatic purpose of Chart_research.

It seems that, ultimately, the chartrunner will specify:

  • a way to obtain and access the chart
  • a way to realize the nodes and handle their communication
  • a way to decide which nodes to run, and when.

That is, a program will run on the chartrunner, and will determine how the chartrunner runs along a given chart. What does this mean? We'll ask questions to help us find out.

A certain output from a chart requires a certain realization of that chart. If there are competing realizations that are supposed to produce the same output (i.e., two implementations of the same standard), the chartrunner should automatically decide which to use. If each implementation offers not only its execution code also a short program to calculate (suppose) its own execution time given the number of records it has to process, the program on the chart runner can realize the chart to determine execution time, then realize the chart based on that result.

This implies the need for a node notation; a way to represent exactly what features a fulfilment to a node has to offer, and precisely what this means. See Chart_uncertainties.

See Chart_examples.

Possible combinations:

  • compile nodes together at any time and optimize.
  • interpret each node in any interpreter; pass channel contents as arguments and accept output as a returned tuple or offer library functions like emit.
  •  ?