+ All Categories
Home > Documents > ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG...

ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG...

Date post: 09-Feb-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
20
ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Frameworks, Middleware and Environments
Transcript
Page 1: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Frameworks, Middleware and Environments

Page 2: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE

Page 3: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Frameworks, Middleware and Environments

Edited by

ELiAS N. HOUSTIS and JOHN R. RICE Computer Sciences Department, Purdue University, West Lafayette, Indiana, U.S.A.

EFSTRATIOS GALLOPOULOS Department of Computer Engineering & Informatics, University of Patras, Patras, Greece

RANDALL BRAMLEY Department of Computer Science, Indiana University, Bloomington, Indiana, U.S.A.

SPRINGER SCIENCE+BUSINESS MEDIA, LLC

Page 4: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Library of Congress Cataloging-ill-Publication Data

Enabling technologies for computational science; frameworks, middleware and environments / edited by Elias H. Houstis ... [et al.].

p. cm. - (The Kluwer international series in engineering and computer science; SECS 548) Includes bibliographical references and index. ISBN 978-1-4613-7049-9 ISBN 978-1-4615-4541-5 (eBook) DOI 10.1007/978-1-4615-4541-5 1. Computer science. 2. Technology. 1. Houstis, E. N. (Elias N.) ll. Series.

QA76.E548 2000 004-dc21 00-022041

Copyright © 2000 by Springer Science+Business Media New York Originally published by Kluwer Academic Publishers in 2000 Softcover reprint of the hardcover 1 st edition 2000 AII rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photo-copying, recording, or otherwise, without the prior written permission of the publisher, Springer Science+Business Media, LLC.

Printed an acid-free paper.

Page 5: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Contents

Contributing Authors

Preface

Part I Problem Solving Environments: Enabling Technology for Compu­tational Science

1 Future Challenges for Scientific Simulation John R. Rice

1. Introduction 2. Frontiers of Simulation 3. Future Challenges for Scientific Simulation

2

Xlll

XVll

7

7 9

10

Workshop on Scientific Knowledge, Information and Computing 19 Randall Bramley, Bruce Char, Dennis Gannon, Thomas T. Hewett, Chris Johnson, and JohnR. Rice

1. Rationale for PSEs 19 2. Common Characteristics ofPSEs 21 3. Some Current Systems 22 4. Design Principles for PSEs 24 5. Future Directions 27 6. Findings 31 7. Funding Recommendation 31

3 Scalable Software Libraries and PSEs John R. Rice and Ronald F. Boisvert

33

1. Background 2. Recent Developments 3. Problems, Barriers, and Research Directions 4. Recommendations

33 36 37 40

Page 6: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

VI ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE 4 The 21st Century Emergence ofthe MPSE A.J. Baker

1. The Hardware Revolution 2. The Software Evolution 3. The Multi-Disciplinary Problem Solving Environment 4. Component-Based Software Prototypes 5. Prototype Component-Based mPSEs 6. A WWW Computational Mechanics Collaboratory 7. Summary

5

45

45 46 47 48 49 50 51

PPK: Towards a Kernel for Building PSEs 53 Sanjiva Weerawarana, Elias N. Houstis, John R. Rice, Ann Christine Catlin, Margaret Galtatzes, Cheryl Crabill, Shahani Markus and Tzvetan Drashansky

1. Problem Solving Process 54 2. Overview of PPK 54 3. PSE Architecture 55 4. Software Bus 56 5. Object Manager 57 6. Electronic Notebook 59 7. Configuring the PDELab PSE 61 8. Conclusion 63

6 Managing Specificity and Generality in PSEs 65 Donald Dabdub, K. Mani Chandyand Thomas T. Hewett

1. Introduction 2. Research Goals 3. The Experiment 4. Current Status of Air QUality Modeling 5. Design Tools and Methodologies 6. Components of the Problem Solving Environment 7. The Problem Solving Environment in the Classroom 8. Conclusions

7 Toward a Human Centered Scientific Problem Solving Environment Thomas T. Hewett and Jennifer L. DePaul

1. Introduction 2. Interfaces and Interactions 3. Conclusion

8 Problem Solving Environments and Symbolic Computing Richard J. Fateman

1. Introduction 2. Symbolic Components 3. Symbolic Systems as Glue 4. The Future 5. Acknowledgments

