The major problems of modern software involve finding effective techniques and tools for organizing and maintaining large, complex programs. The key concept in modern programming for controlling complexity is abstraction; that is, selective emphasis on detail. This monograph discusses how the Ada programming language provides ways to support and exploit such abstraction techniques. The monograph is organized into two parts. The first part traces the important ideas of modern programming languages to their roots in the languages of the past decade and shows how modern languages, such as Ada, respond to contemporary problems in software development. The second part examines five problems to be programmed using Ada. For each problem, a complete Ada program is given, followed by a discussion of how the Ada language affected various design decisions. These problems were selected to be as practical as possible rather than to illustrate any particular set of language features. Much of this material has appeared previously in print. An earlier version of the first section, by Mary Shaw, was published as "The Impact of Abstraction Concerns on Modern Programming Languages" in the Proceedings of the IEEE special issue on Software Engineering, September 1980, Vol. 68, No. 9, pages 1119·1130. It is reprinted with the IEEE's permission. The article has been updated to reflect the revised Ada syntax and semantics.



Inhalt

I The Impact of Abstraction Concerns on Modern Programming Languages.- 1. The Impact of Abstraction Concerns on Modern Programming Languages.- 1.1 Issues of Modern Software.- 1.2 Historical Review of Abstraction Techniques.- 1.2.1 Early Abstraction Techniques.- 1.2.2 Extensible Languages.- 1.2.3 Structured Programming.- 1.2.4 Program Verification.- 1.2.5 Abstract Data Types.- 1.2.6 Interactions Between Abstraction and Specification Techniques.- 1.3 Abstraction Facilities in Modern Programming Languages.- 1.3.1 The New Ideas.- 1.3.2 Language Support for Abstract Data Types.- 1.3.3 Generic Definitions.- 1.4 Practical Realizations.- 1.4.1 A Small Example Program.- 1.4.2 Pascal.- 1.4.3 Ada.- 1.5 Status and Potential.- 1.5.1 How New Ideas Affect Programming.- 1.5.2 Limitations of Current Abstraction Techniques.- 1.5.3 Further Reading.- II Programming in Ada: Examples.- 1. Introduction to Example Programs.- 2. An Implementation of Queues.- 2.1 Description.- 2.2 Implementation.- 2.3 Program Text.- 2.4 Discussion.- 2.4.1 Use of Limited Private Types.- 2.4.2 Initialization and Finalization.- 2.4.3 Passing Tasks as In Out Parameters.- 2.4.4 Passing Discriminants to Tasks.- 2.4.5 The Elements Array.- 2.4.6 Remove as a Procedure.- 3. A Simple Graph Package Providing an Iterator.- 3.1 Description.- 3.2 Specifications.- 3.3 Program Text.- 3.4 Discussion.- 3.4.1 The Algorithm.- 3.4.2 Information Hiding.- 3.4.3 In/In Out Parameters.- 3.4.4 Using the Iterator.- 3.4.5 Iterators Versus Generic Procedures.- 3.4.6 Separate Compilation.- 4. A Console Driver for a PDP-11.- 4.1 Description.- 4.2 Implementation.- 4.3 Program Text.- 4.4 Discussion.- 4.4.1 Use of a Package to Surround the Task.- 4.4.2 Distinction Between Task Types and Tasks.- 4.4.3 Resetting and Terminating the Terminal Driver.- 4.4.4 Interfacing to Devices.- 5. Table Creation and Table Searching.- 5.1 Description.- 5.2 Implementation.- 5.3 Program Text.- 5.4 Discussion.- 5.4.1 Use of The Package.- 5.4.2 Use of the Search Function.- 5.4.3 Use of Packages.- 5.4.4 The Type of the Entries in the Table.- 5.4.5 Use of a Private Type for the Pointers to the Table.- 5.4.6 Nesting a Generic Package Within a Generic Package.- 5.4.7 String Comparisons.- 5.4.8 Use of Integers in Find.- 6. Solution of Laplace's Equation with Several Ada Tasks.- 6.1 Description.- 6.2 Implementation.- 6.3 Program Text.- 6.3.1 A Protected Counter Task Type.- 6.3.2 Parallel Relaxation Procedure.- 6.4 Discussion.- 6.4.1 Use of Shared Variables.- 6.4.2 Updates of Shared Variables From Registers.- 6.4.3 Generics and Generic Instantiation.- 6.4.4 Scheduling of Ada Tasks Onto Processors.- References.

Titel
Studies in Ada Style
EAN
9781468401394
Format
E-Book (pdf)
Veröffentlichung
06.12.2012
Digitaler Kopierschutz
Wasserzeichen
Dateigrösse
7.04 MB
Anzahl Seiten
104