Static scheduling of synchronous data flow programs for digital signal processing
IEEE Transactions on Computers
An MPEG-2 decoder case study as a driver for a system level design methodology
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
YAPI: application modeling for signal processing systems
Proceedings of the 37th Annual Design Automation Conference
Task generation and compile-time scheduling for mixed data-control embedded software
Proceedings of the 37th Annual Design Automation Conference
System Design: Traditional Concepts and New Paradigms
ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
UML for real
Schedulability analysis with UML
UML for real
Virtual platforms and timing analysis: status, challenges and future directions
Proceedings of the 44th annual Design Automation Conference
Design and Development of Component-Based Embedded Systems for Automotive Applications
Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Hi-index | 0.00 |
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.