Topics in Software Engineering
Architecture and Design of Internet Information Systems

UC Santa Cruz – CMPS 290G – Winter 2002
T Th 10-11:45AM

Cowell Administration 113


Required Texts:

·         Theodor Holm Nelson, Literary Machines, Mindful Press, Sausalito, 1993 (originally published in 1980).

·         Andy Oram, ed., Peer-to-Peer: Harnessing the Power of Disruptive Technologies, O’Reilly & Associates, Sebastopol, CA, 2001.

Recommended Text:

·         Balachander Krishnamurthy, Jennifer Rexford, Web Protocols and Practice: HTTP/1.1 Networking Protocols, Caching, and Traffic Measurement, Addison-Wesley, Boston, 2001.


Week 1 – Data representation:

Background reading (if you don’t have a solid understanding of TCP/IP and UDP):

·         Douglas E. Comer, “Internetworking with TCP/IP, Volume I, Principles, Protocol, and Architecture,” Prentice-Hall, 4th Edition, 2000.

Chapter 7: Internet Protocol: Connectionless Datagram Delivery

Chapter 13: Reliable Stream Transport Service (TCP)

Required reading:

·         C. Partridge and M. Rose, “A Comparison of External Data Formats,” in Message Handling Systems and Distributed Applications, ed. by E. Stefferud and O. Jacobsen, Elsevier-North Holland, 1989, pp. 233-246. ERES

·         Bert Bos, “XML in 10 Points,”

·         Norman Walsh, “What Do XML Documents Look Like?”,, October 3, 1998.

·         Rohit Khare, “I Want My FTP: Bits on Demand,” IEEE Internet Computing, Vol. 2, No. 4, July-Aug. 1998, pp. 88-91. IEEE Digital Library

·         Rohit Khare, “The Spec's in the Mail,” IEEE Internet Computing, Vol. 2, No. 5, Sept.-Oct. 1998, pp. 82-86. IEEE Digital Library

·         N. Freed, N. Borenstein, “Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies,” RFC 2045, November, 1996.

·         Rohit Khare, Adam Rifkin, “The Origin of (Document) Species,” in Proc. 7th Int’l World Wide Web Conference (WWW7), Brisbane, Australia, April 14-18, 1998, pp. 389-397.

Further reading:

·         Douglas Steedman, “Abstract Syntax Notation One (ASN.1): The Tutorial and Reference,” Technology Appraisals, London, 1990. ERES

·         Douglas E. Comer, Internetworking with TCP/IP, Volume 3, Client/Server Programming and Applications – Linux/POSIX Version, Prentice-Hall, 4th Edition, 2000.
Chapter 20: External Data Representation (XDR)
Chapter 21: Remote Procedure Call Concept (RPC)


Week 2 – Data modeling

·         Tim Howes, Mark Smith, Gordon Good, Understanding and Deploying LDAP Directory Services, MacMillan, 1999. Chapter 3 – “An Introduction to LDAP” ERES

·         Tim Berners-Lee, James Hendler and Ora Lassila, “The Semantic Web”, Scientific American, May 2001.

·         Tim Berners-Lee, Dan Connolly, Ralph R. Swick, “Web Architecture: Describing and Exchanging Data”, W3C Note 7 June 1999.

·         Richard Hull, Roger King, “Semantic Data Modeling: Survey, Applications, and Research Issues,” ACM Computing Surveys, Vol. 19, No. 3, 1987, pp. 201-260. Read only Sections 1 and 2, pp. 201-230. ACM Digital Library

·         Dan Brickley, R.V. Guha, “Resource Description Framework (RDF) Schema Specification 1.0,” W3C Candidate Recommendation,

Further reading:

·         F. Dawson, D. Stenerson, “Internet Calendaring and Scheduling Core Object Specification: (iCalendar),” RFC 2445, Nov. 1998.

·         Michael Arick, Libby Miller, “A hybrid RDF schema based on iCalendar,” June 24, 2001.



Week 3-4 – Software Architectural Issues:


·         M. Shaw, D. Garlan, Software architecture: perspectives on an emerging discipline, Mary Shaw, Prentice-Hall, Upper Saddle River, N.J., 1996. ERES
Chapter 1, Chapter 2, “Architectural Styles”
Section 7.3, “Adding Implicit Invocation to Traditional Programming Languages”

·         Bill Janssen, Mike Spreitzer, Dan Larner, Chris Jacobi, “ILU 2.0beta1 Reference Manual,”, 2000.
Section “ILU Concepts” only

·         M. Gudgin, M. Hadley, Jean-Jacques Moreau, H. F. Nielsen, “SOAP Version 1.2 Part 1: Messaging Framework,” W3C Working Draft, 17 December 2001.

·         William Ruh, Thomas Herron, Paul Klinker, IIOP Complete: understanding CORBA and Middleware Interoperability Addison Wesley Longman, 2000. ERES
Chapter 1, “An Introduction to IIOP”
Chapter 2, “Middleware and IIOP”

