Sep 302004



  • Tayeb Bouhadiba, PhD 2006-2010
  • Giovanni Funchal, PhD 2007-2011
  • Yuliia Romenska

Current work:

In the context of the OpenES project, we design a very general and high-level notion of a component for hardware/software systems, for which functional and extra-functional properties can be specified in a contract-like formalism. Contrary to a lot of component models at this level of abstraction, our framework is executable. A non-deterministic component can be “executed” if, given inputs, we are able to generate random outputs such that the non-deterministic contract that links inputs and outputs is satisfied. This method relies on constraint solvers. We aim at defining a formalism and execution engine compatible with existing SystemC/TLM components.

Previous work:

The work on components is inspired by the various notions of components we’ve worked with in the following domains:

  • Embedded control, especially with synchronous languages; case-studies in SCADE (the commercial programming environment based on Lustre); previous work on contracts for reactive systems (see Lionel Morel, PhD 2001-2005).
  • Transaction-Level Modeling (TLM) of systems-on-a-chip
  • Virtual Prototyping of various embedded and communicating systems (e.g., sensor networks)

Main Publications:


Sep 302002

Current ProjectsOpenES

Students involved: Yuliia Romenska

Previous projects and students (2002-):  HELP, OpenTLM, G. Funchal, J. Cornet, C. Helmstetter,  M. Moy

Topics: The work on systems-on-a-chip is conducted in collaboration with STMicrolectronics, Grenoble.  The Register Transfer Level (RTL) used to be the entry point of the design flow of hardware systems, including systems-on-a-chip (SoCs). However, the simulation environments for such models do not scale up well. Developing and debugging embedded software for these low level models before getting the physical chip from the factory is no longer possible at a reasonable cost. New abstraction levels, such as the Transaction-Level Modeling, have emerged during the last decade. The TLM approach uses a component-based approach, in which hardware blocks are modules communicating with so-called transactions. The TLM models are used for early development of the embedded software, because the high level of abstraction allows a fast simulation. This new abstraction level requires that SoCs be described in some non-deterministic asynchronous way, with new synchronization mechanisms, quite different from the implicit synchronization of synchronous circuit descriptions. SystemC is a C++ library used for the description of SoCs at different levels of abstraction, from cycle accurate to purely functional models. It comes with a simulation environment, and has become a standard. SystemC offers a set of primitives for the description of parallel activities representing the physical parallelism of the hardware blocks. The TLM level of abstraction can be described with SystemC. Recent work at Verimag/Synchrone focused on the modeling of time and energy consumption at high levels of abstraction, typically TLM. We now work on general high-level models for heterogeneous embedded systems, which can be simulated very early in the design cycle. The idea is to specify the components by very abstract non-deterministic contract-like specifications, so that their composition can be executed very early, before all the details of their implementation is known.


Sep 302000

Projects, Students and Main Collaborations:

  • Projects: ARESA, ARESA2
  • PhD Students: Ludovic Samper, Nicolas Berthier
  • Collaborations: Orange Labs
  • Other Verimag people involved: Laurent Mounier, Karine Altisen, Stéphane Devismes, Pascal Lafourcade

Main Publications:


Sep 302000

Amblard P., Fernandez J-C., Lagnier F., Maraninchi F., Sicard P., Waille P.

Au sommaire : Outils de base de l’algorithmique logicielle et matérielle ; techniques de l’algorithmique matérielle. Techniques de l’algorithmique logicielle ; à la charnière du logiciel et du matériel ; architecture d’un système matériel et logiciel simple ; Architecture des systèmes matériels et logiciels complexes

Cet ouvrage destiné aux étudiants de deuxième cycle d’informatique et aux élèves-ingénieurs développe les connaissances de base en architecture de l’ordinateur. Les auteurs adoptent deux points de vue originaux : tout en précisant l’étroite complémentarité du matériel et du logiciel, souvent vus comme deux domaines très différents, ils offrent une approche plus conceptuelle que descriptive qui permet au lecteur de comprendre véritablement les concepts fondateurs de l’informatique : notions d’automate, de langage, d’itération, etc. Ces notions sont illustrées sur des exemples matériels et logiciels. De nombreuses études de cas détaillées permettent en outre de comprendre en profondeur la structure interne d’un processeur et les différents éléments matériels et logiciels permettant le fonctionnement de l’ordinateur, tels que les connexions entre systèmes matériels, le système d’exploitation ou le fonctionnement multitâches.

AUTHOR = {Amblard, P. and Fernandez, J.-C. and Lagnier, F. and Maraninchi, F. and Sicard, P. and Waille, Ph.},
TITLE  = "Architectures Logicielles et Mat\'erielles",
PUBLISHER = {Dunod, collection Sciences Sup.},
YEAR = {2000}