abstract
-
Model based design has had a large impact on the process of software development in many different industries. A lack of formality in these environments can lead to incorrect software and does not facilitate the formal analysis of created models. A formal tool known as tabular expressions have been successfully used in developing safety critical systems, however insufficient tool support has hampered their wider adoption. To address this shortfall we have developed the Tabular Expression Toolbox for Matlab/Simulink.
We have developed an intuitive user interface that allows users to easily create, modify and check the completeness and disjointness of tabular expressions using the theorem prover PVS or SMT solver CVC3. The tabular expressions are translated to m-functions allowing their seamless use with Matlab's simulation and code generation. We present a method of generating counter examples for incorrect tables and a means of effectively displaying this information to the user. We provide support for modelling inputs as floating point numbers, through subtyping a user can show the properness of a table using a more concrete representation of data. The developed tools and processes have been used in the modelling of a nuclear shutdown system as a case study of the practicality and usefulness of the tools.