Wiley.com
Print this page Share

Software Specification Methods

Henri Habrias (Editor), Marc Frappier (Editor)
ISBN: 978-1-905209-34-7
Hardcover
418 pages
May 2006, Wiley-ISTE
List Price: US $189.25
Government Price: US $130.52
Enter Quantity:   Buy
Software Specification Methods (1905209347) cover image

Preface vii

List of Contributors xxiii

Part I State-Based Approaches 1

1 Z 3
Jonathan P. Bowen

1.1 Overview of the Z notation 3

1.1.1 The process of producing a Z specification 4

1.2 Analysis and specification of case 1 5

1.3 Analysis and specification of case 2 13

1.4 Validation of the specification 16

1.5 The natural language description of the specifications 18

1.6 Conclusion 18

2 SAZ 21
Fiona Polack

2.1 Overview of the SAZ method 21

2.2 Analysis and specification of case 1 22

2.2.1 Z specification 24

2.3 Analysis and specification of case 2 28

2.4 Natural language description of the specifications 37

2.4.1 Case 1 37

2.4.2 Case 2 37

2.5 Conclusions 38

3 B 41
Hassan Diab and Marc Frappier

3.1 Overview of the B notation 41

3.2 Analysis and specification of case 1 42

3.2.1 Identifying operations 42

3.2.2 Defining the state space 44

3.2.3 Defining the behavior of the invoicing operation 46

3.2.4 The Product1 machine 49

3.3 Analysis and specification of case 2 51

3.3.1 Identifying operations 51

3.3.2 The Product2 machine 51

3.3.3 The Invoicing2 machine 52

3.4 Validation of the specification 54

3.5 The natural language description of the specifications 55

3.5.1 Case 1 55

3.5.2 Case 2 55

3.6 Conclusion 56

4 From UML Diagrams to B Specifications 59
Régine Laleau and Amel Mammar

4.1 Overview of the method 59

4.1.1 Summary of the B method 59

4.1.2 Data specification 60

4.1.3 Transaction specification 61

4.2 Specification of case 1 64

4.2.1 The class diagram and its B representation 64

4.2.2 Transaction specification 66

4.3 Specification of case 2 69

4.3.1 Transactions specification 69

4.3.2 The formal specification 72

4.4 Validation 76

4.5 The natural-language description of the specifications 77

4.5.1 Case 1 77

4.5.2 Case 2 77

4.6 Conclusion 77

5 UML+Z: Augmenting UML with Z 81
Nuno Amálio, Fiona Polack, and Susan Stepney

5.1 Overview of UML+ Z 81

5.2 Analysis and specification of case 1 82

5.2.1 UML class model 82

5.2.2 UML state models 83

5.2.3 The Z model 84

5.2.4 Checking model consistency 88

5.2.5 Validating the model 89

5.3 Analysis and specification of case 2 90

5.3.1 Entries of new orders 90

5.3.2 Cancellation of orders 94

5.3.3 Entries of quantities into stock 96

5.4 Natural language description of the specification 101

5.4.1 Case 1 101

5.4.2 Case 2 101

5.5 Conclusion 101

6 ASM 103
Egon Börger, Angelo Gargantini and Elvinia Riccobene

6.1 Overview of the ASM 103

6.2 Requirements capture and specification of case 1 104

6.2.1 Identifying the agents 104

6.2.2 Identifying the states 105

6.2.3 Identifying static and dynamic parts of the states 105

6.2.4 Identifying the transitions 107

6.2.5 Identifying the initial and final states 111

6.2.6 Exceptions handling and robustness 111

6.2.7 Identifying the desired properties (validation/verification) 112

6.3 Requirements capture and specification of case 2 114

6.4 The natural language description of the specification 118

6.4.1 Case 1 118

6.4.2 Case 2 118

6.5 Conclusion 118

7 TLA+ 121
Leslie Lamport

7.1 Overview of TLA+ 121

7.1.1 TLA 121

7.1.2 TLA+ versus Z 122

7.2 A specification of case 2 124

7.3 The problematic case 1 131

7.4 Validation of the specification 132

7.5 Satisfying the specification 133

7.6 The natural language description 134

7.7 Conclusion 134

Part II Event-Based Approaches 137

8 Action Systems 139
Jane Sinclair

8.1 Overview of action systems 139

8.2 Analysis and specification of case 1 140

8.2.1 Modeling the state of the action system 140

8.2.2 Defining the actions 143

8.2.3 An action system for case 1 146

8.3 Analysis and specification of case 2 147

8.3.1 Modeling the state for case 2 147

8.3.2 Defining the actions 147

8.3.3 An action system for case 2 150

8.4 Verification for action systems 151

8.5 The natural language description of the specification 153

8.5.1 Case 1 153

8.5.2 Case 2 153

8.6 Conclusion 153

9 Event B 157
Dominique Cansell and Dominique Méry

9.1 Introduction 157

9.2 Analyzing the text of the case study 158

9.3 Event-based modeling 164

9.4 Modeling the first event B model Case 1 167

9.5 Model refinement 170

9.6 Modeling the second event B model Case 2 by refinement of Case 1 171

9.7 The natural language description of the event B models 175

9.8 Conclusion 175

10 VHDL 179
Laurence Pierre

10.1 Overview of VHDL 179

10.2 Analysis and specification of case 1 181

10.2.1 Identifying data structures 181

10.2.2 Identifying operations 182

10.3 Analysis and specification of case 2 186

10.4 The natural language description of the specification 193

10.4.1 Case 1 193

10.4.2 Case 2 194

10.5 Conclusion 194

11 Estelle 197
Eric Lallett and Jean-Luc Raffy

11.1 Overview of the FDT Estelle 197