Week 4:

·         I. Foster, C. Kesselman, S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” (to be published in Intl. J. Supercomputer Applications, 2001)

·         Satyanarayanan, M., “Scalable, Secure, and Highly Available Distributed File Access,” IEEE Computer, May 1990, Vol. 23, No. 5.

·         Roy Fielding, Richard N. Taylor, “Principled Design of the Modern Web Architecture,” In Proc. 2000 Int’l Conference on Software Engineering (ICSE 2000), Limerick, Ireland, p. 407-416. ACM Digital Library

·         Tim O’Reilly, “Remaking the Peer-to-Peer Meme,” in Peer-to-Peer, ed. by Andy Oram, O’Reilly, Sebastapol, CA, 2001, pp. 38-58.

·         Adam Rifkin, Rohit Khare, “The Evolution of Internet-Scale Event Notification Services,” slides presented at the Workshop on Internet Scale Event Notification (WISEN), Irvine, CA, July 13-14, 1998.


Further reading:

·         Nelson Minar, Marc Hedlund, “A Network of Peers: Peer-to-Peer Models Throughout the History of the Internet,” in Peer-to-Peer, pp. 3-20.

·         Clay Shirky, “Listening to Napster,” in Peer-to-Peer, pp. 21-37.

·         Representational State Transfer (REST) Wiki

·         Cosm toolkit for developing open distributed computations (like Folding@Home, which uses Cosm)


Week 5 – Design Principles

·         Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, Prentice Hall, Englewood Cliffs, NJ, 1991. ERES
Chapter 2, “Software: Its Nature and Qualities,” pp. 17-36 (Sections 2.1 and 2.2)
Chapter 3, “Software Engineering Principles,” pp. 43-53 (Sections 3.1-3.4)

·         Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow “A Component and Message-Based Architectural Style for GUI Software.” IEEE Transactions on Software Engineering, Vol. 22, No. 6, June 1996, pages 390-406. IEEE Digital Library

·         A. Carzaniga, D.S. Rosenblum, and A.L. Wolf, “Design and Evaluation of a Wide-Area Event Notification Service” ACM Transactions on Computer Systems, Vol. 19, No. 3, Aug 2001, pp. 332-383. ACM Digital Library Read sections 1-4 inclusive (through page 348).

·         E. James Whitehead, Jr. “Control Choices and Network Effects in Hypertext Systems.” In Proceedings of Hypertext'99, The 10th ACM Conference on Hypertext and Hypermedia, Darmstadt, Germany, February 21-25, 1999, pages 75-82.

·         Ole Hanseth, Eric Monteiro, Morten Hatling, “Developing Information Infrastructure: The Tension Between Standardization and Flexibility,” Science, Technology, and Human Values, Vol. 2., No. 4, 1996, pp. 407-426. ERES


Further reading:

·         Rohit Khare, “Who killed Gopher? An extensible murder mystery,” IEEE Internet Computing, Vol. 3 No. 1, Jan.-Feb., 1999, pp. 81-84. IEEE Digital Library


Week 6 – Internet-Scale Identifier and Name Spaces

·         T. Berners-Lee, R. Fielding, L. Masinter, “Uniform Resource Identifiers (URI): Generic Syntax,” RFC 2396, August, 1998. (read to the start of Section 1.6)

·         K. Sollins, L. Mastiner, “Functional Requirements for Uniform Resource Names,” RFC 1737, December 1994.

·         Stuart Weibel, Erik Jul, Keith Shafer, “PURLs: Persistent Uniform Resource Locators,”

·         Theodor Holm Nelson, “Tumbling Through the Docuverse: Designer Addresses for Everything,” in Literary Machines, Mindful Press, Sausalito, 1993 (originally published in 1980), pp. 4/15-4/40.

·         E. James Whitehead, Jr., “An Analysis of the Hypertext Versioning Domain,” Ph.D Dissertation, UC Irvine, September, 2000. Chapter 5 only, “Address and Name Spaces”, pp. 68-73.

·         Arms, William Y., Christophe Blanchi, Edward A. Overly, “An Architecture for Information in Digital Libraries”, D-Lib Magazine, February 1997.

·         RealNames, “About Keywords”, Read, but do not write an evaluation (too short).


Week 7 – Design Spaces for Navigation in Large Information Spaces

·         Theodor Holm Nelson, Chapter 0 & part of Chapter 1, “Hyperworld, An Obvious Vision, The Sense of Wonderful Developments,” in Literary Machines, pp. 0/1-1/10.

·         Jeff Conklin, excerpt from “Hypertext: An Introduction and Survey,” IEEE Computer, Vol. 20, No. 9, Sept. 1987, pp. 17-20, 32-41, as published in Readings in Groupware and Computer-Supported Collaborative Work, ed. by Ronald M. Baecker, Morgan Kaufmann, San Mateo, 1993. ERES

