comp.lang.ada
 help / color / mirror / Atom feed
* Selecting Ada95 compiler for MSDOS realtime application
@ 1996-11-05  0:00 Richard Maffei
  1996-11-06  0:00 ` Samuel Tardieu
  1996-11-06  0:00 ` Michael F Brenner
  0 siblings, 2 replies; 5+ messages in thread
From: Richard Maffei @ 1996-11-05  0:00 UTC (permalink / raw)



To all fellow Ada developers and advocates:

We are in the process of starting a new software development project and
desire
to use Ada.  However, we are having difficulty in finding a development
environment
that will suit our needs.  Below are some requirements for our
selection.  I would
appreciate any feedback (experiences, comments, technical details, etc.)
concerning
compiler selection from others who have performed similar projects.

A non-GNAT solution is preferred to avoid any potential
restrictions/requirements
associated with the commercial release of software containing GNU
libraries.

Target:
   486 Embedded PC, MSDOS based
      - primarily to support PCMCIA card flash file systems for the
purpose
        of data logging.

Development platform:
   Multitasking
      - concurrent processing of serial I/O with up to 6 devices using
complex
        protocol incorporating handshaking with precise time-out
requirements.
   Supports interrupt handlers for I/O
   1 (one) ms timer resolution
      - as opposed to standard PC timer of 55 ms.

Anxiously awaiting,
Rick
-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Richard A. Maffei
ramaffei@cacd.rockwell.com
ramaffei@cedar-rapids.net

I speak for myself, not my company.

"Computers in the future may weigh no more than 1.5 tons."
-- Popular Mechanics, 1949

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Selecting Ada95 compiler for MSDOS realtime application
  1996-11-05  0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei
  1996-11-06  0:00 ` Samuel Tardieu
@ 1996-11-06  0:00 ` Michael F Brenner
  1996-11-08  0:00   ` Robert Dewar
  1 sibling, 1 reply; 5+ messages in thread
From: Michael F Brenner @ 1996-11-06  0:00 UTC (permalink / raw)



Richard Maffei <ramaffei@cedar-rapids.net> posted a requirement for
a non-GNAT Ada-95 compiler that handles the following:
    > concurrent processing of serial I/O with up to 6 devices using
    > complex protocol incorporating handshaking with precise time-out
    > requirements. Supports interrupt handlers for I/O
    > 1 (one) ms timer resolution as opposed to standard PC timer of 55 ms.

The reason for using a non-GNAT Ada-95 compiler is for fear of commercial
use of GNAT's libraries. If commercial use of the GNAT compiler and the
libraries needed to produce this application is forbidden, then there is
a serious problem, and it needs to be solved.

However, in addition to GNAT meeting these requirements for multiple 
serial interrupt handlers (you have to write a few lines of code, which
you can actually lift from the Meridian, Janus developers, Alsys, DDC-I,
or djgpp manuals, and you have to understand the 80x86 interrupt structure),
and fast resolution timer, there are other Ada-83 compilers that can meet
these requirements, such as the ones named in the preceeding sentence.
Some of these are in the process of coming out with full Ada-95 compilers,
but this is not important because of the upwards compatibility of Ada-83
to Ada-95. For example, the EMCC multiple serial interrupt handlers, 
with the exception of a tiny bit of machine dependent code, are
line-for-line identical on Alsys Ada-83 and GNAT Ada-95. So you can
implement code like this (or identical to this, since it is free software)
in a way that works on a couple of Ada-83 compilers and GNAT now, and
later move to other Ada-95 compilers as Tompson and others finishes
implementing the Ada-95 features in their compilers.

However, however, there is a much more important observation that might
be of help to you, and choice of compiler (or even language) will not
help: you would probably get a lot more performance out of your system
(two orders of magnitude more), if you used a serial port concentrator,
a piece of hardware available from several famous hardware vendors
which can be found by searching the net. The concentrator does the
byte-level interrupts and places the results of the twelve serial ports
into a RAM buffer (in the concentrator, not in the 80x86). The 80x86 just
has a single serial (or parallel) port that accesses the concentrator,
and can get one or more bytes from the buffers for the twleve ports,
with a greatly reduced overhead for interrupt handling. Such concentrators
in speeds up to 56K for ISDN, RS485, RS422, or RS232 interfaces cost about
$800 to $2000 dollars for a dozen ports, with the cheapest being those
made for RS232. To get RS422 balanced signals you will pay closer to the
$2000 because you will need the equivalent of an RS232 to RS422 converter
circuitry. This is a case where a portion of the problem should really
be solved in hardware, to increase the throughput of the software. 
Nevertheless the Ada compilers that exist now (83 or 95) can meet your
real requirements, even if some of them happen to be 83 this year.

Mike Brenner <mikeb@mitre.org>





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Selecting Ada95 compiler for MSDOS realtime application
  1996-11-05  0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei
@ 1996-11-06  0:00 ` Samuel Tardieu
  1996-11-07  0:00   ` Robert Dewar
  1996-11-06  0:00 ` Michael F Brenner
  1 sibling, 1 reply; 5+ messages in thread