65 66 68 68 70 70 73 76

79

79 80 88

91

91 92 97

100 101

Page 7: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Contents vii

Part IT Domain Specific PSEs: Characteristics for Computational Science

9 SciNapse: A Problem Solving Environment for PDEs 109 Robert L. Akers, Elaine Kant, Curtis J. Randall, Stanly Steinberg and Robert L. Young

1. Introduction 109 2. Specifying PDE problems 112 3. Program refinement 114 4. The knowledge-based system 115 5. Algorithm Templates 118 6. Summary 120

10 The Linear System Analyzer 123 Dennis Gannon, Randall Bramley, Thomas Stuc~, Juan Villacis, Jayashree Balasub­raman ian, Esra Akman, Fabian Breg, Shridhar Dlwan and Madhu Govindaraju

1. Introduction 123 2. The LSA Problem Domain 124 3. LSA Usage 125 4. LSA Architecture 127 5. Related Work 131 6. Results and Future Work 131

11 VECFEM - Solver for Non-linear Partial Differential Equations Lutz Grosz

135

1. Introduction 2. Partial Differential Equations 3. Architecture of VECFEM 4. The VECFEM library 5. Efficiency and Scalability 6. Graphical User Interface xvem 7. Definition of the PDE 8. Code Generator 9. Example: Heat Driven Cavity 10. Outlook

12 Khoros: An IDE for Scientific Computing and Visualization Danielle Argiro, Steve Kubica, Mark Young and Steve Jorgensen

1. Introduction 2. Scientific Problem-Solving Operators 3. Visual Programming Environment 4. Software Development Environment 5. Program Services 6. The Polymorphic Data Model 7. Some Applications Using Khoros 8. More Information on Khoros

13 Workbench for Interactive Simulation of Ecosystems

135 136 137 137 138 139 139 140 141 143

147

147 148 150 151 152 153 156 157

159

Page 8: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

Robert G. Knox, Virginia L Kalb and Elissa R. Levine 1. Using Coupled Models 2. System Requirements 3. Summary

14

160 160 169

PELLPACK: A PSE for PDE Applications on Multicomputer Platforms 171 Elias N. Houstis, John R. Rice, Sanjiva Weerawarana, Ann Christine Catlin, P. Papa­chiou, KoYang Wang and Margaret Gaitatzes

1. Introduction 171 2. Software Architecture 172 3. The Programming Environment 177 4. The Execution Environment 183 5. The Development Environment 183

15 WBCSim: A Prototype PSE for Wood-Based Composites Simulations 187 Amit Goel, Constantinos Phanouriou, Frederick A. Kamke, Calvin J. Ribbens, Clifford A. Shaffer and Layne T. Watson

1. Introduction 187 2. User Interface 188 3. Software Architecture 190

·4. Simulation Scenario 193 5. Conclusion 195

Part III Frameworks, Middleware and Software: Enabling and Delivering the Problem Solving Power

16 A Problem Solving Environment for Network Centric Computing 203 Salim Hariri, Dongmin Kim, Yoonhee Kim, IlKyeun Ra, Haluk Topcuoglu and Jon Valente

1. Introduction 203 2. Software Development Issues 204 3. VOCE Architecture Overview 206 4. VDCE Application Development 208 5. Conclusion 210

17 Multiagent Recommender Systems in Networked Scientific Computing 213 Anupam Joshi, Naren Ramakrishnan and Elias N. Houstis

1. Introduction 213 2. PYTHIA 214 3. Strategies for Learning 217 4. Experimental Results 219 5. Discussion & Conclusions 222

18 Performance of Network-Based Problem-Solving Environments Rajini l. Balay, Mladen A. Vouk and Harry Perras

225

1. Introduction 2. Empirical Environment

225 226

Page 9: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Contents ix

3. Performance Issues 227 4. Summary 234

19 A Java Framework for Internet Distributed Computations B. Codenotti. M. Leoncini and G. Resta

237

1. Introduction 237 2. The Java Framework 238 3. Other global systems 241 4. Algorithmic paradigms 242 5. Local Search 243 6. Parallel Genetic Algorithms 244 7. Markov Chain Monte Carlo method 245 8. Problems and Techniques currently implemented 246 9. Conclusions 246

