Notations for Software Design

Buch | Softcover
XII, 425 Seiten
1994 | 1. Softcover reprint of the original 1st ed. 1994
Springer Berlin (Verlag)
978-3-540-19902-1 (ISBN)

Lese- und Medienproben

Notations for Software Design - Loe M.G. Feijs, Hans B.M. Jonkers, Cornelis A. Middelburg
53,49 inkl. MwSt
Notations for Software Design aims to explain formal specification and design to practitioners in software development, and to set out the ingredients of a sound software design process.
It examines COLD-1, which is currently being implemented by Philips in many of its business centres. The fact that it is a wide-spectrum language which supports many styles of specification makes it an excellent basis for the volume. It also examines some widely-used informal techniques, such as Venn diagrams and Petri nets, thus creating a strong link between current and future practice. Rather than proposing new pictorial notations the authors place existing ones into a coherent framework, and explain practical ways of exploiting them in conjunction with COLD-1.

1 Introduction.- 1.1 Software Design.- 1.2 Software Specification.- 1.3 Notations for Software Design.- 2 The Vending Machine Case.- 2.1 Objectives.- 2.2 Analysing the Application.- 2.3 Analysing the Building Blocks.- 2.4 Design.- 2.5 Realization.- 2.6 Concluding Remarks.- 3 Patterns for Definitions.- 3.1 Introduction and Motivation.- 3.2 States and State Transformers.- 3.3 Patterns for Function Definitions.- 3.4 Patterns for Predicate Definitions.- 3.5 Patterns for Sort Definitions.- 3.6 Patterns for Procedure Definitions.- 3.7 Axioms and Theorems.- 3.8 Assertions.- 3.9 Expressions.- 3.10 Concluding Remarks.- 4 Patterns for Components.- 4.1 Introduction and Motivation.- 4.2 Basic Pattern.- 4.3 Using Components.- 4.4 Signatures.- 4.5 Renamings.- 4.6 More on Component Definitions.- 4.7 Structure of Complete Descriptions.- 4.8 More on Instantiating Components.- 4.9 Concluding Remarks.- 5 Mechanisms for Naming.- 5.1 Introduction and Motivation.- 5.2 Structure of Names.- 5.3 Names in Definitions and Axioms.- 5.4 Names in Signatures and Renamings.- 5.5 Names in Instantiations.- 5.6 Object Names.- 5.7 Name Clashes.- 5.8 Names and Notational Conventions.- 5.9 Concluding Remarks.- 6 The Automatic Railway Case.- 6.1 Objectives.- 6.2 Vocabulary of the Application Domain.- 6.3 Analysis of the Application Domain.- 6.4 System Requirements.- 6.5 The Architecture of Safety.- 6.6 Components for Safety and Reachability.- 6.7 Putting the Components Together.- 6.8 Refinements of the Safety Requirement.- 6.9 Data Structures.- 6.10 Invariant Assertions.- 6.11 Algorithms.- 6.12 Proof Aspects.- 6.13 Real-time Aspects.- 6.14 Realization Aspects.- 6.15 Concluding Remarks.- 7 Pictorial Representations.- 7.1 Survey.- 7.2 Area Diagrams: General.- 7.3 Venn diagrams.- 7.4 Statecharts.- 7.5 Nassi-Shneidermann Diagrams.- 7.6 HOOD diagrams.- 7.7 Graph Diagrams: General.- 7.8 Function Graphs.- 7.9 State Transition Diagrams.- 7.10 Call Graphs.- 7.11 Import Graphs.- 7.12 Concluding Remarks.- 8 More Pictorial Representations.- 8.1 Network Diagrams: General.- 8.2 Data Flow Diagrams.- 8.3 Data Flow Diagrams with Stores.- 8.4 Flow Charts.- 8.5 Abstract Hardware Diagrams.- 8.6 State-based Abstract Hardware Diagrams.- 8.7 Petri Nets.- 8.8 SDL-like Diagrams.- 8.9 Sequence Charts: General.- 8.10 Asynchronous Sequence Charts.- 8.11 Synchronous Sequence Charts.- 8.12 Concluding Remarks.- 9 Advanced Topics.- 9.1 Introduction and Motivation.- 9.2 Review of Modular Structuring.- 9.3 How to Set up Basic Components.- 9.4 Sharing a State Space.- 9.5 Principles of Modular Structuring.- 9.6 Guidelines and Techniques.- 9.7 Mirroring.- 9.8 Object-orientedness.- 9.9 Conservativity and Visibility Consistency.- 9.10 Black Box Correctness.- 9.11 Component Invariants.- 9.12 Loop Invariants.- 9.13 Memoization.- 9.14 Concluding Remarks.- A Syntax of COLD-1.- A.1 Introduction.- A.2 Lexical Units.- A.3 Grammar.- A.4 Operator Priorities and Associativities.- B Standard Library.- B.1 Items.- B.2 Ordered Items.- B.3 Booleans.- B.4 Natural Numbers.- B.5 Integer Numbers.- B.6 Enumerations.- B.7 Characters.- B.8 Tuples.- B.9 Unions.- B.10 Finite Sets.- B.11 Finite Bags.- B.12 Finite Sequences.- B.13 Finite Maps.- C Glossary of Terms.

Erscheint lt. Verlag 19.10.1994
Reihe/Serie Formal Approaches to Computing and Information Technology (FACIT)
Zusatzinfo XII, 425 p. 7 illus.
Verlagsort London
Sprache englisch
Maße 155 x 235 mm
Gewicht 674 g
Themenwelt Mathematik / Informatik Informatik Software Entwicklung
Informatik Theorie / Studium Compilerbau
Schlagworte algorithms • data structures • Design • Development • Formal Approaches to Computing and Information Technology (FACIT) • formal specification • language • NATURAL • Petri net • SIGNATUR • Software • Software Design • software development • Software Engineering / Softwareentwicklung • Softwareentwicklung • Turing • Verfeinerung (mathemat.)
ISBN-10 3-540-19902-0 / 3540199020
ISBN-13 978-3-540-19902-1 / 9783540199021
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
29,90