From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 27 Aug 93 15:55:46 GMT From: cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!howland. reston.ans.net!noc.near.net!inmet!spock!stt@ucbvax.Berkeley.EDU (Tucker Taft) Subject: Re: TRI-Ada '94 topics Message-ID: List-Id: In article <9308261918.AA10006@eight-ball.boeing.com> crispen@eight-ball.boeing.com (Bob Crispen) writes: >Dick Dye asks about hot topics that ought to be considered for >TRI-Ada '94. > >One topic which isn't hot, but which I think should be, is the issue of >architecture. [Other good stuff deleted] A related topic, that is hot in the OO world, is the concept of "reusable frameworks." As is true in most engineering disciplines, people originally tried to reuse very small components, and at some point discovered that the relationships between components are often at least as important as the components themselves. A reusable framework is essentially a bunch of extensible types/classes/packages that are interrelated, but intentionally incomplete. To "reuse" a reusable framework, one extends the various types/classes/packages in application-specific way, and can quickly get up a nearly fully functional application. If you contrast this with a reusable library of classes/packages, the difference is that a reusable framework is "preintegrated." A reusable library of classes/packages is just that, a "library," where you thumb through the catalog and look for interesting things, but there is no particular integration between the elements of the library, so the possibilites for picking and choosing (and misusing) are nearly infinite, and the job of building an application from pieces in the library may be actually harder than reinventing the components as needed. Of course a really well indexed catalog can help minimize this problem. Nevertheless, one can clearly be more productive reusing a preintegrated reusable framework, if it is sufficiently flexible and extensible. One classic example of a preintegrated reusable framework is the X Window System with the Xtk (or other) widget toolkit. Unfortunately, extending Xtk in C is pretty painful, though there are rumors that the widgets of X11R6 will be based on C++ (and if all goes as planned, there will be an Ada-9X-based Xtk widget set too). Reusable frameworks also makes sense for persistent object management, communications, interpretive command processing (e.g. TCL), accounting, spreadsheet kinds of applications, etc. > . . . >Well, I suppose I wouldn't be much good if I didn't think that what >I'd been working on was fairly important. What do folks think about >the architectural issue? Can someone define it a little better than >I've done here? Am I the only one who cares about it? I agree that many people have trouble understanding exactly what is a "software architecture." However, when they see a preintegrated reusable framework, there is little doubt what it is. Seeing an existing framework also seems to give people ideas about how they could think of building their own sets of applications by separating the issues into the job of designing and building the framework, versus the job of extending and populating the framework with more specific components. >| Bob Crispen | Who will babysit the babysitters? | >| crispen@foxy.boeing.com +--------------------------------------+ S. Tucker Taft stt@inmet.com Intermetrics, Inc. Cambridge, MA 02138