fractalide / fractalide-oz

Proof of concept
GNU Affero General Public License v3.0
12 stars 3 forks source link

main entry procedure per port vs one main entry procedure for all ports #43

Closed sjmackenzie closed 10 years ago

sjmackenzie commented 10 years ago

In traditional flow based programming a component has one main entry procedure for all ports and buffers. We have adopted a model whereby we have a main entry procedure for each port. The combination of multiple entry point per port and hot-swapping has a detrimental effects on execution correctness because if the component hot-swaps when one of two ports has something in the buffer this will be lost, because an IP arrival to the other port will cause the hot-swap will take place, thus deleting the pre-hot-swap state. This has serious ramifications as an accounting component which would perform an incorrect calculation thus rendering the entire application useless, possibly costing the company millions of dollars. Or indeed a factory choosing fractalide could destroy hundreds of thousands of dollars worth of equipment.

found by @dmichiels