CS 446 Fall Quarter Notes 8 1996 Gio Wiederhold Experimental Seminar on Large Scale Software Construction. David Luckham:
XOpen: British Organization to develop and promote standards to overcome IBM hegemony. Products can be branded, implying conformance witha relevant standards. Documented i > 800 pages.

Example X/OPen Distributed Transaction Processing Model. Is published
Builta model of that in Rapide. Model has backbone -- Infrastructure. Interfaces are HLA. of significance to Defens Simulation Office (DMSO).. Requests for data are by subscripion, Data providers publish; infrastructure makes hookups. Uses CORBA for interface implementation.
Rapide allow recognition of error in specs. Errors werefound in sequencing, leading to incorrect interpretation. Other errors were in handoff between divesting requests and replacers. Most are found by fingertracing, still want model to poit it out.
Model differs from prototype, also in cost. Reduce the funding of the messeger. Use the money instead to build a (buggy) prototype with continous incremental fixing. Decision managers never read the specification AMA for HLA.

X/Open Architecture

  1. Atomicity: Devolve responsibility on Transaction managr, (Creates and holds tranasction IDs). especially for new reources.

    Backbone: developement Process:

    1. Requirements, from customers (text, few tools to next phase:)
    2. Design and specifcation; for engineers.
    3. Implementation,costly,t ypically millions (e.g.. for --- modest -- Stanford finacial likely 15 people at $150,000 one year = $2,000,000)
    4. Test , the main iteration points to above
    5. Field and maintenance (not accounted for typically.)
    Green= important, but scientifically weak stuff: . Purple= computer science contribution Then review problem: Example FAA ATCS
    Discussion points
    1. . Formal specifications are difficult to read for the user, and also difficult to write for the specifier. Can an intermediate graphical representation help?
    2. . User needs must be satisfied. Who is the user? The clerk at a terminal / the customer talking to the clerk / the manager of the clerk / the investor / an auditor / a manager / a finacial controller ?
    3. Feedback loops are needed, at least from the user. How can they obtained in the implementation test loop.
    4. Maintenance is costly. Bug-fixing is some fraction of maintenance, but most changes are in response to user requests. Most imposed by changes in the external world>. Software flexibility encourages changes, also enables changes and causes uncertain aspects (at design time) to be relegated to software.
    5. Where is the. Waterfall model valid? For Boeing? For Stanford ITSS? for Dijkstra's GCD? how far does it scale up or down?
    6. Spiral model provides feedback. at what time/cycle? When is the spiral big enough for use and real feedback? The spiral model assumes smooth growth. How far can software grow? Does SW grow gradually (like a balloon) or by adding components (like a house) ? Does the spiral model work for component addition?
    7. Prototyping (needs more discusion)
    8. Software by composition of modules. Requires module suppliers and and module users. Hard to get one going without the other. Also interface standards. Concerns:
      • Module sizes: 1 page, 1 person 15 minutes.
      • For hierarchical composition the function of lower-level modules should be clear.
      • Invocation of modules By name? Isolation, black box, feedback Much more understanding is needed here.
      • What is the relation of Object-oriented programming to modules? Similarty in concepts as encapsulation, but not in scale . Also needs further discussion.
    9. . Services. Alternative to modules for composition: Clarify the distinction. Examples: now are databases and Graphical User Interfaces, Project choices - The main input for a grade in this course. 1. Readings and reports by participants. Select either: a. A book from the forthcoming reading list b. A set of papers on some topic, maybe one presented by a speaker The format of a report should include . .1 a title .2 a descriptive summary .3 a concise statement of the hypothesis for the concept .4 how the authors(s) demonstate or pove the hypothesis .5 a critique .6 a suggestion on how the points being made could be shown to be valid (thatís close to the design of a thesis... or a CS293 course) Other projects I seek candidates for: 2. Creation of a course syllabus for 1995, based on what we cover, read and learn. 3. Creation of an annotated reading list for future courses. 4. A report to deal with issues raised by a speaker(s), I am thinking specifically of the LAIR presentation on Oct 10th. 5. Other suggestions by you. Please let my know, by email to Gio@cs of your choice, preferably by Oct 19th. You should be prepared to present your project to the class -- about 10 to 15 minutes, although it is unlikely that everybody will get a chance. ---------------------------------------------------------------------------------------- New stuff -- changed schedule Oct 3: Discussion on project choices: Design or Readings and presentation. Megaprogramming Concepts (The original topic, Example of LSSW is deferred to Oct.10th) Handout 1:: Text of CACM Nov.92 paper on mega-programming, Handout 2: Reading List-- initial version Criticism. Result of evaluation for [Boehm. Blum] Completeness (wrt to user, or formal model) Is every user wish formalized? Feedback to resolve ambiguity. (Corrolary: lack of redundancy, leads easilly to conflicts) Consistency (views can conflict) Feasability (Solutions are known, costed, do not conflict) (Corrolary: overspecification, solutions rather than needs) Is 'wishful thinking' avoided (No training required, 24 hour operation) Testability (How do we know we have succeeded) Related to formal specs, demonstratable to end-user. -------------------------------------------------------------------- SUN file system NFS = builtfrom UNIX source AFS = built anew, does not accept UNIX commands [Transarc] petabyte file systems DFS