Book contents
- Frontmatter
- Foreword
- Introduction
- Acknowledgements
- What is B?
- Contents
- I Mathematics
- II Abstract Machines
- 4 Introduction to Abstract Machines
- 5 Formal Definition of Abstract Machines
- 6 Theory of Abstract Machines
- 7 Constructing Large Abstract Machines
- 8 Examples of Abstract Machines
- III Programming
- IV Refinement
- Appendix A Summary of Notations
- Appendix B Syntax
- Appendix C Definitions
- Appendix D Visibility Rules
- Appendix E Rules and Axioms
- Appendix F Proof Obligations
- Index
8 - Examples of Abstract Machines
Published online by Cambridge University Press: 21 January 2010
- Frontmatter
- Foreword
- Introduction
- Acknowledgements
- What is B?
- Contents
- I Mathematics
- II Abstract Machines
- 4 Introduction to Abstract Machines
- 5 Formal Definition of Abstract Machines
- 6 Theory of Abstract Machines
- 7 Constructing Large Abstract Machines
- 8 Examples of Abstract Machines
- III Programming
- IV Refinement
- Appendix A Summary of Notations
- Appendix B Syntax
- Appendix C Definitions
- Appendix D Visibility Rules
- Appendix E Rules and Axioms
- Appendix F Proof Obligations
- Index
Summary
In this chapter our intention is to present three large examples of abstract machines. In each of them, we would like to put the emphasis on a particular aspect of specifying.
The goal of the first example, the Invoice System, is to show how to build the technical specification of a data processing system in an incremental fashion. Another important aspect is that of defining how the errors can be trapped in a systematic way. Here, clearly, the intention is to build abstract machines whose operations are viewed as a “repertoire of instructions” for building further machines on top of them, and so on.
The second example (inspired by) is a Telephone Exchange System. The goal here is to show how the concept of abstract machine can be used to model a system where “concurrent” activities take place. The machine we shall specify is intended to be an abstract model of the entire activity of a telephone exchange, where all the telephone conversations are handled simultaneously. Clearly, the mental image of the operations of such a machine does not correspond to “buttons” that can be pressed or to “instructions” that can be invoked. The idea is rather to consider that the operations are events that may occur for some reason. The pre-conditions of such operations are then viewed as the “firing conditions” of such events. In a first approximation, the “real” reason for the occurence of such events, once the firing conditions are met, are not our concerns. Sometimes, it can be the consequence of physical events like someone lifting a telephone hand-set. Sometimes, it is rather a “spontaneous” decision of the system.
- Type
- Chapter
- Information
- The B-BookAssigning Programs to Meanings, pp. 337 - 370Publisher: Cambridge University PressPrint publication year: 1996