-
Notifications
You must be signed in to change notification settings - Fork 30
SysML to Classical B
Alexander Stante edited this page Mar 24, 2014
·
4 revisions
This page is the starting point regarding the SysML to Classical B transformation.
- Move the existing transformation from https://github.com/astante/openetcs-sysml-to-b to https://github.com/openETCS/toolchain (Alexander Stante)
- Finish the redesign of the transformation. New design uses an intermediate Classical B ecore model, which will be used for a model 2 text transformation (Alexander Stante)
- Complete constraints on the SysML level that are necessary to create a Classical B model. The existing plugin https://github.com/openETCS/toolchain/wiki/SysML-Constraint-Checker-Plugin should be used for further extension. (Alexander Stante)
- Design an automatic SysML to Classical B transformation algorithm that takes care of creating a valid B architecture (correct IMPORTS tree, correct SEES use, etc.). It might be needed to add intermediate machine level in the IMPORTS tree to solve constraints. (David, Marielle)
- Use value ranges of the data dictionary and formulate constraints based on them for Classical B.
- Formulate constraints at SysML level that will be translated to Classical B. One idea could be to formulate the constaints with OCL (Alexander). Another option would be to use a C like syntax (ALF, Java or C) (David). Comment (Marielle): If we add a new language or means in the toolchain, this means more effort to learn a another language, more transformation steps, more verification steps, justification to provide (for SIL4 developements),... Thus pros and cons have to be analysed: What the added value of the new language, why the other language (ie. SysML and B) are not sufficient, how to define the transformation step, what shall be verified during the tranaformation,...
- One way transformation from SysML to Classical B makes it hard to fix errors on SysML level which are encountered during work on Classical B