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

  • Éric Piel
  • Philippe Marquet
  • Jean-Luc Dekeyser
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5235)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    ITRS, International Technology Roadmap for Semiconductors: Design, 2005 edition (2005), http://www.itrs.net/
  2. 2.
    Donlin, A.: Transaction level modeling: flows and use models. In: Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Stockholm, Sweden, pp. 75–80 (2004)Google Scholar
  3. 3.
    Honda, S., Wakabayashi, T., Tomiyama, H., Takada, H.: RTOS-centric hardware/software cosimulator for embedded system design. In: Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2004), Stockholm, Sweden (September 2004)Google Scholar
  4. 4.
    Hamerly, G., Perelman, E., Lau, J., Calder, B.: Simpoint 3.0: Faster and more flexible program analysis. In: Workshop on Modeling, Benchmarking and Simulation, Madison, Wisconsin, USA (June 2005)Google Scholar
  5. 5.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information Processing 1974: Proceedings of the IFIP Congress 1974, pp. 471–475. North-Holland, Amsterdam (1974)Google Scholar
  6. 6.
    Lee, E.A., Messerschmitt, D.G.: Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. on Computers (January 1987)Google Scholar
  7. 7.
    Grotker, T., Liao, S.: Al: System Design with SystemC. Kluwer Publishers, Dordrecht (2002)Google Scholar
  8. 8.
    Gerstlauer, D., Peng, G.: System Design: A Practical Guide with SpecC. Kluwer Academic Publishers, Dordrecht (2001)CrossRefGoogle Scholar
  9. 9.
    Ismail, T.B., Abid, M., Jerraya, A.: COSMOS: a codesign approach for communicating systems. In: CODES 1994: Proceedings of the 3rd international workshop on Hardware/software co-design, Los Alamitos, CA, USA, pp. 17–24. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  10. 10.
    Chou, P., Ortega, R., Borriello, G.: The chinook hardware/software co-synthesis system. Technical Report TR-95-03-04 (1995)Google Scholar
  11. 11.
    Gajski, D., Vahid, F., Narayan, S., Gong, J.: Specsyn: An environment supporting the specify-explorerefine paradigm for hardware/software system design. IEEE Transactions on Very Large Scale Integration Systems 6(1), 84–100 (1998)CrossRefGoogle Scholar
  12. 12.
    Chang, H., Cooke, L., Hunt, M., Martin, G., McNelly, A.J., Todd, L.: Surviving the SOC revolution: a guide to platform-based design. Kluwer Academic Publishers, Norwell (1999)Google Scholar
  13. 13.
    Schirrmeister, F., Sangiovanni-Vincentelli, A.: Virtual component co-design – applying function architecture co-design to automotive applications. In: Proceedings of the IEEE International Vehicle Electronics Conference, Tottori, Japan (September 2001)Google Scholar
  14. 14.
    CoWare inc.: CoWare N2C (2001), http://www.coware.com/cowareN2C.html
  15. 15.
    Cesário, O.W., Lyonnard, D., Nicolescu, G., Paviot, Y., Yoo, S., Jerraya, A. A., Gauthier, L., Diaz-Nava, M.: Multiprocessor SoC platforms: A component-based design approach. IEEE Des. Test 19(6), 52–63 (2002)CrossRefGoogle Scholar
  16. 16.
    Jerraya, A.A., Yoo, S., Bouchhima, A., Nicolescu, G.: Validation in a component-based design flow for multicore SoCs. In: ISSS, pp. 162–167. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  17. 17.
    Planet MDE: Model Driven Engineering (2007), http://planetmde.org
  18. 18.
    Object Management Group, Inc., ed.: Final Adopted OMG SysML Specification (May 2006), http://www.omg.org/cgi-bin/doc?ptc/06-0504
  19. 19.
    Object Management Group, Inc., ed.: UML Extension Profile for SoC RFC (March 2005), http://www.omg.org/cgi-bin/doc?realtime/2005-03-01
  20. 20.
    Nguyen, K.D., Sun, Z., Thiagarajan, P.S., Wong, W.F.: Model-driven SoC design via executable UML to SystemC. In: RTSS 2004: Proceedings of the 25th IEEE International Real-Time Systems Symposium (RTSS 2004), Washington, pp. 459–468. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  21. 21.
    Alanen, M., Lilius, J., Porres, I., Truscan, D., Oliver, I., Sandstrom, K.: Design method support for domain specific soc design. In: MBD-MOMPES 2006: Proceedings of the Fourth Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD-MOMPES 2006), pp. 25–32. IEEE Computer Society, Washington (2006)CrossRefGoogle Scholar
  22. 22.
    Riccobene, E., Scandurra, P., Rosti, A., Bocchio, S.: A model-driven design environment for embedded systems. In: DAC 2006: Proceedings of the 43rd annual conference on Design automation, pp. 915–918. ACM, New York (2006)Google Scholar
  23. 23.
    Szemethy, T., Karsai, G., Balasubramanian, D.: Model transformations in the Model-Based Development of real-time systems. In: ECBS 2006: Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems, Washington, pp. 177–186. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  24. 24.
    WEST Team LIFL, Lille, France: Graphical array specification for parallel and distributed computing (GASPARD-2) (2005), http://www.lifl.fr/west/gaspard/
  25. 25.
    ProMarte partners: UML Profile for MARTE, Beta 1 (August 2007), http://www.omg.org/cgi-bin/doc?ptc/2007-08-04
  26. 26.
    Boulet, P., Marquet, P., Piel, E., Taillard, J.: Repetitive Allocation Modeling with MARTE. In: Forum on specification and design languages (FDL 2007), Barcelona, Spain, (September 2007) (Invited Paper)Google Scholar
  27. 27.
    Boulet, P.: Array-OL revisited, multidimensional intensive signal processing specification. Research Report RR-6113, INRIA (February 2007)Google Scholar
  28. 28.
    Eclipse Consortium: EMF (2007), http://www.eclipse.org/emf
  29. 29.
    Etien, A., Dumoulin, C., Renaux, E.: Towards a unified notation to represent model transformation. Research Report RR-6187, INRIA (May 2007)Google Scholar
  30. 30.
    Object Management Group, Inc.: MOF Query / Views / Transformations, OMG paper (November 2005), http://www.omg.org/docs/ptc/05-11-01.pdf
  31. 31.
    Eclipse Consortium: JET, Java Emitter Templates (2007), http://www.eclipse.org/modeling/m2t/?project=jet
  32. 32.
    Atitallah, R.B., Piel, E., Niar, S., Marquet, P., Dekeyser, J.L.: Multilevel MPSoC simulation using an MDE approach. In: IEEE International SoC Conference (SoCC 2007), Hsinchu, Taiwan (September 2007)Google Scholar
  33. 33.
    Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: PACT 13 IEEE International Conference on Parallel Architecture and Compilation Techniques, Juan-les-Pins, France, pp. 7–16 (September 2004)Google Scholar
  34. 34.
    Bunse, C., Gross, H.G., Peper, C.: Applying a model-based approach for embedded system development. In: EUROMICRO 2007: Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007), Washington, pp. 121–128. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Éric Piel
    • 1
  • Philippe Marquet
    • 1
  • Jean-Luc Dekeyser
    • 1
  1. 1.INRIA Lille – Nord Europe & LIFLUniversity of LilleFrance

Personalised recommendations