Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > VReo > VReo__Prod_Cons__LangDev
diff Design_Notes.txt @ 0:5b757d5a7044
Initial add -- fully working
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Wed, 12 Jun 2013 15:13:34 -0700 |
| parents | |
| children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/Design_Notes.txt Wed Jun 12 15:13:34 2013 -0700 1.3 @@ -0,0 +1,29 @@ 1.4 + 1.5 +This test app is for VReo development.. first version replicates a program 1.6 +from the paper. It has two producers and one consumer. The circuit causes 1.7 +the producers to take turns providing the next input that the consumer takes. 1.8 + 1.9 +The circuit is in the paper.. 1.10 + 1.11 +The way the code works, the circuit is supplied separately. A function is 1.12 +generated by a tool, which creates the circuit data structs. Those structs 1.13 +contain pointers to the functions that check transitions and then perform 1.14 +transitions. 1.15 + 1.16 +So, the seed first starts up VReo, then it calls the create circuit Fn, 1.17 +which returns a pointer to the circuit, then it calls create_VP three 1.18 +times. The first, it hands it the pointer to the producer Fn, along with 1.19 +a pointer to the circuit and an integer that indicates that it connects to 1.20 +port 1 of the circuit. Second, it creates another producer, but connected 1.21 +to port 2, then it creates a consumer connected to port 3. 1.22 + 1.23 +Then, it waits for the computation to end. 1.24 + 1.25 +A producer puts out 5 items, doing a print for each. The consumer consumes 1.26 +10 items, doing a print for each. 1.27 + 1.28 +Then each of them call "end_VP". 1.29 + 1.30 +That ends the computation, and the seed comes back, and calls "end_seed_VP" 1.31 + 1.32 +
