Hasil (
Bahasa Indonesia) 1:
[Salinan]Disalin!
3.1 The Plain-Memory Specification
Technically, plain memory is a specification that provides byte-wise read and write
access to memory, where special properties are guaranteed for read-blessed and
read/write-blessed address regions. The general idea is simple. Memory at blessed
addresses is well-behaved: a read access does not change anything in the blessed
address range, and a write access only changes the bytes written (in the expected
way). The side-effect transformers must neither change the memory block nor any
memory at blessed addresses. Moreover, these special properties are maintained as
long as only blessed addresses are accessed. However, no guarantees are made for
the memory contents at non-blessed addresses (even when only accessing blessed
addresses), and for memory accesses outside the blessed address regions.
We want the plain-memory specification to be usable with all concrete memory
models, including physical real-address memory. Therefore, the specification must
describe all its properties with observations that can be made by reading and writing
single bytes only, by referring to the Memory_struct interface that is common to all
memory models. In PVS the specification is split into a record of functions (capturing
the plain-memory signature), and a predicate for the required properties. With this
technique the axioms of the plain-memory specification do not show up as axioms
in the PVS formalization, hence they do not affect consistency. Instead, any use of a
plain-memory property in a verification proof will spawn a subgoal requiring a proof
204 H. Tews et al.
of the plain-memory axioms for the underlying memory model. The plain-memory
signature is given by the following record.
Sedang diterjemahkan, harap tunggu..