From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,df52cf364e9edc0a X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-12-08 10:01:20 PST Path: bga.com!news.sprintlink.net!howland.reston.ans.net!paladin.american.edu!auvm!EIGHT-BALL.HV.BOEING.COM!crispen Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU Newsgroups: comp.lang.ada Message-ID: <9412081620.AA02642@eight-ball.hv.boeing.com.hv.boeing.com> Date: Thu, 8 Dec 1994 10:20:26 CST Sender: Ada programming language From: Bob Crispen Subject: Re: Is DoD simulation ignoring using Ada????? Date: 1994-12-08T10:20:26-06:00 List-Id: Garlington KE sez: >I remember getting a STARS briefing on megapriogramming a long time ago. The >speaker urged us to get more involved with STARTS so that, for example, >we could build an airplane that integrated flight control and avionics. >We broke his heart when we described the AFTI program back in the early 80's. > >Seems like STARS hasn't changed much with respect to its relevance to the >practitioners... I think the significant phrase in your post is "a long time ago". Either that or you got a lousy briefing. Or, as a third possibility, you're just being bloody-minded about the thing. ;-) To put it briefly, megaprogramming says that one way (maybe the only way) to make large-scale reuse happen is to have a defined, automatable process for reuse based on commonality and variability within a product line or domain, and to have an architecture (or perhaps a small set of architectures) that is specific to the domain. It turns out that the DARTS architecture, which I've had something to do with over the years, is one such architecture. And I gather you're using a family of architectures which bear some passing resemblance to DARTS, in that they're products of something like the SEI's Structural Modeling process. Anyway, it seems to me that you're doing the hard part of what you need to do to get reuse (the architectural part). But I don't see you doing the easy part (an analysis of commonality and variability targeted toward embodiment in a process). Here's where I think you might be helped by megaprogramming. Note that I mean these statements to be very general: *anyone*, not just F-22, who has implemented a domain architecture based on a well-defined process could get some benefits from taking the next step in megaprogramming. It's no trick at all to have reuse between two identical products. If you have avionics software that runs on aircraft #1 and you want it to run on aircraft #2, you know what to do. If you've got a hundred wildly varying products (fighter aircraft, toasters, video games) there's no trick to reuse, either: you make a library of very useful basic components and reuse on this low level. It only becomes tricky when you've got a well-defined (or definable) range of variability: avionics software..avionics simulation software; or transport aircraft simulators..fighter aircraft simulators. When you want to get more than the lowest level of reuse, and when you don't want to rely on the genius and omniscience of your engineers to be able to maximize reuse all by their little selves, then you need a *process* for reuse (duh!). Megaprogramming provides such a process. Now, I've been involved with the Navy STARS program, the one that's concerned with the flight simulation domain, so I'm probably biased in favor of megaprogramming in general and STARS in particular. But I get the feeling that STARS is unfairly catching flack around c.l.a for not being something it was never intended to be. STARS is about process-driven reuse, not about proving that Ada is cool. Now, it just so happens that the part of STARS I'm familar with is so heavily dependent on Ada that I'm not sure it could have been accomplished if there were no Ada. But I might be wrong. And whether or not I'm right about the importance of Ada in STARS is a *secondary issue* for STARS. One more time: STARS is about software engineering, not about Ada or even about programming. If STARS is focusing on its main goal, well hooray for them. All of this is, of course, only my personal take. And my sincerest apologies for the heavy overloading of "process" in the above. Would someone please fix the vocabulary of this discipline! +----------------------------+-----------------------------------------+ | Rev. Bob "Bob" Crispen | You guys start coding. I'll go see | | crispen@foxy.hv.boeing.com | what they want. | +----------------------------+-----------------------------------------+