How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions ...
详细信息
ISBN:
(纸本)0596510047;9780596510046
How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts to see problems through their eyes. This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.
The propensity to make programming errors and the rates of error detection and correction are dependent on program complexity. Knowledge of these relationships can be used to avoid error-prone structures in software d...
详细信息
Certain software abstractions help to automate load balancing during various math-physics calculations on a team of concurrently executing processors. These abstractions have been tested on a vortex method for computa...
详细信息
Certain software abstractions help to automate load balancing during various math-physics calculations on a team of concurrently executing processors. These abstractions have been tested on a vortex method for computational fluid dynamics. Experiments exhibited good parallel speedups of 24 and 3.6, respectively, on 32 processors of the Intel iPSC-1-a message-passing hypercube architecture-and on 4 processors of a Cray X-MP-a shared-memory vector architecture. The abstractions should apply to diverse applications, including finite difference methods, and to diverse architectures without requiring that the application be reprogrammed extensively for each new architecture.
Backtracking is a well-known technique for solving combinatorial problems. It is of interest to programming methodologists because 1) correctness of backtracking programs may be difficult to ascertain experimentally a...
详细信息
Development of application-specific wireless monitoring systems can benefit from concept reuse and design patterns can form the enabling medium for such reuse. This paper proposes a set of five fundamental node-level ...
详细信息
ISBN:
(纸本)9781424492893
Development of application-specific wireless monitoring systems can benefit from concept reuse and design patterns can form the enabling medium for such reuse. This paper proposes a set of five fundamental node-level patterns that resolve common problems when programming low-power embedded wireless sensing devices. The pattern set forms a framework that is aimed at ensuring simple and robust deployed systems. A qualitative evaluation is performed by identifying key design traits from several successfully deployed systems and linking these to elements of the framework.
Datatype-generic programs are programs that are parameterised by a datatype. Designing datatype-generic programs brings new challenges and new opportunities. We review the allegorical foundations of a methodology of d...
详细信息
ISBN:
(纸本)3540354662
Datatype-generic programs are programs that are parameterised by a datatype. Designing datatype-generic programs brings new challenges and new opportunities. We review the allegorical foundations of a methodology of designing datatype-generic programs. The effectiveness of the methodology is demonstrated by an extraordinarily concise proof of the well-foundedness of a datatype-generic occurs-in relation.
This paper traces the evolution of the first courses in undergraduate programs over the last twelve years. We identify fundamental weaknesses in the present sequence, and propose strengthening the introductory curricu...
详细信息
The main purposes in writing this paper are to discuss the importance of formal specifications and to survey a number of promising specification techniques. The role of formal specifications both in proofs of program ...
详细信息
This paper describes an approach to the methodology of answer set programming that can facilitate the design of encodings that are easy to understand and provably correct. Under this approach, after appending a rule o...
详细信息
This paper describes an approach to the methodology of answer set programming that can facilitate the design of encodings that are easy to understand and provably correct. Under this approach, after appending a rule or a small group of rules to the emerging program, we include a comment that states what has been "achieved" so far. This strategy allows us to set out our understanding of the design of the program by describing the roles of small parts of the program in a mathematically precise way.
暂无评论