Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Scientific Software Design

Scientific Software Design

Scientific Software Design

The Object-Oriented Way
Damian Rouson, Sandia National Laboratories
Jim Xia, IBM Canada Lab in Markham
Xiaofeng Xu, General Motors Corp.
June 2014
Paperback
9781107415331

    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.

    • This book discusses object-oriented programming in Fortran 2003 and C++
    • This text is designed to help students and professionals solve complex computer problems
    • Each chapter has a set of exercise problems

    Reviews & endorsements

    "This book makes a good case for the usefulness of design patterns and object-oriented programming for maintainable code, but disregards runtime performance and scienti!c libraries...one of those books that I wish I’d read earlier in my programming career." - Ramses van Zon, Computing in Science and Engineering, Jan/Feb 2012

    "Scientific software must be consciously designed to grow with a research program and the hardware that supports the research program. And how to do that is precisely what the authors in this book have shown." - Dan Nagel, Scientific Programming

    See more reviews

    Product details

    June 2014
    Paperback
    9781107415331
    406 pages
    254 × 178 × 21 mm
    0.7kg
    119 b/w illus. 9 tables 23 exercises
    Available

    Table of Contents

    • Preface
    • Part I. The Tao of Scientific OOP:
    • 1. Development costs and complexity
    • 2. The object-oriented way
    • 3. Scientific OOP
    • Part II. SOOP to Nuts and Bolts:
    • 4. Design patterns basics
    • 5. The object pattern
    • 6. The abstract calculus pattern
    • 7. The strategy and surrogate patterns
    • 8. The puppeteer pattern
    • 9. Factory patterns
    • Part III. Gumbo SOOP:
    • 10. Formal constraints
    • 11. Mixed-language programming
    • 12. Multiphysics architectures.
    Resources for
    Type
    Code Examples
    Size: 509.32 KB
    Type: application/gzip
      Authors
    • Damian Rouson , Sandia National Laboratories

      Damian Rouson is currently the manager of the Reacting Flow Research Department at Sandia National Laboratories. He was formerly Section Head of the US Navy Research Laboratory Division of Combustion Science and Modeling. He was Assistant Professor of Engineering at the City University of New York and Visiting Assistant Professor at the University of Maryland. Damian Rouson received his Masters and Ph.D. in Mechanical Engineering from Stanford University.

    • Jim Xia , IBM Canada Lab in Markham

      Dr Jim Xia is currently a software designer and tester at the IBM Test Laboratory in Markham, Ontario, Canada. He received his Ph.D. in Physics from the University of Western Ontario in 1997.

    • Xiaofeng Xu , General Motors Corp.

      Dr Xiaofeng Xu is currently a Software Analyst at General Motors Corp. in Pontiac, Michigan. In this job, he performs airflow and combustion CFD analysis to support base engine designs. He received his Ph.D. in Mechanical Engineering (2003) from Iowa State University in Ames, IA and is the author or co-author of 39 refereed publications.