This example is defined in the directory: /home/lbesnard/Polychrony/V4.19/Linux/Examples/memories.
The Signal programs defined in the sub-directories illustrate programming by adding constraints.
The basic program is a very simple one (a memory). It is included in an environment (also described in Signal) for graphical simulation.
sub-directories (for more details, see the AAREADME.txt in the sub-directories):
- Identity: The basic program is simply (not very interesting!)
- Double_Identity: The basic program is (not really more interesting!)
- Double_Identity_with_mem: The basic program is now
(| X := A | Y := MEM(X) |)
where MEM specifies a simple memory. In the three following sub-directories, programming by adding constraints is illustrated, taking this program as starting point.
- Double_Identity_without_loss: The added constraint, called REQUEST, expresses that any read value has to be written as output.
- Double_Identity_without_dupl: The added constraint, called REQUEST, expresses that any read value can be written at most once as output.
- MailBox: The added constraint, called REQUEST, expresses that any read value has to be written once and only once as output.