20 Network based PSEs for POE Computing 249 Shahani Markus. Sanjiva Weerawarana. Elias N. Houstis and John Rice

1. Introduction 249 2. Network-based PSE Scenarios 250 3. Web-based Computing Systems 251 4. The NetPellpack PSE Server 254 5. Experimental Performance 259 6. Conclusion 259

21 Data Mining Environment for Modeling Performance of Scientific Software 261 Elias N. Houstis. Vassilios S. Verykios. Ann Chistine Catlin. Naren Ramakrishnan and John Rice

1. Introduction 261 2. System Design 262 3. System Components 265 4. Case Study: Modeling the Performance of Elliptic POE Software 267 5. Conclusion 270

22 TechTALK: A Web Based System for Mathematical Collaboration Y. N. Lakshman. Michael R. Miller, Santiago V. Lombeyda

273

1. Introduction 2. Comp~ting and Collaborating on the Internet 3. TechTalk Behind the Scenes 4. Lessons Learnt and Future Plans

Part IV Steering, Generation and Validation: Tools for Building and Using PSEs

23

273 274 275 282

Visual Steering of the Simulation Process: NCAS 291 Shigeo Kawata. Choompol Boonmee, Akira Fujita. Takashi Nakamura. Takayuki Ter­amoto. Yoshikazu Hayase. Yasuhiko Manabe. Yoshio Tago and Masami Matsumoto

Page 10: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

x ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

1. Toward a Flexible Simulation Environment 291 2. NCAS: An Interactive Visual PSE 292 3. Data Structure and Problem Description in the NCAS System 292 4. Visualization of Process and Generated Program, and Steering of

Program Generation Process 295 5. Steering and Real Time Visualization 295 6. Conclusion and Future Work 296

24 Softlab: A Virtual Laboratory Framework for Computational Science 301 Ann Christine Catlin, Margaret Gaitatzes, Elias Houstis, Zidu Ma, Shahani Markus, John R. Rice, Nien-Hwa Wang and Sanjiva Weerawarana

1. Virtual Laboratories 302 2. SoftLab Infrastructure 303 3. BioSoftLab 305 4. Conclusion 311

25 Design Issues in a MATLAB-based Environment for Numerical Programs 315 L. DeRose, B. Marsolf, K. Gallivan, E. Gallopoulos and D. Padua

1. Introduction 315 2. FALCON Overview 317 3. Final comments and conclusion 325

26 The Ctadel Application Driver 327 Robert van Engelen, Lex Wolters and Gerard Cats

1. Introduction 2. The Ctadel application driver 3. Hirlam forecast system 4. Ctadel specification language 5. Results 6. Summary

27

327 328 329 330 334 336

Visual Steering of Grid Generation 339 Yao Zheng, Nigel P. Weatherill, Edward A. Turner-Smith, Michaill. Sotirakos, Michael J. Marchant and Obey Hassan

1. Introduction 339 2. The Parallel Simulation User Environment 340 3. Geometry Definition 342 4. Grid Generation 343 5. Visual Steering of Grid Generation 345 6. Conclusions 348

28 Aquarels : A PSE for Validating Scientific Software Olivier Beaumont, Jocelyne Erhel and Bernard Philippe

351

1. Overview of Aquarels 2. Computing determinants 3. Computing the matrix exponential 4. Sign of an arithmetic expression

352 355 356 357

Page 11: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Part V A PSE Bibliography

References

Index

Contents xi

369

399

Page 12: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Contributing Authors

Robert L. Akers, SciComp Inc., Austin, TX. Ersa Akman, Department of Computer Science, Indiana University, Bloomington, IN. Danielle Argiro, Khoral Research Inc., Albuquerque, NM. A.J. Baker, UT CFD Laboratory, University of Tennessee Knoxville, TN. Jayashree Balasubramanian, Department of Computer Science, Indiana Uni­versity, Bloomington, IN. Olivier Beaumont, Laboratoire LIP, Lyon Cedex, France. Ronald F. Boisvert, National Institute of Technology and Standards, Gaithers­burg,MD. Choompol Boonmee, Department of Electrical Engineering, Thammasat Uni­versity, Thailand. Randall Bramley, Department of Computer Science, Indiana University, Bloomington, IN. Fabian Breg, Department of Computer Science, Indiana University, Bloom­ington, IN. Ann Christine Catlin, Computer Science Department, Purdue University, West Lafayette, IN. Gerard Cats, Royal Netherlands Meteorological Institute, The Netherlands. K. Mani Chandy, Computer Science Department, California Institute of Tech­nology, Pasadena, CA. Bruno Codenotti, IMC-CNR, Pisa, Italy. Cheryl L. Crabill, Computer Science Department, Purdue University, West Lafayette, IN. Donald Dabdub, Department of Mechanical Engineering, University of Cali­fornia Irvine, CA. Jennifer L. DePaul, Department of Psychology/Sociology/Anthropology, Drexel University, Philadelphia, PA. Luiz A. DeRose, Advanced Computing Technology Center, IBM Research, Yorktown Heights, NY.

