Automating abstractions in formal modelling
暂无分享,去创建一个
ions in formal modelling Abstractions and refinements in formal modelling have been used to address the issues of system requirements and verification complexity. Using a refinement approach in formal modelling, means the system modelling is started at an abstract level, and refined through a number of refinement layers. Each layer is adding more requirements and complexity of the given system. At each refinement step, it has to be proven that the more concrete model does not invalidate what has been done in the abstract model. This approach makes available a systematic development of a model and by proving model and refinement correctness at each step, at the end of the development, the system is correct by construction relative to its surrounding environment (Abrial 2010). It is often found difficult to find at which level to start, and there is a tendency to start the model development way too concrete, thus making the development and the verification difficult. The problem with starting the development at a too detailed level is that it may not be realized that a flaw is present either in other part or in the whole structure of the system. As each refinement layer is adding complexity and requirements of the system, it may also introduce flaws to the model. These problems serve as a motivation for the project to automate the generation of abstractions of formal models and led to the formation of the hypotheses.
[1] Michael J. Butler,et al. Using B Refinement to Analyse Compensating Business Processes , 2003, ZB.
[2] Michael J. Butler. Mastering System Analysis and Design through Abstraction and Refinement , 2013, Engineering Dependable Software Systems.
[3] Kristina Lundqvist,et al. Formal Software Verification: Model Checking and Theorem Proving , 2007 .
[4] Gudmund Grov,et al. Refinement Plans for Informed Formal Design , 2012, ABZ.