SL2SF: Refactoring Simulink to Stateflow
Conferences
Overview
Research
Identity
Additional Document Info
View All
Overview
abstract
The adoption of Model-Based Design in the development of embedded control systems across industries has led to the widespread use of Matlab Simulink/Stateflow for modelling controller software. Within the Simulink environment, component systems may be modelled as either Simulink block diagrams or as Stateflow state charts. The choice of modelling formalism is informed by the nature of the system being modelled, with state charts being the recommended approach for systems which rely on stateful decision logic. However, in practice, systems with stateful decision logic are often modelled with complex block diagrams instead, hindering their readability.
This thesis presents a methodology for improving the maintainability and understandability of embedded software models by refactoring component systems which use block diagrams to model stateful logic into functionally equivalent state charts that represent the intended behaviour more naturally. This methodology establishes strategies for identifying such component systems within large industrial models, and for translating block diagrams into state charts.
The translation methodology uses Mealy machines as a semantic model for both block diagrams and state charts, and tabular expressions are used as an intermediate representation to bridge the syntactic gap between the two modelling languages. Both identification and translation methodologies are designed to be automated. A prototype translation tool was developed, implementing the strategy presented in this work.