Page 13: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

xiv ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

Shridhar Diwan, Department of Computer Science, Indiana University, Bloomington, IN. Tzvetan Drashansky, Juno Online Services, Inc., New York, NY. Robert van Engelen, Computer Science Department, Florida State University, Tallahassee, FL. Jocelyne Erhel, INRIAlIRISA, Rennes Cedex, France. Richard J. Fateman, Computer Science Division (EECS), University of Cali­fornia, Berkeley, CA. Akira Fujita, Department of Electrical Engineering, Nagaoka University of Technology, Japan. Margaret G. Gaitatzes, T.J. Watson Research Center, IBM, Cambridge, MA. Kyle A. Gallivan, School of Computational Science & Information Technol­ogy, Florida State University, Tallahassee, FL. Efstratios GaIlopoulos, Department of Computer Engineering & Informatics, University of Patras, Greece. Dennis Gannon, Department of Computer Science, Indiana University, Bloom­ington, IN. Amit Goel, Virginia Polytechnic Institute & State University, Blacksburgh, PA. Madhu Govindaraju, Department of Computer Science, Indiana University, Bloomington, IN. Lutz Grosz, School of Mathematical Science, Australian National University, Australia. Salim Hariri, Department of Electrical & Computer Engineering, University of Arizona, Tucson, AZ. Yoshikazu Hayase, Department of Electrical Engineering, Toyama National College of Technology, Japan. Thomas T. Hewett, Department of Psychology/Sociology/Anthropology, Drexel University, Philadelphia, PA. Elias N. Houstis, Computer Science Department, Purdue University, West Lafayette, IN. Steve Jorgensen, Khoral Research Inc., Albuquerque, NM. Anupam Joshi, Department of Computer Science & Electrical Engineering, University of Maryland, Baltimore, MD. Virginia L. Kalb, NASA's Goddard Space Flight Center, Greenbelt, MD. Frederick A. Kamke, Virginia Polytechnic Institute & State University, Blacksburgh, PA. Elaine Kant, SciComp Inc., Austin, TX. Shigeo Kawata, Department of Electrical & Electronic Engineering, Utsunomiya University, Japan. Dongmin Kim, Department of Electrical Engineering & Computer Science, Syracuse University, Syracuse, NY. Yoohee Kim, Department of Electrical Engineering & Computer Science, Syra-

Page 14: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Contributing Authors xv

cuse, Syracuse, NY. Robert G. Knox, NASA's Goddard Space Flight Center, Greenbelt, MD. Alexy Kolesnikov, Ph.D. student, CFD Laboratory, The University of Ten­nessee Knoxville, TN. Steve Kubica, Khoral Research Inc., Albuquerque, NM. Mauro Leoncini, IMC-CNR, Pisa, Italy. Elissa R. Levine, NASA's Goddard Space Flight Center, Greenbelt, MD. Zidu Ma, Chemical Engineering Department, Purdue University, West Lafayette, IN. Yasuhiko Manabe, Department of Electrical Engineering, Numazu National College of Technology, Japan. Michael J. Marchant, Institute for Numerical Methods in Engineering, Uni­versity of Wales Swansea, UK. Shah ani Markus, Computer Science Department, Purdue University, West Lafayette, IN. Bret Marsolf, SAIC, Champaign, IL. Masami Matsumoto, Department of Electrical Engineering, National College of Technology, Japan. Takashi Nakamura, Department of Electrical & Electronic Engineering, Ut­sunomiya University, Japan. David Padua, Department of Computer Science, University of Illinois at Urbana-Champaign,IL. P. Papachiou, Central Library, Aegean University, Greece. Harry Perros, Department of Computer Science, North Carolina State Univer­sity, Raleigh, NC. Constantinos Phanouriou, Virginia Polytechnic Institute & State University, Blacksburgh, VA. Bernard Philippe, INRIAlIRISA, Rennes Cedex, France. Dkyeun Ra, Department of Electrical Engineering & Computer Science, Syra­cuse University, Syracuse, NY. Naren Ramakrishnan, Department of Computer Science, Virginia Tech, Blacksburgh, VA. Curtis J. Randall, SciComp Inc., Austin, TX. Giovanni Resta, IMC-CNR, Pisa, Italy. Calvin J. Ribbens, Virginia Polytechnic Institute of Technology, Blacksburgh, VA. John R. Rice, Computer Science Department, Purdue University, West Lafayette, IN. Clifford A. Shaffer, Virginia Polytechnic Institute & State University, Blacks­burgh, PA. Michail I. Sotirakos, Institute for Numerical Methods in Engineering, Univer­sity of Wales Swansea, UK.

