Modelling systems: practical tools and techniques in software development
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Cambridge [u.a.]
Cambridge Univ. Press
2009
|
Ausgabe: | 2. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Incl. bibliogr. references and index. - Previous ed.: 1998 |
Beschreibung: | XVI, 288 S. Ill., graph. Darst. |
ISBN: | 9780521899116 0521899117 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV025571790 | ||
003 | DE-604 | ||
005 | 20140417 | ||
007 | t | ||
008 | 100417s2009 ad|| |||| 00||| eng d | ||
015 | |a GBA931553 |2 dnb | ||
020 | |a 9780521899116 |9 978-0-521-89911-6 | ||
020 | |a 0521899117 |9 0-521-89911-7 | ||
035 | |a (OCoLC)297147060 | ||
035 | |a (DE-599)BVBBV025571790 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-521 |a DE-703 |a DE-573 | ||
082 | 0 | |a 004 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Fitzgerald, John |d 1965- |e Verfasser |0 (DE-588)138299285 |4 aut | |
245 | 1 | 0 | |a Modelling systems |b practical tools and techniques in software development |c John Fitzgerald and Peter Gorm Larsen |
250 | |a 2. ed. | ||
264 | 1 | |a Cambridge [u.a.] |b Cambridge Univ. Press |c 2009 | |
300 | |a XVI, 288 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Incl. bibliogr. references and index. - Previous ed.: 1998 | ||
650 | 0 | 7 | |a VDM |0 (DE-588)4135608-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Systementwicklung |0 (DE-588)4126945-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Systementwurf |0 (DE-588)4261480-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwareentwicklung |0 (DE-588)4116522-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwareentwicklung |0 (DE-588)4116522-6 |D s |
689 | 0 | 1 | |a Systementwurf |0 (DE-588)4261480-6 |D s |
689 | 0 | 2 | |a VDM |0 (DE-588)4135608-1 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a VDM |0 (DE-588)4135608-1 |D s |
689 | 1 | 1 | |a Systementwicklung |0 (DE-588)4126945-7 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
700 | 1 | |a Larsen, Peter Gorm |e Verfasser |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020170044&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-020170044 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804142749340925952 |
---|---|
adam_text | Titel: Modelling systems
Autor: Fitzgerald, John
Jahr: 2009
Contents
Foreword page ix
Preface xi
1 Introduction 1
1.1 Software 1
1.2 Modelling and analysis 2
1.3 This book 3
1.4 VDM-SL 4
1.5 The structure of a VDM-SL model 4
1.6 Analysing a model 9
2 Constructing a Model 13
2.1 Introduction 13
2.2 Requirements for an alarm System 13
2.3 Constructing a model from Scratch 14
2.4 Reading the requirements 15
2.5 Extracting possible types and functions 16
2.6 Sketching type representations 16
2.7 Sketching function signatures 22
2.8 Completing the type definitions 23
2.9 Completing the function definitions 24
2.10 Reviewing requirements 29
3 VDMTools Lite 35
3.1 Introduction 35
3.2 Installing VDMTools Lite 36
3.3 Configuring the alarm example 36
3.4 Syntax and type checking modeis 38
3.5 Interpreting and debugging modeis 42
3.6 Test coverage 48
vi Contents
3.7 Integrity checking 49
3.8 Setting options 50
4 Describing System Properties Using Logical Expressions 55
4.1 Introduction 55
4.2 The temperature monitor 55
4.3 Logical expressions 57
4.4 Presenting and evaluating predicates 64
4.5 Using quantifiers 66
4.6 Coping with undefinedness 71
5 The Elements of a Formal Model 77
5.1 Introduction 77
5.2 A traffic light control kernel 78
5.3 Union and basic types 81
5.4 Basic type constructors 83
5.5 Record types 84
5.6 Invariants 85
5.7 Explicit function definitions 87
5.8 Functions for changing Signals 88
5.9 Reviewing the safety requirements 96
5.10 Optional types: modelling failure behaviour 96
6 Sets 99
6.1 Introduction 99
6.2 The set type constructor 100
6.3 Defining sets 101
6.4 Modelling with sets 103
6.5 Distributed set Operators 115
6.6 Summary 118
7 Sequences 121
7.1 Introduction 121
7.2 The sequence type constructor 122
7.3 Defining sequences 122
7.4 Modelling with sequences 125
7.5 Further Operators on sequences 132
7.6 Abstraction lesson: choosing abstraction levels 135
8 Mappings 137
8.1 Introduction 137
8.2 The mapping type constructor 139
8.3 Defining mappings 139
8.4 Modelling with mappings 140
8.5 Summary 154
Contents vii
9 Recursive Structures 157
9.1 Recursive data structures: trees 157
9.2 Abstract syntax trees 161
9.3 Directed graphs 164
9.4 An application of directed graphs: code optimisation 167
9.5 Abstraction lesson: executability 169
10 Validating Models 171
10.1 Introduction 171
10.2 Internal consistency: proof obligations 173
10.3 Visualisation of a model 180
10.4 Interfacing to legacy code 182
10.5 Systematic testing 183
10.6 Using proofs 184
10.7 Choosing a Validation technique 187
11 State-Based Modelling 189
11.1 Introduction 189
11.2 State-based modelling 190
11.3 A state-based model of the explosives störe Controller 191
11.4 A state-based model of the trusted gateway 196
11.5 Validation of state-based modeis 199
12 Large-Scale Modelling 203
12.1 Introduction 203
12.2 A structure for the tracker model 204
12.3 Information hiding 212
12.4 Object-oriented structuring 214
13 Using VDM in Practice 217
13.1 Introduction 217
13.2 Development activities and processes 218
13.3 Common development problems 219
13.4 Advantages of VDM technology 220
13.5 Getting started 223
13.6 VDM and its extensions 226
13.7 Industrial applications of VDM 227
13.8 Moving on: information resources 232
Appendix A Language Guide 235
A.l Identifiers 235
A.2 Type definitions 236
A.3 Basic data types and type constructors 236
A.4 Data type Operator overview 237
A.5 Expressions 246
viii Contents
A.6 Patterns 248
A.7 Bindings 249
A.8 Explicit function definition 249
A.9 Implicit functions 250
A.10 Operations 250
A. 11 The State definition 251
A. 12 Syntax overview 252
Appendix B Solutions to Exercises 263
B. 1 Solutions for Chapter 2 Exercises 263
B.2 Solutions for Chapter 3 Exercises 263
B.3 Solutions for Chapter 4 Exercises 264
B.4 Solutions for Chapter 5 Exercises 265
B.5 Solutions for Chapter 6 Exercises 266
B.6 Solutions for Chapter 7 Exercises 268
B.7 Solutions for Chapter 8 Exercises 268
B.8 Solutions for Chapter 9 Exercises 270
B.9 Solutions for Chapter 10 Exercises 273
B. 10 Solutions for Chapter 11 Exercises 275
Bibliography 277
Subject Index 283
Definitions Index 287
Foreword
Software engineers produce many descriptions: those of the environment or
domain in which a desired Computing System Software is to exist; descriptions of
the requirements put on the Software; and descriptions of the Software design that
implements the requirements. Thus the descriptions span the spectrum from appli-
cation domain, via requirements and Software architecture, program Organisation
and lower level designs, to executable code. While its concerns may be general,
Software engineering is unique among engineering disciplines in that its primary
products are descriptions that must eventually satisfy the laws of mathematical
logic and metamathematics.
Other engineering disciplines have to handle a quantum leap into physical real-
ity - the stuff of natural science. In Software engineering there is a different
quantum leap: that from description to execution. Software engineering is thus
about structuring and relating descriptions.
Abstraction and modelling taken together are the keys to mastering the com-
plexity of environments and Systems. Formal specification is employed to express
abstractions and to ensure affinity to real domains. Such specifications open up
ways to establish the proper relation between domain and requirements modeis as
well as potentially verifying the links between Software architecture, requirements
modeis and the stages of design. This increases the chance of achieving a proper fit
to the environment, to user expectations and of the correctness of implementation.
VDM was first conceived at the IBM Vienna Laboratory during the summer of
1973. The quarter of a Century which separates that date from the publication of
this book has shown that VDM is characterised by having remarkably robust, yet
simple and elegant, means of abstraction and modelling. Careful attention was paid
during the 1980s to ensuring a consistent and comprehensive final Version of the
VDM Specification Language (VDM-SL). This was supported by a method for
specification refinement (reification) including a Logic for Partial Functions Proof
ix
|
any_adam_object | 1 |
author | Fitzgerald, John 1965- Larsen, Peter Gorm |
author_GND | (DE-588)138299285 |
author_facet | Fitzgerald, John 1965- Larsen, Peter Gorm |
author_role | aut aut |
author_sort | Fitzgerald, John 1965- |
author_variant | j f jf p g l pg pgl |
building | Verbundindex |
bvnumber | BV025571790 |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)297147060 (DE-599)BVBBV025571790 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02021nam a2200493 c 4500</leader><controlfield tag="001">BV025571790</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20140417 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100417s2009 ad|| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA931553</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780521899116</subfield><subfield code="9">978-0-521-89911-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0521899117</subfield><subfield code="9">0-521-89911-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)297147060</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV025571790</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-521</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Fitzgerald, John</subfield><subfield code="d">1965-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)138299285</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Modelling systems</subfield><subfield code="b">practical tools and techniques in software development</subfield><subfield code="c">John Fitzgerald and Peter Gorm Larsen</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge [u.a.]</subfield><subfield code="b">Cambridge Univ. Press</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVI, 288 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Incl. bibliogr. references and index. - Previous ed.: 1998</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">VDM</subfield><subfield code="0">(DE-588)4135608-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Systementwicklung</subfield><subfield code="0">(DE-588)4126945-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Systementwurf</subfield><subfield code="0">(DE-588)4261480-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Systementwurf</subfield><subfield code="0">(DE-588)4261480-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">VDM</subfield><subfield code="0">(DE-588)4135608-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">VDM</subfield><subfield code="0">(DE-588)4135608-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Systementwicklung</subfield><subfield code="0">(DE-588)4126945-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Larsen, Peter Gorm</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020170044&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020170044</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV025571790 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:36:43Z |
institution | BVB |
isbn | 9780521899116 0521899117 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020170044 |
oclc_num | 297147060 |
open_access_boolean | |
owner | DE-11 DE-521 DE-703 DE-573 |
owner_facet | DE-11 DE-521 DE-703 DE-573 |
physical | XVI, 288 S. Ill., graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Cambridge Univ. Press |
record_format | marc |
spelling | Fitzgerald, John 1965- Verfasser (DE-588)138299285 aut Modelling systems practical tools and techniques in software development John Fitzgerald and Peter Gorm Larsen 2. ed. Cambridge [u.a.] Cambridge Univ. Press 2009 XVI, 288 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Incl. bibliogr. references and index. - Previous ed.: 1998 VDM (DE-588)4135608-1 gnd rswk-swf Systementwicklung (DE-588)4126945-7 gnd rswk-swf Systementwurf (DE-588)4261480-6 gnd rswk-swf Softwareentwicklung (DE-588)4116522-6 gnd rswk-swf Softwareentwicklung (DE-588)4116522-6 s Systementwurf (DE-588)4261480-6 s VDM (DE-588)4135608-1 s DE-604 Systementwicklung (DE-588)4126945-7 s 1\p DE-604 Larsen, Peter Gorm Verfasser aut HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020170044&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Fitzgerald, John 1965- Larsen, Peter Gorm Modelling systems practical tools and techniques in software development VDM (DE-588)4135608-1 gnd Systementwicklung (DE-588)4126945-7 gnd Systementwurf (DE-588)4261480-6 gnd Softwareentwicklung (DE-588)4116522-6 gnd |
subject_GND | (DE-588)4135608-1 (DE-588)4126945-7 (DE-588)4261480-6 (DE-588)4116522-6 |
title | Modelling systems practical tools and techniques in software development |
title_auth | Modelling systems practical tools and techniques in software development |
title_exact_search | Modelling systems practical tools and techniques in software development |
title_full | Modelling systems practical tools and techniques in software development John Fitzgerald and Peter Gorm Larsen |
title_fullStr | Modelling systems practical tools and techniques in software development John Fitzgerald and Peter Gorm Larsen |
title_full_unstemmed | Modelling systems practical tools and techniques in software development John Fitzgerald and Peter Gorm Larsen |
title_short | Modelling systems |
title_sort | modelling systems practical tools and techniques in software development |
title_sub | practical tools and techniques in software development |
topic | VDM (DE-588)4135608-1 gnd Systementwicklung (DE-588)4126945-7 gnd Systementwurf (DE-588)4261480-6 gnd Softwareentwicklung (DE-588)4116522-6 gnd |
topic_facet | VDM Systementwicklung Systementwurf Softwareentwicklung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020170044&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT fitzgeraldjohn modellingsystemspracticaltoolsandtechniquesinsoftwaredevelopment AT larsenpetergorm modellingsystemspracticaltoolsandtechniquesinsoftwaredevelopment |