Model Transformations for the Compilation of Multi-processor Systems-on-Chip

  • Authors:
  • Éric Piel;Philippe Marquet;Jean-Luc Dekeyser

  • Affiliations:
  • INRIA Lille --- Nord Europe & LIFL, University of Lille, France;INRIA Lille --- Nord Europe & LIFL, University of Lille, France;INRIA Lille --- Nord Europe & LIFL, University of Lille, France

  • Venue:
  • Generative and Transformational Techniques in Software Engineering II
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the increase of amount of transistors which can be contained on a chip and the constant expectation for more sophisticated applications, the design of Systems-on-Chip (SoC) is more and more complex. In this paper, we present the use of model transformations in the context of SoC co-design. Both the hardware part and the software part of a SoC can be represented as a model using the MARTE standard from the OMG. We introduce the use of Model-Driven Engineering in order to generate executable code from a self-contained model of SoC.First, we detail the restrictions and extensions we have brought to the MARTE profile in order to permit the complete description of the SoC as a model.The compilation is a sequence of small and maintainable transformations that allows to pass gradually from a high-level description into models closer in abstraction to the final model, which is then converted into code. An in-depth view of one of the several transformation chains composing our tool is given. The implementation relies on the use of our experimental Java-based transformation engine which uses a hybrid declarative-imperative language.We later discuss why model transformations fit better the compilation of the SoCs than traditional compilers. In particular, the re-use of transformations can greatly help with the fast evolution of SoC design, allowing development time reduction. Additionally, as each rule is small and relatively self-contained, their correctness is easier to ensure, which leads to more reliable compilation and indirectly more reliable SoCs.