Student project

Bidirectional transformation between BIP and SysML for visualisation and editing

When it comes to designing software, the classic procedure consists of writing code that complies with the projects requirements first, and then to extensively test for bugs and defects. Although this approach is valid and can produce correct results, it is both time consuming and error prone. Moreover, depending on the time of detection, errors can turn out to be very difficult to correct. Model-based design however allows for verification prior to the coding task. The component-based approach allows to master complexity by structuring systems hierarchically into sub-components where each of them can be designed and validated individually. Despite this approach leading to an increased initial cost of development, it has the significant advantage of detecting and correcting problems early in the life cycle of a project, when errors are relatively inexpensive to fix. Using the BIP framework and its semantics, it is possible to develop models which are correct by construction. This further reduces testing and validation costs. In this project we experimented the possibility of visually expressing the structure of a BIP model in a modeling language. We call this conversion the forward transformation while modification of the BIP code upon changes made to the SysML model is called the backward transformation. The results are illustrated by two transformations: one, done step-by-step, for a relatively simple BIP model and one, more complex, which contains nested components and which was used in the context of the CubETH project.

Related material