hello I am trying to form a conceptual picture of how all the different memory related specs in Chapter 5 of Specifying Systems relate to each other. First off is
MemoryInterface which I understand to be essentially the signature of the interface over which the processor and memory communicate (the dashed box in the figure) . This has a variable memInt which represents the "state of the interface". Then comes the spec
InternalMemory which makes use of the MemoryInterface (specifically the Send and Reply actions). This is wrapped inside a module called
Memory to hide the internal vars. Finally there's
WriteThroughCache which it says "implements the memory specification". My questions are
- what does "state of the interface" (memInt) represent? And what are the operators Send and Reply actually doing?
At first I thought they were implemented by the memory but they are not.
- is InternalMemory supposed to a spec of what's labeled MEMORY in the figure?
- It seems to me that WriteThroughCache essentially just extends (in the object oriented sense) MemoryInterface apart from having to re-express Req and Rsp on account of TLA not making the Frame assumption. In what sense is it "implementing" Memory?
thanks!
-