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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,39e272d357c68416 X-Google-Attributes: gid103376,public From: jim_snead Subject: Re: Is Apex dead as an environment for Ada & Java? Date: 1999/11/28 Message-ID: <0a0133f8.3baf10c0@usw-ex0101-001.remarq.com>#1/1 X-Deja-AN: 554108253 References: <11f733ec.57d88b68@usw-ex0107-042.remarq.com> <384127A5.61431A14@dowie-cs.demon.co.uk> X-Originating-Host: 207.58.20.117 X-Complaints-To: wrenabuse@remarq.com X-Trace: WReNphoon1 943810510 10.0.2.1 (Sun, 28 Nov 1999 09:35:10 PST) Organization: http://www.remarq.com: The World's Usenet/Discussions Start Here NNTP-Posting-Date: Sun, 28 Nov 1999 09:35:10 PST Newsgroups: comp.lang.ada X-Wren-Trace: eB86EhMKTQdMXQoECUgRGQksAgNXH1oDG10TExtLVA9HVwpGXw1aX0JPTA== Date: 1999-11-28T00:00:00+00:00 List-Id: In article <384127A5.61431A14@dowie-cs.demon.co.uk>, Martin Dowie wrote: > common approach is to have a subsystem per piece of hardware your > software > monitors/controls (thread?/process?/task?), other subsystems to Here is an essential problem with Rational subsystems. Say you do have a software subsystem for each one of your hardware items. Let us call them Gamma and Omega. So the Gamma subsystem implementors create a couple of packages called "Logging" and "Debug". These are not meant to be used outside of the Gamma subsystem so they are not made visible to the outside world via whatever mechanism Apex uses. Now say that the Omega subsystem has their own internal packages called "Logging" and "Debug". The Omega team goes ahead and develops these as well, oblivious to the rest of the world. Now the subsystem that you propose to integrate these other subsystems comes along and tries to link Omaga and Gamma into a single exec. Of course, this won't work because of name clashes between the hidden packages. Time to use another approach! Now here is how you do it with Ada 95. First create a single subsystem repository. Next create two package hierarchies called Gamma and Omega and organize these into a directory structure of your choosing. For the private packages, you create (ahem) private packages. private package Gamma.Logging is ... private package Gamma.Debug is ... private package Omega.Logging is ... private package Omega.Debug is ... This Ada 95 approach apparently solves the original subsystem problem better than the legacy Apex solution does because it will eliminate the integration error while solving the privacy problem. Apex "Views" (i.e. controlled directories) and "Histories" (i.e. branches) plus version control are all that are required for development. The concept of a subsystem is counterproductive as it adds another variable to an overspecified set of equations. If Apex subsystems are to be used for anything other than an elaborate Ada Include Path, it is certainly over-hyped for Ada 95 use. Apex subsystems add no value in guaranteeing integration success. Ada 95 got it right, and the old guard tool vendors are trying to create FUD in how to correctly integrate large software projects. * Sent from RemarQ http://www.remarq.com The Internet's Discussion Network * The fastest and easiest way to search and participate in Usenet - Free!