CS 446 Fall Quarter Notes 8 1996 Gio Wiederhold
Experimental Seminar on Large Scale Software Construction.
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.
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
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.
- Atomicity: Devolve responsibility on Transaction managr, (Creates and holds
tranasction IDs). especially for new reources.
Backbone: developement Process:
Green= important, but scientifically weak stuff:
- Requirements, from customers (text, few tools to next phase:)
- Design and specifcation; for engineers.
- Implementation,costly,t ypically millions (e.g.. for --- modest -- Stanford finacial
likely 15 people at $150,000 one year = $2,000,000)
- Test , the main iteration points to above
- Field and maintenance (not accounted for typically.)
. Purple= computer science contribution
- Process models (Spiral [Boehm] or Maturity model [SEI])
- Consensus formation (first phase in [Gilbert96 =Boieng 777])
- Metrics and measurement [Basili], tending to to science.
- Marketing and support; (Gio: often messes things up because induces changes in
Then review problem: Example FAA ATCS
- Capture, as formally as possible
- OO, to create useful abstractions and clarify stuff
- Languages and compilers, to assess captured information
- Early prototyping and Simulation, or lightweight implementation for early test.
- Performance Analysis
- tsting tools (black box, Benchmarks, Scenarios)
- . Formal specifications are difficult to read for the user, and also difficult to write for
the specifier. Can an intermediate graphical representation help?
- . 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 ?
- Feedback loops are needed, at least from the user. How can they obtained in the
implementation test loop.
- 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.
- Where is the. Waterfall model valid? For Boeing? For Stanford ITSS? for Dijkstra's
GCD? how far does it scale up or down?
- 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?
- Prototyping (needs more discusion)
- Software by composition of modules. Requires module suppliers and and module
users. Hard to get one going without the other. Also interface standards.
- Module sizes: 1 page, 1 person 15 minutes.
- For hierarchical composition the function of lower-level modules should be
- 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.
- . 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.
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
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
New stuff -- changed schedule
Oct 3: Discussion on project choices: Design or Readings and presentation.
(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