Optimizing Semantics-Preserving Implementation of Synchronous Reactive Communication
Guoqiang Wang, Marco Di Natale and Alberto L. Sangiovanni-Vincentelli
A fundamental asset of a model-based design is the capability of providing an automatic implementation of the model that preserves its semantics and, at the same time, makes an efficient use of the resources of the execution platform. The implementation of communication links between functional blocks in a synchronous reactive model requires buffering schemes and access procedures implemented at the kernel level. Previous work provides two competing proposals for the sizing of the communication buffer. We demonstrate how to improve the state-of-the-art by providing not only a tighter approach, but also an approach that is capable of dealing with a more general configuration of the model.
Furthermore, we provide the description of the data structures and constant-time access procedures for writer and reader tasks. We implement the two protocols that have constant execution time in the C programming language under the support of a real-time operating system. Software portability and reusability are achieved through using the automotive OSEK OS standard. Run-time complexity and memory requirements are discussed for the two protocol implementations, and tradeoffs are analyzed.