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,11acceb38e90ed0a X-Google-Attributes: gid103376,public From: Tony Matthews Subject: Re: Sequential_IO Data Portability Date: 2000/01/31 Message-ID: <3895E98C.D6B9C28F@SpamJam.gecm.com>#1/1 X-Deja-AN: 580022271 Content-Transfer-Encoding: 7bit References: <38903e96@eeyore.callnetuk.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Trace: 31 Jan 2000 19:59:52 GMT, 141.196.71.132 Organization: Alenia Marconi Systems MIME-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-01-31T00:00:00+00:00 List-Id: Nick Roberts wrote: > > A question was asked in GNAT chat recently as to (I hope I paraphrase > closely enough) whether, in general, the data written, via Sequential_IO, by > a brand of Ada compiler for one machine/OS target can be expected to be read > by a program, using the same type and Sequential_IO, compiled by the same > brand of compiler, but for a different target. > The question raiser was me, so I think a little explananation might be useful to anyone out there who might be interested. The project I work on comprises several sub-systems, one of which is an air traffic control simulator, and another is the exercise preparation system for the simulator. The ex-prep sub-system comprises several workstations and a server running an Oracle RDBMS, all running on SCO OpenServer Unix. The simulator comprises a large number of workstations and servers, all running LynxOs Unix. We use Alsys Ada '83 and Oracle's ProAda precompiler tool to extract the exercise data from the ex-prep database and write out a large number (100's) of sequential_io data files which can then be transferred via LAN over to the simulator, where they are read when the supervisor chooses to load and run the respective exercise. Sequential_io files are used because they minimise the data file sizes, they enable fastest loading times on the simulator (once transferred!), and provide independent operation of the sub-systems. We get away with this because we use the same version Alsys Ada compiler on both sub-systems, and we don't even need to use rep specs! However - Alsys Ada '83 (AdaWorld) is now getting a bit long in the tooth, and some of the other Oracle based tools we use on the ex-prep system are also approaching the end of their useful lives. So - whilst considering how we might move the project onward to Ada '95, and possibly to alternative PC based operating systems (Linux and Windows NT spring to mind here) we are constrained by our dependence on Oracle and sequential_io portability. Being able to use another compiler (ie GNAT95) in the same manner without having to expend vast amounts of effort on translating or rep spec'ing file formats (which would be tedious and error prone) means we could concentrate our resources on system improvements. So that's the background. If anyone has any practical experience (positive or negative) of sharing binary files between Linux, LynxOs, SCO and/or Windows NT using GNAT95 I would be delighted to hear from you. In his GNAT Chat mailing list response, David C Hoos kindly pointed me at the GLADE source code (as in Ada95 RM Annex E - Distributed Systems, not the Glade GUI Builder that is associated with the GTKAda graphical toolkit), which uses Ada.Streams. Thanks David - I will try and follow up your lead as soon as I can. Thanks to all respondents.