Programming Methodology

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The second half of the twentieth century saw an astonishing increase in computing power; today computers are unbelievably faster than they used to be, they have more memory, they can communicate routinely with remote machines all over the world - and they can fit on a desktop. But, despite this remarkable progress, the voracity of modem applications and user expectations still pushes technology right to the limit. As hardware engineers build ever-more-powerful machines, so too must software become more sophisticated to keep up. Medium- to large-scale programming projects need teams of people to pull everything together in an acceptable timescale. The question of how pro gram­ mers understand their own tasks, and how they fit together with those of their colleagues to achieve the overall goal, is a major concern. Without that under­ standing it would be practically impossible to realise the commercial potential of our present-day computing hardware. That programming has been able to keep pace with the formidable advances in hardware is due to the similarly formidable advances in the principles for design, construction and organisation of programs. The efficacy of these methods and principles speaks for itself - computer technology is all-pervasive - but even more telling is that they are beginning to feed back and inftuence hardware design as weIl. The study of such methods is called programming methodology, whose topics range over system-and domain-modelling, concurrency, object orientation, program specification and validation. That is the theme of this collection.

Author(s): Annabelle McIver, Carroll Morgan (eds.)
Series: Monographs in Computer Science
Publisher: Springer
Year: 2003

Language: English
Pages: 455
Tags: Programming Techniques; Software Engineering; Programming Languages, Compilers, Interpreters

Front Matter....Pages i-xvii
Front Matter....Pages 1-4
Wanted: a compositional approach to concurrency....Pages 5-15
Enforcing behavior with contracts....Pages 17-52
Asynchronous progress....Pages 57-68
A reduction theorem for concurrent object-oriented programs....Pages 69-92
Abstractions from time....Pages 95-107
A predicative semantics for real-time refinement....Pages 109-133
Aspects of system description....Pages 137-159
Modelling architectures for dynamic systems....Pages 161-174
“What is a method?” — an essay on some aspects of domain engineering....Pages 175-203
Front Matter....Pages 205-209
Object-oriented programming and software development—a critical assessment....Pages 211-221
A trace model for pointers and objects....Pages 223-245
Object models as heap invariants....Pages 247-268
Abstraction dependencies....Pages 269-289
Type systems....Pages 293-307
What do types mean? — From intrinsic to extrinsic semantics....Pages 309-327
Front Matter....Pages 329-332
Automated verification using deduction, exploration, and abstraction....Pages 333-351
An experiment in feature engineering....Pages 353-377
High-level circuit design....Pages 381-412
Power analysis: attacks and countermeasures....Pages 415-439
A probabilistic approach to information hiding....Pages 441-460
Back Matter....Pages 461-469