11.2 Analysis and specification of case 1 198

11.2.1 Defining the architecture of the specification 198

11.2.2 Defining the behavior 200

11.3 Analysis and specification of case 2 204

11.3.1 Defining the new architecture 204

11.3.2 Defining the behavior 205

11.4 Validating the specification 210

11.5 The natural language description of the specifications 210

11.5.1 Case 1 210

11.5.2 Case 2 210

11.6 JEstelle (Estelle with Java) 212

11.7 Conclusion 212

12 SDL 215
Pascal Poizat

12.1 Overview of SDL 215

12.2 Analysis and specification of case 1 216

12.2.1 System structure 216

12.2.2 Process graphs 219

12.2.3 Sort definitions 221

12.2.4 Comments on the first case study 225

12.3 Analysis and specification of case 2 225

12.3.1 System structure 225

12.3.2 Process graphs 227

12.3.3 Sort definitions 228

12.4 The natural language description of the specifications 230

12.4.1 Case 1 230

12.4.2 Case 2 230

12.5 Conclusion 230

13 E-LOTOS 233
Kenneth J. Turner and Mihaela Sighireanu

13.1 Overview of the LOTOS notation and method 233

13.1.1 The LOTOS and E-LOTOS languages 233

13.1.2 Requirements capture in LOTOS 234

13.2 Analysis and specification of case 1 236

13.2.1 Analysis 236

13.2.2 Specification 237

13.3 Analysis and specification of case 2 237

13.3.1 Analysis 238

13.3.2 Specification 242

13.4 Validation and verification of the LOTOS specifications 250

13.4.1 Validation 250

13.4.2 Verification 251

13.5 Natural language description of the specifications 255

13.5.1 Case 1 255

13.5.2 Case 2 255

13.6 Conclusion 255

14 EB3 259
Frédéric Gervais, Marc Frappier and Richard St-Denis

14.1 Introduction 259

14.2 Analysis and specification of case 1 260

14.2.1 Entity types and actions 260

14.2.2 Process expressions 262

14.2.3 Input-output rules 262

14.3 Analysis and specification of case 2 263

14.3.1 Entity types, associations and actions 263

14.3.2 Process expressions 266

14.3.3 Input-output rules 268

14.3.4 Attribute definitions 268

14.4 The natural language description of the specification 271

14.4.1 Case 1 271

14.4.2 Case 2 272

14.5 Conclusion 272

Part III Other Formal Approaches 275

15 CASL 277
Hubert Baumeister and Didier Bert

15.1 Overview of the CASL notation 277

15.2 Analysis and specification of case 1 278

15.3 Analysis and specification of case 2 283

15.4 Architectural specification 289

15.5 The natural language description of the specification 290

15.5.1 Case 1 290

15.5.2 Case 2 290

15.6 Conclusion 291

16 Coq 293
Philippe Chavin and Jean-Francǫis Monin

16.1 Introduction to Coq 293

16.2 Analysis of the text 294

16.2.1 Stock and orders 294

16.2.2 Operations 295

16.2.3 Requirements on quantities 296

16.3 A specification for case1 296

16.3.1 Basic types 296

16.3.2 State and operation 298

16.3.3 Operation “invoice” 298

16.4 A specification for case2 300

16.4.1 Using general operations over sets 300

16.4.2 Reference-dependent measure systems 302

16.5 Experimenting with the specification 304

16.5.1 Refining 304

16.6 Running an example 306

16.7 Rephrasing the text 307

16.8 Conclusion 308

17 Petri Nets 311
Annie Choquet-Geniet and Pascal Richard

17.1 Overview of Petrinets 311

17.2 Analysis and specification of case 1 312

17.2.1 One order with a data/action approach 313

17.2.2 One order with a structural approach 316

17.2.3 Several orders 319

17.3 Analysis and specification of case 2 322

17.3.1 Entry flow in stocks 322

17.3.2 Flows of orders 323

17.4 Validation of the specification 324

17.5 The natural language description of the specifications 326

17.5.1 Case 1 326

17.5.2 Case 2 326

17.6 Conclusion 326

18 Petri Nets with Objects 329
Christophe Sibertin-Blanc

18.1 Introduction 329

18.2 A conceptual framework for the representation of systems 330

18.3 Case 1 332

18.4 The system’s interface 332

18.5 The components of the system’s structure 333

18.6 The Entities 335

18.7 The Operations 338

18.8 The Actors 339

18.9 The Control Structure 340

18.10 Natural language description of the specifications 345

18.11 Comments about our treatment of the case study 346

Part IV Comparison and Glossary 351

19 A Comparison of the Specification Methods 353
Marc Frappier, Henri Habrias and Pascal Poizat

19.1 Attributes of specification methods 353

19.1.1 Paradigm 353

19.1.2 Formality 356

19.1.3 Graphical representation 357

19.1.4 Object oriented 357

19.1.5 Concurrency 357

19.1.6 Executability 357

19.1.7 Usage of variables 357

19.1.8 Non-determinism 357

19.1.9 Logic 358

19.1.10 Provability 358

19.1.11 Model checking 358

19.1.12 Event inhibition 358

19.2 A qualitative description of the methods 359

20 Glossary 365
Henri Habrias, Pascal Poizat and Marc Frappier

Index 411

Related Titles

More From This Series

by Tomasz Krysinski, Francois Malburet
by Pascal Cantot (Editor), Dominique Luzeaux (Editor)
by Farhang Radjaï (Editor), Frédéric Dubois (Editor)

General

by Frédéric Benhamou (Editor), Narendra Jussien (Editor), Barry A. O'Sullivan (Editor)
by Nadia Magnenat-Thalmann (Editor), Daniel Thalmann (Editor)
Back to Top