Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cleanroom Engineering and the B-Method: A Comparison Drew Connelly.

Similar presentations


Presentation on theme: "Cleanroom Engineering and the B-Method: A Comparison Drew Connelly."— Presentation transcript:

1 Cleanroom Engineering and the B-Method: A Comparison Drew Connelly

2 Cleanroom Key Points Developed by IBM in the late 70’s. Developed by IBM in the late 70’s. Purpose is to produce zero-defect software within a measurable degree of tolerance. Purpose is to produce zero-defect software within a measurable degree of tolerance. Uses formal methods for design specification. Uses formal methods for design specification. Statistical usage testing provides certifiably correct software. Statistical usage testing provides certifiably correct software.

3 Cleanroom Specification System requirements are decomposed into box structures through stepwise refinement. System requirements are decomposed into box structures through stepwise refinement. 3 Kinds of boxes – Black, State, and Clear 3 Kinds of boxes – Black, State, and Clear Black box where S is the set of all possible inputs and R is the set of responses associated with them. Black box where S is the set of all possible inputs and R is the set of responses associated with them.

4 State Box Contains Black box g. Contains Black box g. Passes input from external S and internal state T to g. Passes input from external S and internal state T to g. The response from g sets internal state T and is passed to output R. The response from g sets internal state T and is passed to output R.

5 Clear Box Contains conditional Black box C, internal state T, and Black boxes B1 and B2. Contains conditional Black box C, internal state T, and Black boxes B1 and B2. The response from C dictates whether to use B1 or B2. The response from C dictates whether to use B1 or B2.

6 Correctness Verification Accomplished as part of the design process. Accomplished as part of the design process. Correctness conditions are generated based on the set of inputs, S. Correctness conditions are generated based on the set of inputs, S. Each clear box is accepted by the team before it is coded. Each clear box is accepted by the team before it is coded. Written proofs are possible – this is common is safety critical systems. Written proofs are possible – this is common is safety critical systems.

7 Testing (Certification) Developer unit testing is not allowed! Developer unit testing is not allowed! Independent certification teams verify correctness based on usage probability distributions. Independent certification teams verify correctness based on usage probability distributions. Automated test cases are executed and the MTTF is determined. Automated test cases are executed and the MTTF is determined. The system is either accepted or rejected. The system is either accepted or rejected.

8 The B-Method Developed in the early 80’s by J.R. Abrail and research groups at BP, MATRA, and GEC Alsthom. Developed in the early 80’s by J.R. Abrail and research groups at BP, MATRA, and GEC Alsthom. Defines system requirements in terms of abstract machines using the B Abstract Machine Notation (B AMN). Defines system requirements in terms of abstract machines using the B Abstract Machine Notation (B AMN). The machines make use of mathematical notation, including set theory and predicate logic. The machines make use of mathematical notation, including set theory and predicate logic. B Method can be applied to any other development process model. B Method can be applied to any other development process model.

9 Array Insert Machine

10 Correctness Verification Verification is performed at the discretion of the development team. Verification is performed at the discretion of the development team. Each individual machine can be proven correct. Each individual machine can be proven correct. Formal mathematical proofs may be produced. Formal mathematical proofs may be produced. B Method provides no recommended testing strategy. B Method provides no recommended testing strategy.

11 Ethical Considerations More accountability for developers – they are involved in specification, design, implementation, and testing of the system. More accountability for developers – they are involved in specification, design, implementation, and testing of the system. Developers will have the responsibility to raise any potential issues during the specification and design process. Developers will have the responsibility to raise any potential issues during the specification and design process. Developers must have a thorough understanding of mathematics and how to apply them to requirements. Developers must have a thorough understanding of mathematics and how to apply them to requirements.

12 Questions? Comments?


Download ppt "Cleanroom Engineering and the B-Method: A Comparison Drew Connelly."

Similar presentations


Ads by Google