Hardware/Software components are commonly designed and implemented according to programming models and/or using domain specific languages.
The Language Factory activity concerns the use of BIP as an unifying semantic model for structural representation of such different programming models or domain specific languages.
We have developed a general method for generating BIP models from languages with well-defined operational semantics. As depicted in the figure above, the method involves the following three steps for a given application software written in a language L:
- Translation of atomic components of the source language into BIP components. The translation focuses on the definition of adequate interfaces. It encapsulates and reuses data structures and functions of the application software,
- Translation of coordination mechanisms between components of the application software into connectors and priorities in the target BIP model,
- Generation of a BIP component modeling the operational semantics of L. This component plays the role of an engine coordinating the execution of the application software components.
This three step transformation from a language L to BIP have been successfully tested for: