BUILDING APPLICATION FRAMEWORKS: OBJECT-ORIENTED FOUNDATIONS OF FRAMEWORK DESIGNAcknowledgements This book would not have been possible without the help of many great people. We are grateful to all the authors for their submissions and their patience, and to all the reviewers for valuable and useful reviews. Mohamed Fayad would like to take this opportunity to say that it was an honor to work with the other two editors for this book, Douglas Schmidt and Ralph Johnson, and with all the authors and reviewers. This was a wonderful and enjoyable project because of your tremendous help and extensive patience. The editors wish to thank all of those who have had a part in the production of this book. First, and foremost, we owe our families a huge debt of gratitude for being so patient while we have put their world in a whirl by injecting this writing activity into their already full lives. We also thank the various reviewers and editors that have helped in so many ways putting the book together. We thank our associates who have offered their advice and wisdom in defining the content of the book. We also owe a special thanks to those who have worked on the various projects covered in the case studies and examples. Mohamed Fayad: "A special thanks to my wife Raefa, my lovely daughters: Rodina and Rawan, and my son Ahmad for their great patience and understanding. Special thanks to my friend Mauri Laitinen for his encouragement and long discussion about the topics and the issues in this book. Thanks to all my students, in particular Amr Yassin and Jinkun Hu, David Naney, Sanjeev Sagen, and Adam Altman to my friend Jun Gu, Marshall Cline, W.T. Tsai, Solomon Gabraiel, Abd AlAziz Khamis, and Yasser alSafadi for their encouragement during this project, and to the Communications of ACM staff -- Diana Crawford, Tom Lambert, and Robert Fox for their support."
Contributors We thank all the following contributors for their tremendous effort and patience in making this volume a reality. We also thank all the contributors who participated in the review process for their valuable comments and excellent reviews. This volume provides a unique source and a wide spectrum of knowledge to aid software vendors, managers, developers, and users in their journey to manage, develop, adapt, and utilize application and enterprise frameworks. It is an appropriate book for a variety of graduate courses in advanced software engineering, reuse, framework technology and others. It is also a single source for conducting research in component-based reuse and object-oriented application and enterprise frameworks. It was a great honor to work with all of you. The volume was made possible only by the enormous efforts of the contributors; we sincerely thank all you:
Mehmet Aksit University of Twente, The Netherlands
Paulo S.C. Alencar University of Waterloo, Canada
Jagdish Bansiya Southern Polytechnic State University, USA
Dirk Bäumer Object Technology International, Switzerland
PerOlof Bengtsson University of Karlskrona/Ronneby, Sweden Lodewijk Bergmans University of Twente, The Netherlands
Joan Boone IBM Corporation, USA
Jan Bosch University of Karlskrona/Ronneby, Sweden R J A Buhr Carleton University, Canada
Gregory Butler Concordia University, Canada
Susan G. Carpenter IBM Corporation, USA
Marshall Cline MT Systems, USA
Don Cowan University of Waterloo, Canada
Pierre Dénommée Concordia University, Canada
Desmond F. D'Souza ICON Computing, USA
Jutta Eckstein Consultant, Germany
John M. Favaro Intecs Sistemi S.p.A, Italy
Kenneth R. Favaro Marakon Associates, UK
Marcus F. Fontoura PUC-Rio, Brazil
Garry Frioehlich University of Alberta, Canada
Alejandra Garrido University of Illinois at Urbana-Champaign, USA
Mike Girou MT Systems, USA
Michael Goedicke University of Essen, Germany
Guido Gryczan University of Hamburg, Germany
David Hamu TRW, USA
H. James Hoover University of Alberta, Canada
Eyõun Eli Jacobsen The Maersk Mc-Kinney Moller Institute for Production Technology, University of Southern Denmark, Denmark
Art Jolin IBM Corporation, USA
Steven R. Jones ISA Services, USA
Graham King Southampton Institute, UK
Rolf Knoll RWG GmbH, Germany
Kai Koskimies Tampere University of Technology, Finland
Mauri Laitinen Laitinen Consulting, USA
Dave Lavin Object Technology International, USA
Carola Lilienthal University of Hamburg, Germany
Ling Liu University of Alberta, Canada
Carlos J.P. Lucena PUC-Rio, Brazil
Melissa L. Major Software Architects, USA
Boris Magnusson, Lund Institute of Technology, Sweden
Francesco Marcelloni Universita` degli Studi di Pisa, Italy
Michael Mattsson University of Karlskrona/Ronneby, Sweden John D. McGregor Clemson University & Software Architects, USA
James C. McKim, Jr. Rensselaer Polytechnic Institute, USA
Torsten Meyer University of Essen, Germany
Granville G. Miller Make Systems, USA
Hafedh Mili Université du Québec à Montréal, Canada
Peter Molin University of Karlskrona/Ronneby, Sweden Torsten Nelson University of Waterloo, Canada
Palle Nowack The Maersk Mc-Kinney Moller Institute for Production Technology, University of Southern Denmark, Denmark
Wolfgang Pree University of Constance, Germany
David C. Raines Rensselaer Polytechnic Institute, USA
Paolo Predonzani DIST - Universita' di Genova, Italy
Dirk Riehle UBS AG, Switzerland
Gustavo Rossi University of La Plata, Argentina
Andreas Rüping Houari Sahraoui Centre de Recherche Informatique de Montréal, Canada
Hans Albrecht Schmid University for Applied Research, Konstanz, Germany
Paul Sorenson University of Alberta, Canada
Neelam Soundarajan Ohio State University, USA
Giancarlo Succi The University of Calgary, Canada
Bedir Tekinerdogan, University of Twente, The Netherlands
Andrea Valerio DIST - Universita' di Genova, Italy
Jean Vaucher Université De Montréal, Canada
Tullio Vernazza DIST - Universita' di Genova, Italy
Alan Cameron Wills TriReme International Ltd, UK
Wang Yingxu IVP Centre for Software Engineering, Sweden
Howard Young IBM Corporation, USA
Heinz Züllighoven University of Hamburg, Germany
Reviewers We would like to give a special thanks to all the reviewers for their useful reviews, helpful critiques, and invaluable insights that have resulted in a clearer presentation and more integrated book than anything that the editors could do alone. This manuscript is one of three-volume work on frameworks and has been thoroughly reviewed by more than 500 reviewers. Reviewer comments contributed immeasurably to the making of this book. As editors, we have been honored to work with all of you and let me assure you that all your valuable comments have led to improvements in the content and presentation of this book. Thank you all. We wish to recognize:
Amund Aarsten Politecnico di Torino, Italy
Gregory Abowd Georgia Institute of Technology, USA
Muhammad S. Al-Mulhem King Fahd University, Saudi Arabia
Khalid Al-Tawil King Fahd University, Saudi Arabia
Bruce Ambler Lucent Technologies, USA
Dana L. G. Anthony Knowledge Systems Corporation, USA
Semyon Axelrod Born, USA
Chris Baas IC Group, The Netherlands
Peter C. Bahrs IBM Corporation, USA
Guruduth Banavar IBM Corporation, USA
Leonor Barroca The Open University, UK
Naser S. Barghouti Bear Stearns & Co., USA
Len Bass SEI, USA
Derek Beatty Motorola, USA
Mark W Beall RPI, USA
Fábio Beckenkamp University of Constance, Germany
Kent Beck Consultant, USA
Peter Beijderwellen Origin/Nieuwegein B.V, The Netherlands
Kevin M. Benner United HealthCare Corporation, USA
Steve Berczuk Netsuite Development Corporation, USA
Katherine Betz IBM Corporation, USA
Kyle Brown Knowledge Systems Corp., USA
Bent Bruun Kristensen Odense University, Denmark
Davide Brugali Politecnico di Torino, Italy
Barrett Bryant The University of Alabama at Birmingham, USA
Frank Buschmann Siemens AG, Germany
Vinny Cahill Trinity College Dublin, Ireland
Giuseppe Calavaro N/A
Roy H. Campbell University of Illinois at Urbana-Champaign, USA
Marcelo Campo Braziel
C. Canal University of Malaga, Spain
Miriam A. M. Capretz Japan
Luiz Fernando Capretz Japan
Riccardo Capobianchi France
Denis Carcagno France
Todd Carrico N/A
K. Mani Chandy Caltech, USA
M. Chaudhry
University of MO, Kansas City, USA
Ian Chang Microsoft Corp., USA
Sally Chan Boeing, USA
D.J. Chen Tiawan
Sao-Jie Chen National Taiwan University, Tiawan
Paul Clements Software Engineering Institute, USA
Wim Codenie OO Partners, Belgium
Sholom Cohen SEI, USA
Chris Grimes USA
Robert M. Cubert University of Florida, USA
Arco Dalebout The Netherlands Bill Gardner University of Victoria, Canada
Dennis DeBruler Lucent Technologies, USA
Jean-Marc Debaud Fraunhofer Institute for Experimental Software Engineering, Germany
Chris Dee Logica UK
David E. DeLano AG Communication Systems, USA
Serge Demeyer University of Berne, The Netherlands
Adriano DeOliveira USA
Beat Liver Swiss TELECOM PTT, Switzerland
Brad A. Myers Carnegie Mellon University, USA
Martine Devos AGRO, Belgium
Wally Dietrich IBM Corporation, USA
Christophe Dony LIRMM, Montpellier-II University, France
Dov Dori Technion - Israel Institute of Technology, Israel
Juergen Dorn Technische Universitaet Wien, Austria
David Doscher Sematech, USA
Richard T. Due Consultant, Canada
Daniel Dvorak Jet Propulsion Lab, Caltech, USA
Ayman EL-Dessouki Electronics Research Institute, Egypt Tzilla Elrad Illinois Institute of Technology (IIT), USA
Jonathan Engelsma Motorola, USA
Hakan Erdogmus Canada
Karin Erni Denmark
Rob Farmelo HP, USA
David Feldt All State, USA
Shawn Ferriss Intel, USA
Paul A. Fishwick University of Florida, USA
Peter Fischer USA
Brian Foote University of Illinois at Urbana-Champaign, USA
Martin Fowler Consultant, USA
Michael Franz USA
Annick FRON Consultant, Frence
Lidia Fuentes University of Malaga, Span
Erich Gamma Object Technology International
Steve Garone International Data Corporation
Amy S. Gause Knowledge Systems Corporation, USA Andreas Gehmeyr Siemens AG, Germany
Patty Genualdi AG Communication Systems, USA
Debra Gesimondo Cambridge Technology Partners, USA
Greg P. Gibson AG Communication Systems, USA
Jim Godwin T&PC, USA
Michael Goedicke Informatik.uni-essen, Denmark
Adele Goldberg Neometron, USA Charles Weir UK
Christopher Moore Parcplace, USA Clemens Szyperski Australia
Sanjiv Gossain Cambridge Technology Partners, UK
Jeff Gray Vanderbilt University, USA
R. W. Griffiths The Open University, UK
Rachid GUERRAOUI EPFL
Mohsen Guizani King Fahd University, Saudi Arabia
Fuyin (F.) Guo Nortel Technology, Canada
Jurg Gutknecht ETH Zentrum, Switzerland
Robert Hanmer Lucent Technologies, USA
Neil Harrison Lucent Technologies, USA
Sandi Haselman Capital One Services, USA
Saniya Ben Hassen IBM Corporation, Europe
Rick Hayes-Roth Teknowledge, USA
Gorel Hedin Aarhus University, Denmark
Daniel Heiniger N/A
James E Heliotis RIT, USA
Pedro Rangel Henriques Universidade do Minho, Portugal
Sallie Henry Virginia Tech, USA
Jos van Hillegersberg The Netherlands
Robert Hodges Texas Instruments, USA
S. Holland The Open University, UK
Glenn Hollowell Texas Instruments, USA
Wade Holst University of Alberta, Canada
Koen De Hondt N/A
HEn-Hsin Huang ITT, USA
Eric Hughes The MITRE Corporation, USA
James C. Hu Entera, Inc., USA
Jinkun Hu Philips Research
Bruce Hyre Knowledge Systems Corporation, USA
Chris Jacobson GemStone Systems, USA
JAL Ghinwa Jalloul American University, Lebnan
David A. Janello AllState, USA
W.J. Jansen The Netherlands
Tom Jell Siemens AG, Germany
Jean-Marc Jezequel IRISA, France
Gary Johnston IBM Corporation, USA
Art Jolin IBM Corporation, USA
Don Jones PNL, USA
Wouter Joosen K.U.Leuven, Belgium
Dejan Jovanovic Newbridge Networks Corporation, Canada Joseph R. Kiniry Caltech, USA
Kaj Hoglund Finland
Raman Kannan Monmouth University, USA
Epaminondas Kapetanios Institute for Information Systems, Switzerland
Arthur M. Keller Stanford, USA
Rudolf K. keller University of Montreal, Canada
Thomas L. Keller PNL, USA
Liz Kendall Royal Melbourne Institute Of Technology, Australia
Ivan Kiselev N/A
Jørgen Lindskov Knudsen University of Aarhus, Denmark
Hartmut Kocher N/A
Jari Koistinen Hewlett-Packard Laboratories, USA
Peter Kriens AQute, Sweden
Dinesh C. Kulkarni IBM Global Services, USA
Daniel Kunzle N/A
Yau-Hwang Kuo Tiwan
Chris Laffra IBM Corporation, USA
Philippe Lalanda Thomson, France
Terence L. Lammers Boeing, USA
Joachim Laubsch Hewlett-Packard, USA
R. Greg Lavender University of Texas, USA
Doug Lea SUNY Oswego, USA
Franck Lebastard CERMICS, France
William G. Lederer MCS, USA
Sai Peck Lee N/A
Shiuh-Chu Lee Tiwan
Wenke Lee Columbia University, USA
Deborah Leishman IBM Corporation, USA
Richard M. Librizzi MRJ Technology Solutions, USA
Gary Lindstrom Uiversity of Utah, USA
Stan Lippman Walt Disney Feature Animation, USA
Steven Litvintchouk The MITRE Corporation, USA
Beat Liver USA
Cristina Lopes XEROX Palo Alto Research Center, USA
Claudio Lottaz N/A
Gillian Lovegrove Staffordshire University, UK
Bruce W. Lowther Micron Technology, USA
Wolfgang Lugmayr Technical University of Vienna, Austria
Mats Lundeborg Entra Business Objects, Sweden
Zakaria MAAMAR Defence Research Establishment Valcartier, Canada
M.D. Macgregor The Open University, UK
Stuart Maclean Consultant, UK
Kai-Uwe Maetzel UBS Information Technology Lab (Ubilab), Switzerland
Silvano Maffeis SoftWired, Switzerland
Raam Mahadevan Boeing, USA
Nadine Malcolm Ascent Logic Corporation, USA
Vishv Malhotra <vmm@eecs.utas.edu.au>,
Dino Mandrioli Politecnico di Milano, Italy
Pierre Marcenac France
Robert Martin Object Mentor Inc, USA
Alfredo Matteo Centro ISYS, Venezuela
Paul E. McKenney Sequent Computer Systems, USA
Anneliese von Mayrhauser Colorado State, USA
Christine McKenna Teknowledge, USA
Uday Mehta Altasoft, USA
Theo Dirk Meijler Baan Labs, The Netherlands
Giuseppe Menga Politecnico di Torino, Italy
Tim Menzies University of NSW, Australia
Bruno Messmer Swiss Telecom, Switzerland
Torsten Meyer informatik.uni-essen, Denmark
Michel Tilman N/A
Joaquin Miller Systemhouse, USA
Naftaly H. Minsky Rutgers, USA
Daniel Miranker University of Texas, USA
Anil Mishra AT&T, USA
Rokia Missaoui UQAM, Canada
Ralf Moeller Informatik.uni-hamburg, Denmark
Hanspeter Moessenboeck University of Linz, Austria
Richard Mraz USAFA, USA
Rudolf Mueller Maastricht University, The Netherland
Vijay Musuvathy TPC/Metamor Worldwide, USA
Sanjay Nadimpall Sequent Computer Systems, USA
Mark W Beall RPI, USA
Pascal NEGROS Frence
James Newkirk Object Mentor, USA
Jill Nicola JEN Consulting, USA
Pekka Nikander Finland
Maria Noack Motorola Somerset, USA
Aruna Nookala 3M, USA
Charles Norton NASA/Jet Propulsion Laboratory (JPL), USA
Kurt Nxrmark Aalborg University, Denmark
Moira Norrie ETH Zentrum, Switzerland
BELKHATIR Noureddine France
Jeff Oakes The Hartford, USA
Alan O'Callaghan De Montfort University, UK
Markku Oivo VTT Electronics, Finland
Don Olson AGCS, USA
Bill Opdyke Lucent Technologies/Bell Labs Innovations, USA
Francois PACHET Universite P.& M. Curie, France
J.-L. Pacherie France
Partha pratim Pal BBN
Rajendra Panwar IBM Corporation, USA
Juha Parssinen Finland
Peter F. Patel-Schneider Bell Labs, USA
Dilip Patel South Bank University, UK
Adam Pease Teknowledge, USA Amund Aarsten Politecnico di Torino, Italy
Mor Peleg Technion - Israel Institute of Technology, Israel
Louis Perrochon Stanford University, USA
Yardena Peres IBM Corporation, USA
Robert Pfeiffer Reflective Software Engineering, USA
Cuno Pfister Oberon microsystems, Inc., Switzerland
Frantisek Plasil Charles University, Czech Republic
Andy Pols Consultant, UK
Kevin Pollari Anderson Consulting, USA
Diana Popova University of Victoria, Canada
Tom Price Braziel
Andreas Prodromidis Columbia University, USA
Ali Rafiq Nokia Telecomunications PTY LTD, Australia
Bindu Rama Rao MCS, USA
Ammar Rayes Bellcore, USA
David Rhodes Rhodes Consulting & Technologies, USA
Chris Richardson Component Systems, USA
Adam Rifkin CalTech, USA David C. Rine George Mason University, USA Linda Rising AG Communication Systems, USA
Don Roberts University of Illinois at Urbana-Champaign, USA
Francisco Assis Rosa INESC, Portugal
Bob Royce Arbor Intelligent Systems
Daniel Roy SEI, USA
Pierre ROY LAFORIA, France
Richard M. Rubin Consultant, USA
Raj Saksena Canada
Albert Schappert Siemens AG, Germany Alice Schafer The MITRE Corporation, USA
Karen L. Schuchardt PNL, USA
Hans Albrecht Schmid University of Applied Research, Germany
Klaus Schmid Fraunhofer Institute for Experimental, Germany
Robert Schettini American Management Systems, USA
Ahmed Seffah Computer Research Institute of Montreal , Canada Andreas Roesel ABB Corporate Research Heidelberg, Germany Arnon Rosenthal The MITRE Corporation, USA
Sanjeev Segan Seimens, USA
Frank Seliger IBM Deutschland Entwicklung GmbH, Germany
Micaela Serra University of Victoria, Canada
Muhammad Shafique King Fahd University, Saudi Arabia
Mark Shephard RPI, USA
Dilma Menezes da Silva University of São Paulo, BRAZIL Antonio Rito da Silva INESC, Portugal
Ian Smith N/A
Savitha Srinivasan IBM Corporation, USA
Verlyn M Johnson IBM Corporation, USA
Chris Stary Uinversity of Linz
Jim Stafford RABA Technologies, USA
Ruth Stalker N/A
Patrick Steyaert MediaGeniX, Belgium
Duane Szafron University of Alberta, Canada
Oryal Tanir Bell Canada, Canada
Hugh L. Taylor PNL, USA
Jean Tessier AT&T, USA
Ron Ten-Hove USA
J. Patrick Thompson Microsoft, USA
Jon E. Thrane Computas AS, Norway
Michel Tilman Unisys Belgium
Frank Tip IBM Corporation, USA
Ashutosh Tiwary Boeing, USA Steve Tockey Rockwell Avionics & Communications, USA
J. M. Troya University of Malaga, Spain
Pei-Lei Tu IBM Corporation, USA
Paul Turner Persistence, USA
Greg Utas Nortel, USA
Stefan Vaillant Nokia Telecommunications GmbH, Germany
Arlette Vercammen OO Partners
John Vergo IBM Corporation, USA
Ufuk Verun Tellabs,
Sergio Viademonte Universitaet Konstanz, Germany
Kateel Vijayananda Swisscom AG, Switzerland
Harrick M. Vin University of Texas, USA
Steve Vinoski HP Lab, USA
Kerstin Voigt California State University, San Bernardino, USA
Pnina Vortman IBM Corporation, USA
Mark Wai Frontier Systems Architecture, USA
Eugene Wallingford Univ. of Northern Iowa, USA
Jin Wang Lucent Technologies, USA
Yung-Hsin Wang Tatung Institute of Technology, Taiwan
Eric Wegscheider Objectquest, USA
Peter Wegner Brown University, USA Liu Wenyin Tsinghua University, China
Roger K. White Hekimian Laboratories, USA
Joseph White USA
Gio Wiederhold Stanford University, USA
Adam Wildavsky Tame Software Inc., USA
Laird C. Williams Rockwell International, USA
Bob Wilhelm Objective Control, USA
Mark W. Windholtz ObjectWind, USA
Jim Withey Carnegie Mellon University, USA
Alexander Wong Intel Technology CAD, USA John C. Xiao IBM Corporation, USA
Bobby Woolf Consultant, USA
Mark Woodman The Open University, UK
Hiroyuki Yamada Ehime University, Japan
DerShung Yang Altasoft, USA
Amr F. Yassin University of Nevada, USA
Barbara Yates Bytesmiths, USA
George M. Yee Nortel Networks, Canada
Jimmie Young Consultant, USA
Shyan-Ming Yuan Tiewan
Bernard P. Zeigler University of Arizona, USA
Dan Zimmerman Caltech, USA
Gabi Zodik IBM Corporation, USA
All the reviewers without exception deserve awards for their excellent comments and timely reviews. As I promised, we will award ten reviewers a copy of this book. These reviewers were drawn randomly by my youngest daughter Rawan (five years old). This is just a token of appreciation to all the reviewers. Thank you all for remarkable contributions (your reviews) to this book.
Mehmt Aksit University of Twente, The Netherlands
Jan Bosch University of Karlskrona/Ronneby, Sweden Gerald Baumgartner Ohio State University, USA
Hernán Austudillo R. Universidade de São Paulo, Barzil
Raman Kannan Monmouth University & GovPx, USA
Franklisek Plasil Charles University, Czech Republic
Dirk Riehle UBS AG, Switzerland
Adam Rifkin Caltech, USA
Linda Rising AG Communication Systems, USA
Dilma Memzes da Silva University of São Paulo, BRAZIL
We are grateful to all the authors for their submission and their patience, and review committee members for valuable and useful reviews on all the submissions for ACM Computing Surveys symposium. In particular, we wish to recognize: Liz Kendall, Royal Melbourne Institute of Technology - RMIT (Australia), Juergen Dorn, Technische Universitaet Wien (Austria), Dilma Menezes da Silva, University of São Paulo (Brazil), Paulo S.C. Alencar, University of Waterloo (Canada), Zakaria Maamar, Defence Research Establishment Valcartier (Canada), Diana Popova (Canada), Giancarlo Succi, University of Calgary (Canada), Jørgen Lindskov Knudsen, University of Aarhus (Denmark), Jean-Marc Jezequel, IRISA/CNRS (Frence), Francois Pachet, SONY CSL (France), Jutta Eckstein (Germany), Liu Wenyin, Technion (Israel) & Tsinghua University (PR China), Alberto Coen-Porisini, Politecnico di Milano (Italy), Davide Brugali, Politecnico di Torino (Italy), Andrea Valerio, Universita` di Genova (Italy), Mehmet Aksit, University of Twente (The Netherlands), Lidia Fuentes Fernandez, Universidad de Malaga (Spain), Jan Bosch, University of Karlskrona/Ronneby (Sweden), Gorel Hedin, Lund University (Sweden), Rachid Guerraoui Swiss Federal Institute of Technology - SFIT (Switzerland), Ehab Al-Shaer, DePaul University (USA), Guruduth Banavar, IBM TJ Watson Research Center (USA), Sally Chan, Boeing Commercial Airplane (USA), Art Jolin, IBM (USA), Raman Kannan, Monmouth University & GovPx (USA), Dinesh Kalkarni, IBM Global Services (USA), Granville Miller, Make Systems (USA), Partha Pratim Pal, BBN Corp. (USA), Dave Rine, George Mason University (USA), Mark Wai, Frontier Systems Architecture (USA), and Jimmie Young Selectrica (USA). We would like to thank the staff of ACM Computing Surveys for their help in producing this symposium. We are very grateful to the editors at John Wiley & Sons. Thanks to Marjorie Spencer for her belief and support of the book, to Margaret Hendrey for her patience and for helping me to bring this text together, and to Marnie Wielage for overseeing the production of such a gigantic project. |
ISBN 0-471-24875-4 688 pages September, 1999
| |||||
|
Copyright © 1999 John Wiley & Sons, Inc. Wiley Computer Publishing | ||||||