Coordination in IPL
Coordination in IPL
It takes a good deal of effort build up your own visual model as you read Chapter 3 of Karl Fant’s first book, Logically Determined Design, and arrive at an understanding of how the 4-phase coordination protocol works. Once created in your brain, the same visual model can be applied to reading Chapter 12 of Karl’s second book, “Computer Science Reconsidered” and understanding its description of completion.
One way to think of this coordination is to use an analogy to Disneyland’s Haunted Mansion ride. Think of the values flowing through the system as those spherical spinning cars on tracks. The foyer of the Haunted Mansion is the place where riders of these cars congregate awaiting enough of them to enter the inside of the ride.
Now consider not just one Haunted Mansion ride, but a complex interconnected network of rides, joined by shared foyers. At the end of the ride you enter the next foyer. For purposes of this example you never really get of your car.
The completion testing talked about in the chapter on the Invocation Language and the acknowledge generation described in the chapter on the structure of logically determined systems, are represented by the foyers. When the ride is opened for the day, all foyers are empty with their entrance door open and exit door closed.
Riders in their cars roll into the open foyers their tracks lead to. Each track leads to a specific waiting spot in the foyer. When all waiting spots are filled the entrance door closes, which triggers the exit door to open and allow all cars to roll out and zip thru the next part of the ride, ending in another foyer at a specified waiting spot. When that foyer fills, the same entrance-door closing/exit-door opening happens again. In that manner a value flows through the entire network of rides.
The detection of all values having left a foyer causes the exit door to close and the entrance door to open, and sends a signal back to all foyers on the upstream side of the previous ride to let them know they can open their exit door at any time.
The four phases can then be compared to 1) the cars rolling into a foyer, 1) the detection of a full foyer, 2) the cars rolling out of a foyer, 3) the detection of all cars having left a foyer.
The difference between the four-phase protocol at the language level and the four-phase protocol at the logic level is the language uses an implicit NULL in the gap between flowing packets (i.e. the cars), whereas there are no useful packets in the logic level signal, and they have to be created by alternating data with NULL.
The Haunted Mansion Analogy