Cart
Free Shipping in Australia
Proud to be B-Corp

Programming in Ada 2005 with CD John Barnes

Programming in Ada 2005 with CD By John Barnes

Programming in Ada 2005 with CD by John Barnes


$40.99
Condition - Good
Only 1 left

Summary

Combines a description of the language, including its predefined libraries, with an in-depth study of a number of areas of particular interest such as object-oriented techniques or concurrency. This book includes examples showing how the numerous features of Ada can be made to work together in practical situations.

Programming in Ada 2005 with CD Summary

Programming in Ada 2005 with CD by John Barnes

Ada has carved itself a niche in the safety-critical/embedded/real-time areas. It is the language of choice in application areas where reliability, long term maintainability and similar features are very important. Typical of such areas are defence embedded systems, railway signalling, air traffic control and so on.

Note especially that SPARK which is very successful for critical systems is based on Ada. No other language really has a suitable underlying structure.

This latest edition of the highly successful 'Programming in Ada' has been fully updated to the latest version of the language: Ada 2005.

Table of Contents

Foreword vii

Preface ix

Part 1 An Overview 1

1 Introduction3

1.1 Standard development 3

1.2 Software engineering 4

1.3 Evolution and abstraction 6

1.4 Structure and objectives of this book 8

1.5 References 10

2 Simple Concepts 11

2.1 Key goals 11

2.2 Overall structure 12

2.3 The scalar type model 17

2.4 Arrays and records 19

2.5 Access types 22

2.6 Errors and exceptions 23

2.7 Terminology 26

3 Abstraction 27

3.1 Packages and private types 27

3.2 Objects and inheritance 30

3.3 Classes and polymorphism 34

3.4 Genericity 39

3.5 Object oriented terminology 41

3.6 Tasking42

4 Programs and Libraries 45

4.1 The hierarchical library 45

4.2 Input output 47

4.3 Numeric library50

4.4 Running a program 52

P1 Magic Moments 57

Part 2 Algorithmic Aspects 61

5 Lexical Style 63

5.1 Syntax notation 63

5.2 Lexical elements 64

5.3 Identifiers 65

5.4 Numbers 67

5.5 Comments 69

5.6 Pragmas

6 Scalar Types 71

6.1 Object declarations and assignments 71

6.2 Blocks and scopes 74

6.3 Types 76

6.4 Subtypes 77

6.5 Simple numeric types 80

6.6 Enumeration types 86

6.7 The type Boolean 88

6.8 Categories of types 92

6.9 Expression summary 94

7 Control Structures99

7.1 If statements 99

7.2 Case statements 103

7.3 Loop statements 107

7.4 Goto statements and labels 113

7.5 Statement classification 113

8 Arrays and Records 115

8.1 Arrays 115

8.2 Array types 120

8.3 Array aggregates 125

8.4 Characters and strings 131

8.5 Arrays of arrays and slices 134

8.6 One-dimensional array operations 137

8.7 Records 141

9 Subprograms 147

9.1 Functions 147

9.2 Operators 154

9.3 Procedures 156

9.4 Named and default parameters 162

9.5 Overloading 164

9.6 Declarations, scopes and visibility 165

10 Access Types 171

10.1 Flexibility versus integrity 171

10.2  p; Pool specific access types 172

10.3 Null exclusion and constraints 180

10.4 General access types 183

10.5 Anonymous access types

10.6 Accessibility 187

10.7 Access parameters 189

10.8 Access to subprograms 193

P2 Sylvan Sorter 199

Part 3 The Big Picture 203

11 Packages and Private Types 205

11.1 Packages 205

11.2 Private types 210

11.3 Primitive operations and derived types 216

11.4 Equality 222

11.5 Limited types 226

11.6 Resource management 230

12 Overall Structure 235

12.1 Library units 235

12.2 Subunits 239

12.3 Child library units 240

12.4 Private child units 245

12.5 Mutually dependent units

12.6 Scope, visibility and accessibility250

12.7 Renaming 253

