From: "Nick Roberts" <nickroberts@adaos.worldonline.co.uk>
Subject: Re: Attributes 'Version and 'Body_Version
Date: Sun, 25 Nov 2001 20:49:06 -0000
Date: 2001-11-25T20:49:06+00:00 [thread overview]
Message-ID: <9trpj1$4e6v2$1@ID-25716.news.dfncis.de> (raw)
In-Reply-To: yecsnbjdrh0.fsf@king.cts.com
I think there's some mileage in the idea that it might be useful for
'Version and 'Body_Version to (be able to) return something more than just a
checksum (or the like). I think Tony Gair's comment hints at why.
Supposing an Internet web page is offering a download of a partition
(program) called Whizzo (which solves all your marital problems by
psychology).
Different potential users of Whizzo may well have different versions of the
partitions (which contain units) that Whizzo depends on. Suppose those units
are: Psychospeak; Technobabble; and Generally.Dodgy.Stuff. Each is in a
separate partition.
To support as many users as possible (before they jump off a bridge), Whizzo
has been built in multiple versions supporting the various versions of
Psychospeak, Technobabble, and Generally.Dodgy.Stuff, and a table is shown
on the web page allowing the user to select the correct version of Whizzo to
download. E.g.:
Psychospeak Technobabble Generally.Dodgy.Stuff Whizzo
2f10e401 5ea109d0 4ea23310 > 5a1b207a <
7bc195a2 d4216eee 40abba31 > 8a90001b <
f9fa51ef 5201ac48 216b6d48 > 21a68c5c <
6d33a902 5201ac48 39b278b7 > d409b12b <
etc
Which is okay, but it would be nicer if the versions were in a slightly more
human-readable form. E.g.:
Psychospeak Technobabble Generally.Dodgy.Stuff Whizzo
V:2 R:7 (472) V:3 R:11 (1027) V:Pub:1 R:2 (29) > V:1 R:1
(10052) <
V:2 R:7 (479) V:3 R:11 (1028) V:Pub:1 R:2 (30) > V:1 R:1
(10051) <
V:2 R:7 (480) V:4 R:1 (2475) V:Pub:1 R:2 (32) > V:1 R:1
(10050) <
V:2 R:8 (20) V:4 R:1 (2475) V:Pub:1 R:2 (39) > V:1 R:1
(10049) <
etc
The idea behind the versions shown here is that the build tool (source
controller, version manager, whatever) maintains a version and revision
number (which the user changes, and can enter prefixes for), and
automatically maintains an 'iteration' number (build number), and generates
the version string from all of these. But this is just an idea.
Recalling back to some of the comments made in this thread, there was the
suggestion that a unit could support multiple versions of a service unit,
which offered different levels of service.
I would suggest that this is best done (in Ada 95) by the technique of the
service unit exporting objects of a class (hierarchy) to its clients (via a
remote access-to-classwide type and a repository/directory/agency unit or
object).
This has to be a classic Ada 95 'pattern': the clients are versionistically
decoupled* from the servers; servers which add functionality can do it in a
totally forwards-compatible way (by deriving from the originally published
type, and exporting objects of the derived type); old clients are 'fooled'
into getting the old type (and service) they expect; new clients can take
advantage of the added functionality; an 'intelligent' client can test the
type of the object it gets, and perhaps adapt to the functionality the
object provides.
--
Best wishes,
Nick Roberts
*term obtained from the Technobabble unit (C) 2001 Technobabble Inc. All
rights reserved.
;-)
next prev parent reply other threads:[~2001-11-25 20:49 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-06 20:58 Attributes 'Version and 'Body_Version Marin David Condic
2001-11-07 3:39 ` Robert Dewar
2001-11-07 15:08 ` Marin David Condic
2001-11-07 20:51 ` Tony Gair
2001-11-07 16:45 ` Marin David Condic
2001-11-07 18:32 ` Vincent Marciante
2001-11-07 19:00 ` Marin David Condic
2001-11-07 23:11 ` Robert Dewar
2001-11-08 17:28 ` Stephen Leake
2001-11-08 17:43 ` Larry Kilgallen
2001-11-08 19:03 ` Marin David Condic
2001-11-08 19:37 ` Larry Kilgallen
2001-11-09 3:50 ` Robert Dewar
2001-11-09 3:55 ` Robert Dewar
2001-11-08 18:55 ` Marin David Condic
2001-11-07 19:54 ` Larry Kilgallen
2001-11-07 21:49 ` Marin David Condic
2001-11-07 23:08 ` Robert Dewar
2001-11-07 22:04 ` Keith Thompson
2001-11-08 16:34 ` Frank
2001-11-09 3:53 ` Robert Dewar
2001-11-10 0:07 ` Keith Thompson
2001-11-10 2:16 ` Larry Kilgallen
2001-11-11 15:18 ` Marin David Condic
2001-11-12 23:06 ` Tony Gair
2001-11-12 21:51 ` Robert Dewar
2001-11-13 8:07 ` Keith Thompson
2001-11-25 20:49 ` Nick Roberts [this message]
2001-11-26 2:30 ` Robert Dewar
2001-11-26 3:31 ` Nick Roberts
2001-11-26 15:42 ` Robert Dewar
2001-11-26 20:05 ` Nick Roberts
2001-11-27 3:56 ` Robert Dewar
2001-11-27 17:51 ` Nick Roberts
2001-11-28 0:44 ` Larry Kilgallen
2001-11-28 15:49 ` Robert Dewar
2001-11-28 16:53 ` Larry Kilgallen
[not found] ` <5ee5b646.0111280749.77fabe6c@posting.google.coOrganization: LJK Software <PFcoNrf74AeG@eisner.encompasserve.org>
2001-11-29 3:49 ` Robert Dewar
2001-11-29 11:52 ` Larry Kilgallen
[not found] ` <5ee5b646.0111Organization: LJK Software <Kg7U2sTGDFyI@eisner.encompasserve.org>
2001-11-30 2:26 ` Robert Dewar
2001-11-30 2:55 ` Larry Kilgallen
2001-11-27 17:04 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox