Abstract

AbstractThe design and implementation of critical controllers benefit from development in a formal method such as the B‐Method. However, B does not support direct specification of executions, but this is a requirement in controller design. The aim here is to develop a set of annotations so that they can be used by a B design engineer to capture execution requirements while creating the B model. The annotations, once shown to be consistent with the B machine, can be used independently to assess the correctness of the proposed CSP controllers. CSP||B is an alternative formal method integration that can be used to develop critical controllers with both state and event behaviour. The advantage of using annotations is that the execution requirements can be captured and shown to be consistent with the state during operation development, and that a control loop invariant to establish correctness does not have to be independently developed. Handel‐C is used on route to hardware synthesis as it supports the implementation of concurrency and the manipulation of state. Annotations are again used to guide the translation of the B and control annotations into Handel‐C. This work has three main aims. First, we introduce a set of annotations to describe control directives to permit controller development in B. The annotations capture execution requirements. They give rise to proof obligations that when discharged prove that the annotations are consistent with the machine they are written in, and therefore will not cause the machine to diverge. Second, we prove that CSP controllers that are consistent with the annotations will preserve the non‐divergence property established between the machine and the annotations. Third, we show how annotation refinement is possible, and show a range of mappings from annotated B and consistent controllers to Handel‐C. The development of mappings demonstrates the feasibility of automatic translation of annotated B to Handel‐C. Copyright © 2010 John Wiley & Sons, Ltd.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.