-#import edu.berkeley.fleet
-
-// skeleton solution to problem #1 (fill in the XXX blanks)
+#import edu.berkeley.fleet.ships
#memory { 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
-#ship memread : MemReadShip
-#ship memwrite : MemWriteShip
-#ship bitbucket : BitBucketShip
-#ship halt : HaltShip
-#ship fetch : FetchShip
+#ship fifo : FifoShip
-top: { 100 -> memread.count
- 0 -(100)-> memread.token
- // XXX -> memread.addr
- // XXX -> memread.stride
+#ship halt : HaltShip
+#ship fetch : FetchShip
+#ship tokensource : TokenSourceShip
- memread.data -(*)-> memwrite.data
- // XXX -> memwrite.count
- // XXX -> memwrite.addr
- // XXX -> memwrite.stride
- memwrite.token -(99)-> bitbucket.in
- memwrite.token -> halt.in
-}
-top -> fetch.in
+{ tokensource.out -> halt.in } -> fetch.codebag
+tokensource.out -> fetch.release