home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / object / 3218 < prev    next >
Encoding:
Text File  |  1992-08-15  |  5.4 KB  |  111 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!mole-end!mat
  3. From: mat@mole-end.matawan.nj.us
  4. Subject: Re: Class methods (was: Re: How to design a data structure library)
  5. Message-ID: <1992Aug15.093010.25692@mole-end.matawan.nj.us>
  6. Organization: :
  7. References: <GEOFF.92Jul27100601@wodehouse.flash.bellcore.com> <1992Aug12.213214.21417@projtech.com>
  8. Date: Sat, 15 Aug 1992 09:30:10 GMT
  9. Lines: 100
  10.  
  11. In article <1992Aug12.213214.21417@projtech.com>, steve@projtech.com (Steve Mellor) writes:
  12. > ...
  13.  
  14. (Please, everyone note that everyone has his own meaning for `architecture.'
  15. It is one of the great `Humpty-Dumpty' words of all time, I think, and may
  16. belong in Strunk & White.  I would characterize the Shlaer & Mellor use a
  17. `solution architecture.'  They may disagree.)
  18.  
  19. Let's cut right to the heart of the matter--and perhaps the heart of
  20. my understanding or misunderstanding:
  21.  
  22. > The concept is similar to (a) We wrote a program in a language,
  23. > (b) we wrote the compiler for the language (c) we applied the compiler
  24. > to the program. The language, of course, is OOA. (S/M OOA, that is.
  25. > The others are not well enough defined to be able to do this!).  Step
  26. > (a) corresponds to the application analysis. (b) to the architecture
  27. > and the templates, and (c) to populating the templates.
  28.             [I've un-justified the text to squeeze it a bit--mat]
  29.  
  30. In other words, you are programming (not just designing) above the
  31. level you have at hand.  I see several problems with this.
  32.  
  33. > The obvious and beautiful economy is that once you have the compiler
  34. > (architecture and templates), it is a low cost matter to recompile
  35. > other programs, or to change the existing program (the analysis).
  36.  
  37. One minor problem is that your tool for programming above the language
  38. is not a language but a CASE system (at best).  I'm not at all convinced
  39. that these are appropriate, expressive tools for programming.
  40.  
  41. Another minor problem is that only one level of abstraction, that of
  42. your `application,' is clearly visible.  Other levels are placed in
  43. `domains' that are not in their true client-server DAG, or else
  44. wholly subjugated into the `architecture,' which is, in fact, a
  45. language without the expressive power of a real programming language.
  46.             -------------------------------------
  47.             Library design is language design.
  48.                 --Bell Labs Proverb
  49.  
  50.                 and vice versa.
  51.                 A. R. Koenig
  52.             -------------------------------------
  53.                     --the chapter heading quotes
  54.                       from Stroustrup II, ch 13
  55.  
  56. But I see a major engineering problem, too.
  57.  
  58. Your `architecture' or language embodies the solution abstractions
  59. you need to achieve certain performance goals on a particular platform
  60. (hardware, OS, file system, network, DBMS server, etc.).  For a system
  61. written on Big Iron (or it's equivalent in networked superservers--
  62. Big Ether or Big Driftnet), a system of which there will be relatively
  63. few, like a power grid controller or an Air Traffic Control system,
  64. this may be a good assumption.  The lifetime of the hardware and the
  65. lifetime of the software are pretty much the same.
  66.  
  67. But when Tailfeather Aerodynamics stretches its AeroMansion-425 into the
  68. AeroPalace-475, they'll want the plane to act the same and the cockpit
  69. to look the same.  Unfortunately, they want to use the new Mk. XXIV
  70. computer, with five times the CPU horsepower, sixteen times the memory,
  71. four times the MTBF, one fourth the power dissipation, and an extra 15
  72. years of supply at commodity prices over the old Mk. XVII.  Unfortunately,
  73. to get the same control laws on the bigger plane with the new electro-
  74. hydraulic actuators, they'll have to rewrite both the flight laws domain
  75. _and_ large portions of the `low-level' (e.g. `architecture') in which
  76. so much time was invested before.
  77.  
  78. Worse, all the assumptions about relative execution cost that were
  79. built into the architecture (the higher-than-the-language-language) are
  80. invalidated and all of the primitives (`templates') that were tuned to
  81. the old assumptions are wrong.  Instead of multiple levels of abstraction,
  82. each expressing one degree of freedom in the combined problem-solution
  83. space, you have one level of abstraction in which you are really free
  84. to program.
  85.  
  86. The problem is even worse for Bogus 5-4-3-2-1, the Killer App that
  87. has people buying ever more powerful bizmicros, and Bogosity, Inc,
  88. putting out version after version trying to wring every dram of
  89. compute-juice from every processor on the market, 'cuz none of them
  90. is powerful enough yet to get response times below 2 seconds, much
  91. less 100 msec.  Unfortunately, every version includes the next 15 items
  92. on the wish-list that 85% of the 5 million _registered_ users agree on,
  93. which means that each version needs two-thirds again as much of that
  94. compute-juice ...  They _need_ a good problem-based architecture (my
  95. meaning of the word) that doesn't embody performance assumptions,
  96. because every time they turn around, those assumptions are
  97. defenstrated, as are assumptions about what the high-level abstractions
  98. are.  The stable abstractions are the low ones in this software.
  99.  
  100. The `transformational' approach may make sense on Big Iron and Big
  101. Driftnet, but I can't see it on systems that will become commodity.
  102.  
  103. On the other hand (said the ambivalent, ambidextrous prevaricator) I
  104. have to admit that Macro Spitbol did run well on lots of machines.
  105. But RBKD knew where the time would be taken, nowandforeveramen.
  106. -- 
  107.  (This man's opinions are his own.)
  108.  From mole-end                Mark Terribile
  109.  
  110.  mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
  111.