Processes, Interfaces and Platforms. Embedded Software Modeling in Metropolis
The goal of the Metropolis project is to provide a framework for modeling embedded systems across several levels of abstraction, from functional (untimed) to RTL, for various implementation choices, from dedicated hardware to programmable hardware and processors. Emphasis is placed on formal specification and refinement, in order to allow one to apply both synthesis, analysis and verification algorithms at all steps of design. The framework itself provides some such algorithms, as well as allowing one to “plug in” new ones.
In this paper we focus on the embedded software design problem, starting from abstract specifications, then decomposing them into networks of processes and communication media, and finally mapping them onto a platform including a processor, a Real Time Operating System and communication components. We illustrate how a clean separation of concerns between functionality and interfaces, as well as between computation and communication, leads to better re-use and a more optimized implementation. We also discuss how the problem of efficiently mapping a process network to a software platform can be formulated and solved.
KeywordsCritical Section Linear Temporal Logic Static Schedule Medium Object Architecture Platform
Unable to display preview. Download preview PDF.
- 1.F. Balarin, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, M. Sgroi, and Y. Watanabe. Modeling and designing heterogeneous systems. Technical Report 2002/01, Cadence Berkeley Laboratories, January 2002.Google Scholar
- 2.J. Cortadella, A. Kondratyev, L. Lavagno, M. Massot, S. Moral, C. Passerone, Y. Watanabe, and A. Sangiovanni-Vincentelli. Task Generation and Compile-Time Scheduling for Mixed Data-Control Embedded Software. In Proceedings of the 37th Design Automation Conference, June 2000.Google Scholar
- 3.E.A. de Kock, G. Essink, W.J.M. Smits, P. van der Wolf, J.-Y. Brunel, W.M. Kruijtzer, P. Liev-erse, and K.A. Vissers. YAPI: Application Modeling for Singal Processing Systems. In Proceedings of the 37 th Design Automation Conference, June 2000.Google Scholar
- 4.H. Kopetz and G. Grunsteidl. TTP-A protocol for fault-tolerant real-time systems. IEEE Computer, 27(1), January 1994.Google Scholar
- 5.E. A. Lee and D. G. Messerschmitt. Static scheduling of synchronous data flow graphs for digital signal processing. IEEE Transactions on Computers, January 1987.Google Scholar
- 6.A. Pnueli. The temporal logic of programs. In Proc. 18th Annual IEEE Symposium on Foundations of Computer Sciences, pages 46–57, 1977.Google Scholar
- 7.A. Sangiovanni-Vincentelli and A. Ferrari. System design-traditional concepts and new paradigms. In International COnference on Computer Design, ICCD’ 99, October 1999.Google Scholar
- 8.P. van der Wolf, P. Lieverse, M. Goel, D.L. Hei, and K. Vissers. An MPEG-2 Decoder Case Study as a Driver for a System Level Design Methodology. In Proceedings of the 7 th International Workshop on Hardware/Software Codesign, May 1999.Google Scholar