·         R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk Nielsen, L. Masinter, P. Leach, T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1”, RFC 2616, June, 1999. (Sections 4-7, 9)

·         B. Krishnamurthy, Jennifer Rexford, “Web Protocols and Practice,” Addison-Wesley, Boston, 2001. (Chapter 6, “HTTP Protocol Design and Description”, pp. 173-207). ERES

·         Video clips from Douglas Engelbart’s 1968 Fall Join Computer Conference demonstration of NLS. Video available online at:










·         Rael Dornfest, Dan Brickley, “Metadata,” in Peer-to-Peer, pp. 191-202.


Further reading:

·         Anne J. Gilliland-Sweetland, “Defining Metadata”, in “Introduction to metadata: pathways to digital information,” ed. Murtha Baca. Getty Information Institute, 1998, pages 1-8. ERES

·         Z39.50 Maintenance Agency, “Information Retrieval (Z39.50): Application Service Definition and Protocol Specification” ANSI/NISO Z39.50-1995.


Week 8-9 – Design Spaces for Remove Collaborative Authoring of Information Spaces

Week 8: Collaborative Authoring:

·         C. A. Ellis, S. J. Gibbs, “Concurrency Control in Groupware Systems,” Proc. ACM SIGMOD'89 Conference on the Management of Data, Seattle, WA, 1989, pages 399-407. ACM Digital Library

·         “Wiki Wiki Web,” Read sections: One Minute Wiki, More About Mechanics, Why Wiki Works.

·         David Hauslaib, “Which Blog is Best for You?” WebReview, August 24, 2001,

·         E. James Whitehead, Jr., Yaron Y. Goland, “WebDAV: A network protocol for remote collaborative authoring on the Web,” Proc. Sixth European Conference on Computer-Supported Cooperative Work, Sept. 12-16, 1999, Copenhagen, Denmark, pages 291-310.

Week 8-9: Versioning, Configuration Management, Workspaces, Logical Change Tracking

Week 8:

·         Susan Dart, “Concepts in Configuration Management Systems,” In Proc. Third Int'l Workshop on Software Configuration Management (SCM-3), Trondheim, Norway, 1991, pp. 1-18. ACM Digital Library

Week 9:

·         David B. Leblang, “The CM Challenge: Configuration Management that Works,” in Configuration Management, ed. W. Tichy, 1994, pp. 1-37. ERES

·         Jim Whitehead, “DeltaV: Adding Versioning to the Web,”


Week 9: Hypertext Versioning:

·         Theodor Holm Nelson, Literary Machines, Sections 2.3 (“A True Storage System for Text and Other Evolving Structures” and 2.4 (“A Linking System for Text and Other Data”)

·         E. James Whitehead, Jr., “Design Spaces for Link and Structure Versioning.” In Proceedings of Hypertext'01, the 12th ACM Conference on Hypertext and Hypermedia, Århus, Denmark, August 14-18, 2001.


Further reading:

·         André van der Hoek, Antonio Carzaniga, Dennis Heimbigner, and Alexander L. Wolf, “A Testbed for Configuration Management Policy Programming,” to appear, IEEE Transactions on Software Engineering.

·         Christine M. Neuwirth, David S. Kaufer, Ravinder Chandhok, James H. Morris, “Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction,” Proc. CSCW'94, Chapel Hill, NC, Oct. 22-26, 1994, pages 145-152. ACM Digital Library

·         David L. Hicks, John J. Leggett, Peter J. Nürnberg, John L. Schnase, “A Hypermedia Version Control Framework,” ACM Transactions on Information Systems, Vol. 16, No. 2, April 1998, pp. 127-160. ACM Digital Library

·         Collaborative Authoring Resources


Week 10 – Design Spaces for Peer-to-Peer Systems

·         Gene Kan, “Gnutella”, in Peer-to-Peer, pp. 94-122.

·         Adam Langley, “Freenet”, in Peer-to-Peer, pp. 123-132.

·         Marc Waldman, Avi Rubin, “Trust”, in Peer-to-Peer, pp. 242-270.

·         Roger Dingledine, Michael J. Freedman, David Molnar, “Accountability,” in Peer-to-Peer, pp. 271-340.

Further reading:

·         James E. McDermott, John E. Phillips, “Administering Usenet News Servers,” Chapter 2: “The History of USENET News” (pages 13-19) Addison-Wesley Developers Press, Reading, Mass, 1997.

·, “Napster Messages,”, April 7, 2000.

·         Roger Dingledine, Michael J. Freedman, David Molnar, “Free Haven,” in Peer-to-Peer, pp. 159-187.

·         “What is Gnutella?”

·         Clip2, “Gnutella Protocol Specification v0.4”

·         Remaining chapters in Peer-to-Peer