Page 15: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

xvi ENABUNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

Stanley Steinberg, Department of Mathematics & Statistics, University of New Mexico, Albuquerque, NM. Thomas Stuckey, Department of Computer Science, Indiana University, Bloomington, IN. Yoshio Tago, Department of Computational Science, Kanazawa University, Japan. Takayuki, Teramoto, Department of Electrical & Computer Engineering, Tsuyama National College of Technology, Japan. Haluk Topcuoglu, Department of Electrical Engineering & Computer Science, Syracuse University, NY. Edward A. Turner-Smith, Institute for Numerical Methods in Engineering, University of Wales Swansea, UK. Jon Valente, Distributed Information Systems Branch, AF Research Labora­tory, Rome, NY. Vassilios S. Verykios, Department of Computer Science, Drexel University, Philadelphia, PA. Juan Villacis, Department of Computer Science, Indiana University, Bloom­ington, IN. Mladen A. Vouk, Department of Computer Science, North Carolina State Uni­versity, Raleigh, NC. Ko-Yang Wang, T.J. Watson Research Center, IBM, Hawthorne, NY. Nien-Hwa Wang, Chemical Engineering Department, Purdue University, West Lafayette, IN. Layne T. Watson, Department of Computer Science & Mathematics, Virginia Polytechnic Institute & State University, Blacksburgh, PA. Nigel P. Weatherill, Institute for Numerical Methods in Engineering, Univer­sity of Wales Swansea, UK. Sanjiva Weerawarana, T.J. Watson Research Center, IBM, Hawthorne, NY. Lex Wolters, Leiden Institute of Advance Computer Science (UACS), Leiden University, The Netherlands. Mark Young, Khoral Research Inc., Albuquerque, NM. Robert L. Young, SciComp Inc., Austin, TX. Yao Zheng, Taitech, Inc., NASA Glenn Research Center, North Olmsted, OH.

Page 16: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

Preface

The theme of this book is the rapidly evolving enabling technology of problem-solving environments (PSEs) for scientific computing. As defined in (Gallopoulos et. aI., 1991), a PSE is "a computer system that provides all the computational facilities necessary to solve a target class of problems". The book provides an assessment of the state-of-the-art and a road map to the future in the area of PSEs for scientific computing. The 1991 (Gallopoulos et. al., 1995), 1995 (Rice and Boisvert, 1996), and 1998 (Bramley et. aI., 1999) workshops on PSEs for physical simulations defined this research area and identified the pertinent research issues. The first workshop made several recommendations that led to the 1995 NSF initiative on PSEs. These efforts identified several PSE design goals together with the approaches for realizing them including: 1) reduce the difficulty of physical simulation by utilizing user natural languages, application specific terminology and automating many lower level computational tasks, 2) reduce development cost and time for complex scientific software by reusing large and small software components, raise the level of abstraction in software, create components for symbolic mathematics, geometric modeling, scientific visualization, etc., 3) increase the availability of scientific software components by providing a comprehensive catalog of com­ponents, a search and delivery system for components, a standard terminology and set of interfaces for them, 4) provide the infrastructure to build families of applications for science and engineering PSEs including a generic software architecture and associated kernel for such PSEs, facilities for the composition of software parts and the insertion of new parts, and facilities to measure and test properties of scientific software, 5) identify and foster a community ofPSE builders, 6) raise the reliability of physical simulations by allowing the reuse of reliable components and provide test beds for new components, 7) extend the lifetime of software by creating encapsulation methodology for legacy software, using interfaces that are programming language independent, using open ended type system for software parts, and provide extensive facilities for transforming

