Abstract
In the computer science community, data structure design is mainly conducted at a high level of abstraction under the implicit assumption that the platform contains a monolithic memory. Exploiting platform-related knowledge such as available on-chip and off-chip memory sizes, the cache size, and the number of SDRAM banks is mainly conducted in the system engineering community when the refined data structure has already been chosen. A convergence of both communities is desirable since this can lead to powerful optimizations. To achieve the convergence mentioned above, data-related transformations have been researched extensively in the recent past. Many of these transformations have a direct and large impact on memory footprint, execution time and energy consumption. Unfortunately, however, the most effective transformations are applied manually (e.g. in C code) and these result in a very time-consuming and error-prone design process. To overcome this burden, our general research goal is to develop a computer-aided design tool, called EASY MAP , that helps the designer to correctly construct the C code of an efficient but difficult-to-understand data structure. The formal design of EASY MAP is the topic of this article with the emphasis on Cha , the internal language of EASY MAP . Cha is based on a novel extension of Separation Logic’s spatial conjunction operator ( ∗ ), allowing it to concisely describe access operations of an irregularly accessed complex data organization. Cha is the basic building block of EASY MAP ; it serves the purpose of automating EASY MAP ’s refinement process and proving that it is correct by construction.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.