Model-Based Development of Embedded Systems: The SysWeaver Approach

  • Authors:
  • Dionisio de Niz;Gaurav Bhatia;Raj Rajkumar

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • RTAS '06 Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model-based development of embedded real-time systems is aimed at elevating the level of abstraction at which these systems are designed, analyzed, validated, coded and tested. The use of a coherent multi-dimensional model across all development phases enables model-based design to generate systems that are correct by construction. Even some commercial support is available for code generation from higher-level models. However, such code generation capabilities are usually limited to uniprocessor targets and to a limited range of operating environments. SysWeaver (previously called "Time Weaver”) is a model-based development tool that includes a flexible "syscode” generation scheme for distributed real-time systems that can be easily tailored to a wide range of target platforms. In this paper, we present our work on creating an interoperable toolchain to automatically generate complete runtime code using models. The toolchain includes a simulation tool (Matlab) and its code generator (Embedded Coder) along with SysWeaver. In this chain, the functional aspects of the system are specified in Simulink, Matlab's modeling language, and translated into a SysWeaver model to be enhanced with timing information, the target hardware model and its communication dependencies. The final runtime code is then generated, automatically integrating the functional code generated with Embedded Coder and SysWeaver's syscode. This syscode includes OS interfacing and network communication code with predictable timing behavior that can be verified at design time. Experiments with multi-node targets with end-to-end timing constraints in an automotive system show that many aspects of syscode and functional code generation can be automated. To our knowledge, this is the first time that multi-node executables including communication messages, functional behaviors and para-functional properties have been automatically generated using a general platform-independent framework.