Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FBP Definition - "processes" or "components" #6

Closed
jpaulm opened this issue Jun 13, 2014 · 4 comments
Closed

FBP Definition - "processes" or "components" #6

jpaulm opened this issue Jun 13, 2014 · 4 comments
Labels

Comments

@jpaulm
Copy link
Contributor

jpaulm commented Jun 13, 2014

While writing the previous issue, I noticed that the definition talks about "components" as nodes, etc. Actually, in my book I distinguish between "components" - the code itself - and "processes" - instances of components in the network. we need to stress that you can have multiple instances of a component in the same network.

That said, I realize that "process" is an ambiguous term in programming. In my book, 2nd ed., page ix. (Preface to 2nd ed.), I found a whole bunch of terms used in the literature for "unit of concurrency" - all no doubt with their own connotations:

process (Erlang)
actor (actor theory)
agent
transaction
thread
operator (MIT, Expressor, et al.)
vat (E language)
island (Tweak)
task (Ada)
resource (Minuet)
stage (John Hartmann’s CMS Pipelines)

I don't know what the derivation of "vat" is - something you brew beer in?

Any preferences?!

@jpaulm jpaulm changed the title FBP Defintion - "processes" or "components" FBP Definition - "processes" or "components" Jun 13, 2014
@bergie
Copy link
Member

bergie commented Jun 13, 2014

Here is how I've been using the terms in NoFlo, essentially distinguishing "definitions" from actual live instances.

Not live:

  • component - definition (usually a class) for a process that can be instantiated
  • graph - definition for a network consisting of nodes, edges, and IIPs (as well as other metadata like groups)
  • node - node in a graph that is not yet live
  • edge - edge in a graph connecting ports of different nodes

Live:

  • network - a running instance of a graph, consisting of processes and connections
  • process - node in a running network, essentially an instantiated component based on what was defined in the node
  • connection - live connection between process ports in a network based on an edge definition

@jpaulm
Copy link
Contributor Author

jpaulm commented Jun 13, 2014

I am comfortable with that terminology! So IMO the Definition and
Characteristics need to have most of the uses of "component" changed to
"process". Volunteers?!

Paul

On Fri, Jun 13, 2014 at 11:00 AM, Henri Bergius notifications@github.com
wrote:

Here is how I've been using the terms in NoFlo, essentially distinguishing
"definitions" from actual live instances.

Not live:

  • component - definition (usually a class) for a process that can be
    instantiated
  • graph - definition for a network consisting of nodes, edges, and
    IIPs (as well as other metadata like groups)
  • node - node in a graph that is not yet live
  • edge - edge in a graph connecting ports of different nodes

Live:

  • network - a running instance of a graph, consisting of processes
    and edges
  • process - node in a running network, essentially an instantiated
    component based on what was defined in the node
  • connection - live connection between process ports in a network


Reply to this email directly or view it on GitHub
#6 (comment)
.

@oleksandr
Copy link
Member

👍 I like the terminology.

@jpaulm
Copy link
Contributor Author

jpaulm commented Jun 15, 2014

Seems as though "process" has been accepted - I didn't hear any loud outcry against it! So I have updated the Definition page, and I think we can close this one...

@jpaulm jpaulm closed this as completed Jun 15, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants