A Grid Software Process

In this chapter, we have addressed the problem of professional Grid software development and presented an agile Grid Software Process based on Extreme Programming. The software lifecycle model has been fully evaluated in the context of both small to medium-sized academic research and commercial projects. We have discussed the XP practices we follow, the ones we have slightly adapted and why, and also the practices we do not recommend. We have also discussed the abstractions and the design patterns on which our Grid software is based.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[3]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[4]  David W. Walker,et al.  Service Design Patterns for Computational Grids , 2003, Patterns and Skeletons for Parallel and Distributed Computing.

[5]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[6]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[7]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[8]  L. Smarr,et al.  Metacomputing : Siggraph'92 Showcase , 1992 .

[9]  Peter Z. Kunszt,et al.  Giggle: A Framework for Constructing Scalable Replica Location Services , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[10]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[11]  Mikio Aoyama Concurrent-development process model , 1993, IEEE Software.

[12]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[13]  Richard W. Selby,et al.  Microsoft Secrets-How the World''s Most Powerful Software Company Creates Technology , 1995 .

[14]  Warren Smith,et al.  Predicting Application Run Times Using Historical Information , 1998, JSSPP.

[15]  Hugo Krawczyk,et al.  Proactive Secret Sharing Or: How to Cope With Perpetual Leakage , 1995, CRYPTO.

[16]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[17]  Tom Gilb,et al.  Principles of software engineering management , 1988 .

[18]  Carl Kesselman,et al.  Implementing distributed synthetic forces simulations in metacomputing environments , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[19]  Chris Gane Rapid System Development: Using Structured Techniques and Relational Technology , 1989 .

[20]  Ian T. Foster,et al.  Grid Services for Distributed System Integration , 2002, Computer.

[21]  Iain D. Craig,et al.  Principles of Software Engineering Management by Tom Gilb with Susannah Pinzi, Addison-Wesley, Wokingham, UK, 442 pages (incl. index) (£17.95) , 1989, Robotica (Cambridge. Print).

[22]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[23]  Brian Henderson-Sellers,et al.  The object-oriented systems life cycle , 1990, CACM.

[24]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[25]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[26]  Gordon S. Blair,et al.  The impact of distribution on support for object-oriented software development , 1992, Softw. Eng. J..

[27]  S. Vinoski RISE++: a symbolic environment for scan-based testing , 1993 .

[28]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[29]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[30]  Michael A. Cusumano,et al.  How Microsoft builds software , 1997, CACM.

[31]  Linda Shafer,et al.  Structured rapid prototyping - an evolutionary approach to software development , 1989, Yourdon Press Computing series.

[32]  Carl Kesselman,et al.  Real-time analysis, visualization, and steering of microtomography experiments at photon sources , 2000 .

[33]  John Shalf,et al.  Numerical Relativity in a Distributed Environment , 1999, PPSC.

[34]  Gregor von Laszewski,et al.  Real-time Analysis, Visualization, and Steering of Microtomography Experiments at Photon Source , 1999, PPSC.

[35]  Stanislaw Jarecki,et al.  Proactive Secret Sharing and Public , 2008 .

[36]  Dennis Shasha,et al.  The many faces of consensus in distributed systems , 1992, Computer.

[37]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[38]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[39]  Sergei Gorlatch,et al.  Patterns and Skeletons for Parallel and Distributed Computing , 2002, Springer London.