Page 17: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

xviii ENABUNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

types and representations. These workshops concluded that to realize these PSE design objectives require addressing the following research challenges:

1. Develop PSE architecture that supports the plug-and-play paradigm.

• Create a systematic framework with formally defined interfaces.

• Support dynamic assembly of software components.

• The framework must be open and tailored to the needs of scientific PSEs.

2. Exploit multi-level abstractions and complex properties of science.

• Recognize the pervasive multi-level structure in science and engi­neering objects.

• Allow the addition of more detail and precision at all levels.

• Incorporate properties like smoothness of functions, complexity of images, shapes of objects, performance of methods (precisely defined and measured).

3. Reuse of legacy scientific software.

• Encapsulation is possible for reasonably designed software pro­vided some key parts of legacy environment persist, e.g. language compiler for new hardware, compatible hardware.

• Recognize that there can be serious costs to using legacy software.

4. Create test beds for components and combinations.

• The plug-and-play paradigm gives a good start.

S. Create certain important difficult components.

• Geometric modeling, scientific visualization, symbolic mathemat­ics, scientific databases, general optimization, object property mea­surement.

6. Create knowledge bases for solvers and problems.

• Provide automation of (or help for) construction of the PSE, dy­namic selection of solvers, selection of hardware, suitability of out­put, management of long term computations.

The growth of computational power and networks suggests that computational science will shift from the current single physical model design to the design of a whole physical system with a large number of models interacting with each other through geometric and physical interfaces. For example, the design

Page 18: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

PREFACE XIX

of an engine requires that the different domain specific analyses involved in­teract in order to find the final solution. We refer to these mUlti-component based physical systems as multidisciplinary applications. The realization of this scenario will have significant impact in industry, education, and training. It will require the development of new algorithmic and software tools for what George Cybenko characterized as "large-scope" simulations in order to manage the complexity and harvest the power of the expected high performance com­puting and communications (HPCC) resources. A new challenge is to identify the framework for the numerical simulation of multidisciplinary applications and to develop the enabling theories and technologies needed to support and realize this framework in specific applications. We refer to this framework as a multidisciplinary PSE (MPSE) and assume that its elements are discipline specific PSEs. The MPSE design objective is to allow the "natural" specifi­cation of multidisciplinary applications and their simulation with interacting PSEs through mathematical and software interfaces across networks of hetero­geneous computational resources.

Enabled by HPCC advances, the future computational paradigm will be net­worked based where vital pieces of software and information used by a comput­ing process are spread across the network and are identified and linked together only at run time. This paradigm is in contrast to the current software usage model where one purchases a copy (or copies) of a general-purpose, monolithic software package for use on local hosts, possibly distributed on a collection of local hosts. With network accessible software repositories and networked computing (NC), the view of software changes from a product to a service. A network accessible repository provides access to up-to-date copies of soft­ware components on an as-needed basis, so called "disposable software". With networked computing, the software developer provides a computing service to interested parties over the network. The disposable software and NC models do not apply to all computing services; basic operating system and network access software, as well as low-level math routines that are tuned for the particular machine architecture, will be permanently resident on the user machine. One advantage ufthe NC model is that as the software provider improves upon soft­ware, there is no need to release new versions and upgrades. The user simply sees an improved service. The analogy could be to the phone system - changes in the software of the local switch are completely transparent to the user, save for the availability of additional or enhanced functionality. Similarly, the service provider can upgrade the hardware without affecting the user.

We envision that the network based paradigm of software usage will eventu­ally become fully automated and effectively transparent to the user. Achieving this will require research in 1) software selection: how someone specifies prob­lems, extracts content information, builds knowledge bases, infers answers, and applies collaborative reasoning to identify software resources to support

Page 19: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

xx ENABUNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE

