Presentation of the B method
B is a formal specification method which, thanks to an adequate language, allows for highly accurate expressions of the properties required by specifications.
B, FOR THE DESIGN OF PROVEN SYSTEMS AND SOFTWARE
B is a formal specification method which, thanks to an adequate language, allows for highly accurate expressions of the properties required by specifications. One can then prove in a fully automated fashion that these properties are unambiguous, coherent and are not contradictory. This then allows us to mathematically prove that these properties are taken into account as the design stages progress.
Therefore, this method and its associated proof allow for:
1- Clear technical specifications and system specifications to be reached that are structured, coherent and unambiguous,
2- The development of software that is contractually guaranteed to be fault-free,
In areas such as real time, industrial automatisms, communication protocols, cryptographic protocols, onboard IT…
THE B METHOD
B Method usually refers to the set that includes: B language, refinement, proof and related tools.
B development starts with the writing of a concrete model that includes all of the defined needs. The main data processed by the system is described, as well as the fundamental properties of this data. Services ensure the processing of this data while preserving its properties. The B model thus obtained is a specification of what the system should create.
The B model is then transformed (refined with B vocabulary) until a complete software installation of the software is obtained.
Finally, we arrive at a concrete model, proven and fault-free, that can be coded into C or Ada language.
B Method is therefore: “a proven construction approach (referred to as correct) based on B Language, refinement and proof.”
B METHOD OBJECTIVES
Invented by Jean-Raymond Abrial, the B Method is first and foremost a new approach for the specification and design of software that ensures its safety and reliability. All of the specification, design and coding processes are therefore fully based on the realization of a certain number of mathematical proofs.
It is only once a model has been mathematically proven that it is considered coherent and fault-free.
The main objectives of this method are therefore:
- To create correct software by construction
- To model systems in their environment
- To formalize specifications
- To simplify programming
B METHOD DISTRIBUTION
Renowned for its effectiveness, the B Method is widely distributed and well known in the industry and universities. It can be used in a variety of sectors, such as rail transport, aeronautics, defence and R&D.
The success of the B Method is constantly growing, primarily because of the distribution of major tools such as Atelier B, an industrial tool that allows for the operational use of the B Method in developing proven software.
CLEARSY is responsible for development with tools such as Atelier B in collaboration with industry, research centres and Jean Raymond ABRIAL.
GENERALIZED FORMAL VERIFICATION
The B METHOD combined with other formalisms is used to help analyse, validate, reorganise and provide the elements to complete the specifications. This technique of system reliability analysis has the particularity of being applicable to all industrial fields. Formal validation is successfully used today in the automotive, banking, space and nuclear fields.
B METHOD USERS
B Method users come from diverse and varied fields including :
1- Industry: Seeking safe systems that use formal methods, as well as new technologies that meet industry’s needs.
2- Originators: Seeking answers to functional questions and relying on the B Method as a sustainable solution.
3- Experts & specialists: Individuals who seek information on formal methods at a very high technical level.
4- Specialized R&D researchers: Working towards the sustainable development of formal methods in order to develop new solutions for the future.
5- University professors and researchers: Who teach B in an academic environment and study potential changes to formal methods.
6- Students: Composed of researchers or simply students wanting to use B tools.