From: Samuel Tardieu @ 1996-11-06  0:00 UTC (permalink / raw)
  To: ramaffei


>>>>> "Richard" == Richard Maffei <ramaffei@cedar-rapids.net> writes:

Richard> A non-GNAT solution is preferred to avoid any potential
Richard> restrictions/requirements associated with the commercial
Richard> release of software containing GNU libraries.

Richard,

I really cannot understand this sentence: the GNU licence does concern
you *only* if you want to redistribute a modified *compiler*, that is
if your project is to produce and give away (sell ?) an Ada compiler
(which I guess isn't, since you mention real-time) and choose to
modify GNAT, then you have to distribute the sources as well and
respect the licence.

But if you use GNAT for development as a compiler, then it doesn't add
any restriction or requirement compared to other compilers! I think
you should take some time and read the General Public Licence which is
distributed with GNAT.

I know of several companies that use GNAT for developping commercial
applications and sell these applications without any restriction.

  Sam, happy user of GNAT
--
  Samuel Tardieu -- sam@hacker.org




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Selecting Ada95 compiler for MSDOS realtime application
  1996-11-06  0:00 ` Samuel Tardieu
@ 1996-11-07  0:00   ` Robert Dewar
  0 siblings, 0 replies; 5+ messages in thread
From: Robert Dewar @ 1996-11-07  0:00 UTC (permalink / raw)



>>>>> "Richard" == Richard Maffei <ramaffei@cedar-rapids.net> writes:

Richard> A non-GNAT solution is preferred to avoid any potential
Richard> restrictions/requirements associated with the commercial
Richard> release of software containing GNU libraries.


There are no such restrictions/requirements that would cause you any
difficulty with such commercial release. There are many commercial
proprietary products that are compiled with GNU compilers.

On a number of occasions, I have heard people spreading the impression
that there is a problem here, including some salespeople. They are mistaken,
there is no such problem!





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Selecting Ada95 compiler for MSDOS realtime application
  1996-11-06  0:00 ` Michael F Brenner
@ 1996-11-08  0:00   ` Robert Dewar
  0 siblings, 0 replies; 5+ messages in thread
From: Robert Dewar @ 1996-11-08  0:00 UTC (permalink / raw)



Mike Brenner says

"The reason for using a non-GNAT Ada-95 compiler is for fear of commercial
use of GNAT's libraries. If commercial use of the GNAT compiler and the
libraries needed to produce this application is forbidden, then there is
a serious problem, and it needs to be solved."


There is no problem.
Nothing needs to be solved.
Of course it is possible to use GNAT to generate proprietary (I assume
that is what you mean by commercial) programs.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1996-11-08  0:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-11-05  0:00 Selecting Ada95 compiler for MSDOS realtime application Richard Maffei
1996-11-06  0:00 ` Samuel Tardieu
1996-11-07  0:00   ` Robert Dewar
1996-11-06  0:00 ` Michael F Brenner
1996-11-08  0:00   ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox