did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780521888134

Scientific Software Design: The Object-Oriented Way

by
  • ISBN13:

    9780521888134

  • ISBN10:

    0521888131

  • Format: Hardcover
  • Copyright: 2011-04-29
  • Publisher: Cambridge University Press

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $134.00 Save up to $49.58
  • Rent Book $84.42
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    SPECIAL ORDER: 1-2 WEEKS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?

Summary

This book concerns software design. Although many current discussions of scientific programming focus on scalable performance, this book focuses on scalable design. The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The work presents arguments for why these issues impact solution cost and time more than does scalable performance. The final chapter explores the question of scalable execution and shows how scalable design relates to scalable execution. The book's focus is on program organization, which has received considerable attention in the broader software engineering community, where graphical description standards for modeling software structure and behavior have been developed by computer scientists. These discussions might be enriched by engineers who write scientific codes. This book aims to bring such scientific programmers into discussion with computer scientists. The authors do so by introducing object-oriented software design patterns in the context of scientific simulation.

Author Biography

DR. Damian Rouson is the manager of the Reacting Flow Research Department at Sandia National Laboratories. He was formerly Section Head of Combustion Modeling and Scaling at die U.S. Naval Research Laboratory. He was assistant professor of mechanical engineering at the City University of New York, visiting assistant professor at the University of Maryland, and Special Scientist at the University of Cyprus. Damian Rouson received his Bachelors in Mechanical Engineering at Howard University and his Masters and PhD in Mechanical Engineering from Stanford University. DR. Jim Xia is-currently a software designer and tester at the IBM Canada Lab in Markham, Ontario, Canada. He received his PhD in Physics from the University of Western Ontario in 1997 DR. Xiaoffeng Xu is currently an Analyst at General Motors Corp. in Pontiac, Michigan. At this job he performs airflow and combustion CFD analysis to support base engine designs. He received his PhD in Mechanical Engineering (2003) from Iowa State, University, in Ames and is the author or co-author of 39 referred publications

Table of Contents

List of Figuresp. xi
List of Tablesp. xv
Prefacep. xvii
Acknowledgmentsp. xxi
Disclaimerp. xxii
p. 1
Development Costs and Complexityp. 3
Introductionp. 3
Conventional Scientific Programming Costsp. 7
Conventional Programming Complexityp. 11
Alternative Programming Paradigmsp. 19
How Performance Informs Designp. 24
How Design Informs Performancep. 25
Elements of Stylep. 27
The Object-Oriented Wayp. 31
Nomenclaturep. 31
Object-Oriented Analysis and Designp. 33
Encapsulation and Information Hidingp. 36
Wrapping Legacy Softwarep. 40
Composition, Aggregation, and Inheritancep. 48
Static and Dynamic Polymorphismp. 53
Oop Complexityp. 54
More on Stylep. 55
Scientific Oopp. 57
Abstract Data Type Calculusp. 57
Analysis-Driven Designp. 66
Design Metricsp. 69
Complexity Theoryp. 71
Information Theoryp. 73
Still More on Stylep. 77
The Tao of Soopp. 79
SOOP To Nuts And Boltsp. 83
Design Patterns Basicsp. 85
Essentialsp. 85
Foundationsp. 86
Building Architecturep. 87
Software Architecturep. 93
Scientific Software Architecturep. 98
Canonical Contextsp. 99
The Lorenz Equations: A Chaotic Dynamical Systemp. 100
Quantum Vortex Dynamics in a Superfluidp. 102
Burgers' Equation: Shock Formation and Dissipationp. 104
The Object Patternp. 107
The Problemp. 107
The Solutionp. 108
Fortran implementationp. 110
C++ Style and Toolsp. 116
C++ Implementation of Vortexp. 122
The Consequencesp. 127
Related Patternsp. 127
The Abstract Calculus Patternp. 129
The Problemp. 129
The Solutionp. 130
Fortran Implementationp. 131
C++ Implementationp. 137
The Consequencesp. 140
Related Patternsp. 141
The Strategy and Surrogate Patternsp. 143
The Problemp. 143
The Solutionp. 144
Fortran Implementationp. 146
C++Implementationp. 155
The Consequencesp. 164
Related Patternsp. 164
The Puppeteer Patternp. 167
The Problemp. 167
The Solutionp. 169
Fortran Implementationp. 170
Ac++Tool:2D Allocatable Arraysp. 185
C++Implementationp. 191
The Consequencesp. 199
Related Patternsp. 201
Factory Patternsp. 202
The Problemp. 202
The Solutionp. 203
Fortran Implementationp. 205
C++ Implementationp. 216
The Consequencesp. 226
Related Patternsp. 227
Gumbo Soopp. 229
Formal Constraintsp. 231
Why Be Formal?p. 231
Problem Statementp. 233
Side Effects in Abstract Calculusp. 237
Formal Specificationp. 238
Modeling Arrays with Oclp. 238
Hermeticityp. 239
Economyp. 242
The Shell Patternp. 244
An Assertion Utility for Fortranp. 245
Case Study: A Fluid Turbulence Solverp. 247
Mixed-Language Programmingp. 251
Automated Interoperability Toolsp. 251
Manual Interoperability: C++/Fortran 95p. 254
Case Study: ForTrilinos and CTrilinosp. 259
C Interoperability in Fortran 2003p. 261
Method Invocationp. 269
Tabulation, Construction, and Destructionp. 273
Polymorphism and Hierarchy Mirroringp. 278
Discussionp. 281
Multiphysics Architecturesp. 285
Toward a Scalable Abstract Calculusp. 285
Amdahl's Law and Parallel Efficiencyp. 286
Automatic Parallelization: Compiler Technologyp. 292
Directive-Based Parallelization: Openmpp. 295
Library-Based Parallelization: ForTrilinos and Mpip. 297
Intrinsic Parallelization: Fortran 2008 Coarraysp. 309
Case Studies: Multiphysics Modelingp. 317
Quantum Turbulence in Superfluid Liquid Heliump. 318
Lattice-Boltzman Biofiuid Dynamicsp. 320
Particle Dispersion in Magnetohy drodynamicsp. 325
Radar Scattering in the Atmospheric Boundary Layerp. 326
The Morfeus Frameworkp. 330
Mathematical Backgroundp. 335
Interpolationp. 335
Lagrange Interpolationp. 335
Linear Solversp. 337
Gaussian Eliminationp. 337
Lu Decompositionp. 342
Nonlinear Solversp. 343
Newton's Method in Idp. 343
Newton's Method in Multiple Dimensionsp. 344
Partial Differential Equationsp. 345
The Heat Equationp. 345
The Burgers Equationp. 346
Numerical Analysisp. 347
Finite Differencesp. 347
Numerical Methods for Differential Equationsp. 350
Unified Modeling Language Elementsp. 357
Use Case Diagramsp. 357
Class Diagramsp. 359
Classesp. 359
Relationshipsp. 362
Object Diagramsp. 366
Sequence Diagramsp. 367
Interactions and Messagesp. 368
Sequence Diagramsp. 368
The Object Constraint Languagep. 370
The Context of OCL Expressionp. 370
Initial Value Rulep. 371
Specifying Object Invariantsp. 371
Adding Pre- and Postconditions to Operationsp. 371
Bibliographyp. 373
Indexp. 379
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program