12.8 Programs, partitions and elaboration 257

P3 Rational Reckoner261

13 Object Oriented Programming 265

13.1 Type extension 265

13.2 Polymorphism 271

13.3 Abstract types and interfaces 279

13.4 Primitive operations and tags 282

13.5 Views and redispatching 288

13.6 Private types and extensions 294

13.7 Controlled types 300

13.8 Multiple inheritance

13.9 Multiple implementations 305

14 Exceptions 311

14.1 Handling exceptions 311

14.2 Declaring and raising exceptions315

14.3 Checking and exceptions 320

14.4 Exception occurrences 322

14.5 Exception pragmas

14.6 Scope of exceptions 326

15 Numeric Types 331

15.1 Signed integer types 332

15.2 Modular types 338

15.3 Real types 340

15.4 Floating point types 341

15.5 Fixed point types 344

15.6 Decimal types 349

16 Parameterized Types 351

16.1 Discriminated record types 351

16.2 Default discriminants 356

16.3 Variant parts 361

16.4 Discriminants and derived types366

16.5 Access types and discriminants 369

16.6 Private types and discriminants 375

16.7 Access discriminants 376

17 Generics 381

17.1 Declarations and instantiations 381

17.2 Type parameters 386

17.3 Subprogram parameters395

17.4 Package parameters 401

17.5 Generic library units 406

18 Tasking 409

18.1 Parallelism 409

18.2 The rendezvous412

18.3 Timing and scheduling 416

18.4 Protected objects 420

18.5 Simple select statements 427

18.6 Timed and conditional calls 431

18.7 Concurrent types and activation 434

18.8 Termination, exceptions and ATC 440

18.9 Signalling and scheduling 446

18.10 Summary of structure 453

19 Object Oriented Techniques 463

19.1 Extension and composition 463

19.2 Examples of interfaces 466

19.3 Mixin inheritance

19.4 Containers 468

19.5 Iterators 472

19.6 Object factories479

19.7 Controlling abstraction 491

20 Tasking Techniques

20.1 Dynamic tasks

20.2 Multiprocessors

20.3 Synchronized interfaces

20.4 Discriminants

20.5 Task termination

20.6 Clocks and timers

20.7 The Ravenscar profile

P4 Super Sieve497

Part 4 Completing the Story 501

21 Predefined Library503

21.1 The package Standard 503

21.2 The package Ada 506

21.3 Characters and strings 508

21.4 Numerics 522

21.5 Input and output 526

21.6 Text input output 531

21.7 Streams 541

21.8 Environment commands545

P5 Wild Words 547

22 Container Library

22.1 Organization of library

22.2 Doubly linked lists

22.3 Vectors

22.4 Maps

22.5 Sets

22.6 Indefinite containers

22.7 Sorting

22.8 Summary table

23 Interfacing 551

23.1 Representations551

23.2 Unchecked programming 556

23.3 The package System 558

23.4 Storage pools 560

23.5 Other languages 563

P6 Playing Pools 565

24 The Specialized Annexes 569

24.1 Systems Programming 569

24.2 Real-Time Systems 571

24.3 Distributed Systems 573

24.4 Information Systems 575

24.5 Numerics 575

24.6 High Integrity Systems 578

25 Finale579

25.1 Names and expressions579

25.2 Type equivalence 582

25.3 Overall program structure 585

25.4 Portability 594

25.5 Final thoughts 597

Appendices601

A1 Reserved Words, Attributes and Pragmas 601

A1.1 Reserved words 601

A1.2 Predefined attributes 602

A1.3 Predefined pragmas 608

A2 Glossary 611

A3 Syntax 615

A3.1 Syntax rules 615

A3.2 Syntax index 629

Answers to Exercises 637

Bibliography 685

Index 687

Additional information

GOR001940931
9780321340788
0321340787
Programming in Ada 2005 with CD by John Barnes
Used - Good
Hardback
Pearson Education (US)
2006-05-25
848
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Programming in Ada 2005 with CD