problem solving are crucial to any NC development, 2) system software: in order for the networked computing paradigm to be realized, a) both low-level and high level library interfaces must be standardized, b) network based soft­ware delivery systems must be able to transparently resolve issues related to local and network computational resources, configurations and software licens­ing/accounting issues, c) the architectures of network servers and clients, GUIs of clients, client-server communication protocols, security and software relia­bility must be addressed in the context of scientific software, d) implementa­tion technologies such as WWW.CGI.Java.client-server computing, Java RMI (Remote Method Invocation), Joe (Java's CORBA compliant ORB (object re­quest broker», XML, Inferno, Oblets, Legion and Aglets must be evaluated, 3) software testing: the "network" is ideal for linking test suites in various scientific domains forming national repositories and making them available in the form of servers; reliable testing requires standardization of testing data and automatic ways to collect and analyze the results of this process, 4) scientific software servers: the effectiveness of any computing paradigm depends in great part on the availability of powerful problem solving capabilities for application domains (in the jargon of telematics, this is referred as content).

About the book The 28 papers in this book are grouped into four parts and the fifth part is an

extensive bibliography. Part I is "Problem Solving Environments: The Enabling Technology for Com­

putational Science" which presents eight papers that define problem solving environments and discusses where they came from and where they are going. These papers assess future application computing needs, identify the research directions in PSEs, argue that the evolution of scientific/engineering software infrastructure will be in the form of multi-disciplinary environments (MPSEs) operating on the Web, propose methodologies and software architectures for building adaptive and human centered PSEs, and finally describe the role of symbolic computing in scientific and engineering PSEs.

Part II is "Domain Specific PSEs: Characteristics for Computational Sci­ence" which presents seven papers describing PSEs in a variety of computational science areas. They provide instances of PSE designed for specific application or problem domain classes. From these, one can see the range of facilities and capabilities that PSEs should have, even though none of these yet possesses all the characteristics envisaged for PSEs.

Part III is "Frameworks, Middleware and Software: Delivering the Problem Solving Power" which presents seven papers describing aspects of the design and implementation of PSEs. The focus is on how to locate and organize the software and to utilize the diverse computing resources, especially in the highly

Page 20: ENABLING TECHNOLOGIES FOR COMPUTATIONAL SCIENCE978-1-4615-4541-5/1.pdf · viii ENABliNG TECHNOLOGIES FOR COMPUTATIONAL SCIENCE Robert G. Knox, Virginia L Kalb and Elissa R. Levine

PREFACE xxi

connected networks of the future. Common themes are user centered systems and the software components technology exemplified by software libraries and object oriented programming, with the ultimate goal to create PSEs for a broad range of applications and make them available as software servers over the Net. Three important design objectives ofPSEs which these papers address are 1) the visualization and steering of the phases of the solution process, 2) the efficient code generation on various machine architectures from a high level description of the application, and 3) the validation of numerical codes across different execution platforms and precision requirements.

Part IV is "Steering, Generation and Validation: Tools for Building and Using PSEs" which presents six papers discussing various facilities needed for PSEs that are somewhat domain specific and yet where some version of these facilities are needed for almost every computational science PSE.

Finally, Part V contains an extensive "Bibliography" around 440 reference items about PSEs which underscore the vitality of the field. It is an extension of the original bibliography created in 1990 as a follow on to the workshop that defined the PSE concept.

An examination of the topics and sources of these papers illustrates the ex­tremely broad and interdisciplinary nature of the creation and application of PSEs. The authors represent academia, government laboratories and indus­try, they come from eight distinct disciplines (chemical engineering, computer science, ecology, electrical engineering, mathematics, mechanical engineering, psychology and wood sciences) and eight countries (Australia, France, Greece, Italy, Japan, the Netherlands, the United Kingdom. and the United States). This breadth and diversity extends into the computer science aspects of PSEs. These papers involve very substantial amounts of ten specialties (artificial intelligence, computer human interaction. control. data mining. graphics, languages (design and implementation), networking. numerical analysis, performance evaluation. and symbolic computing).

Note: Throughout the book, all citations that appear in boldface refer to papers that are listed in PART V.

Acknowledgements First and foremost we should like to acknowledge the contributors for their

support and patience. and Ann Catlin for her immense dedication and effort for finalizing this book. Also. we extend our special thanks to Connie Wilson and Melissa Fearon for their contributions.

E. HOUSTIs, S. GALLOPOULOS, J. R. RICE AND R. BRAMLEY


Recommended