comp.lang.ada
 help / color / mirror / Atom feed
From: Mike Brenner <mikeb@mitre.org>
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)
Date: Wed, 09 May 2001 17:42:46 -0400
Date: 2001-05-09T17:42:46-04:00	[thread overview]
Message-ID: <mailman.989444108.16219.comp.lang.ada@ada.eu.org> (raw)

Marin David Condic > ... Maybe you can expand on the idea.
What sort of standrad libraries would you like to see in
Ada?


We went over this last year under the "killer application
threads" and the answer is a sufficient number of libraries
to program a few really good games.

Game Number 1. The B-C eCommerce that makes a Shopping
Basket that talks to banks, credit card clearing houses,
warehouses, vendors, manufactureres, pick/pack/ship
fulfillment houses, return authorization centers, marketing,
management, accounting, auditing, catalog design, product
design, the printing plant, the mailing list house, and the
internet. This could all be done with some kind of messaging
kernel and xml messages; however, the messaging kernel has
to "out-source" to other languages with the current status
of the language, specifically because the files, sockets,
databases, and basic system calls are not currently
available in a convenient operating system independent way.

Game Number 2. The B-B eCommerce game connects companies
together in a way that they have COMMITMENT. A prime example
is amazon.com's way of saying "this book usually ships in 2
days", but extend it transitively to a long chain of
companies. Most middlemen could be eliminated, if
manufacturers could deliver products with a 98 percent
delivery commitment. The catalogs would say something like
"WIDGET NUMBER 27 fits into WIDGETS 28 and 36 and costs
$57.00 and will be delivered anywhere in continental
Cameroon in 17 days after receipt of the order." This
requires realtime response from parallel channel of
networks, ways of checking legal agreements and keeping
score, unprecedented encryption techniques, etc. This
requires the same as the above, but to get the realtime
response, the conversion checking needs to be taken away
from conversions from signed to unsigned numbers.

Game Number 3. The Shoot'em Down Game connects household
appliances, Netscape Internet browsers, keyboards, mouses,
drawing pads, scanners, printers, relay boards, stepper
motors, robots, lazer light shows, doors, moving walls,
colored light bulbs, satellites, etc. These interfaces have
to be done OUTSIDE the language now. Even a simple keyboard
interrupt driver or a CD reader needs to interface to
software not in the language.

Game Number 4. A three dimensional immersed environment,
like the Matrix or Holodeck using haptic devices to give
touch-feedback. This requires a library of routines to
connect to shared memory buses, very fast disk drives,
associative memory devices, connections to co-processors
(e.g. 3-D math co-processors and single-cycle 4-D matrix
multiply processors), software interfaces to commercial
products, software interfaces to commercial protocols, and
interfaces to 3-D graphics and sound systems). 

WHERE TO START

Some of the more critical libraries that are missing from
most current compilers include the following:

(1) DEVICES. A library of methods of receiving hot key
strokes, hot mouse strokes, parallel port I/O, USB I/O,
firewire I/O, SCSI I/O, bluetooth infrared I/O, CD I/O, etc. 

(2) URI-XML. A library of methods of serving and receiving
hypertext on the world wide web. This includes web servers,
application servers, database servers, ODBC, sending and
receiving html messages, doing cgi, doing xml, doing
sockets, doing local files, doing databases, and executing
software on computers. The assumption would be that all
inter-computer communication would be through previously
agreed xml messages. This library should be easier to use
than text_io is now.

(3) HARDWARE INTERFACE. A library of methods of connecting
to the shared memory and other low level hardware
capabilities of the system. 

Of course, these libraries will be different on each system,
but their visible part will be different only in quantity of
certain enumeration types, not in quality. 

For example, to do shared memory, there will be a single
call that links up the shared memories. In some systems it
will only work if that is precompiled, in others when it is
prelinked, in others it will be dynamic. However, it should
be spelled the same way on all systems.

Similarly, to execute program x in directly y on machine z
should take exactly on URI command which is machine
independent.

Finally, although some systems can provide access to more
keystrokes than others, there is a need to capture mouse and
keyboard strokes in a machine independent way.

Please consider this a first draft to add your own opinions
to, not a final document!

Mike Brenner





             reply	other threads:[~2001-05-09 21:42 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-09 21:42 Mike Brenner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-05-10 21:22 howto make system calls (newbie question) Beard, Frank
2001-05-10 20:11 Beard, Frank
2001-05-11 16:03 ` Samuel T. Harris
2001-05-10 19:54 Beard, Frank
2001-05-10 20:41 ` Pascal Obry
2001-05-09 22:28 Beard, Frank
2001-05-09 22:19 Beard, Frank
2001-05-10  6:18 ` Pascal Obry
2001-05-10 12:40 ` Samuel T. Harris
2001-05-10 15:44   ` Stephen Leake
2001-05-09 22:07 Beard, Frank
2001-05-10 12:34 ` Samuel T. Harris
2001-05-07 17:04 Beard, Frank
2001-05-04 21:08 Beard, Frank
2001-05-04 22:45 ` Jeffrey Carter
2001-05-07 14:47 ` Marin David Condic
2001-05-09 13:41   ` Noam Kloos
2001-05-09 14:17     ` Ted Dennison
2001-05-16 12:45       ` Marc A. Criley
2001-05-16 19:50         ` Ted Dennison
2001-05-09 18:29 ` GianLuigi Piacentini
2001-05-09 19:18   ` David Starner
2001-05-04 20:56 Beard, Frank
2001-05-07 14:42 ` Marin David Condic
2001-05-07 16:41   ` Samuel T. Harris
2001-05-07 18:25     ` Marin David Condic
2001-05-08 20:30       ` Samuel T. Harris
2001-05-08 21:13         ` Marin David Condic
2001-05-08 20:23     ` Samuel T. Harris
2001-05-08  7:34   ` Tarjei T. Jensen
2001-05-08 12:16     ` Larry Kilgallen
2001-05-08 14:12       ` Tarjei T. Jensen
2001-05-08 16:48         ` Larry Kilgallen
2001-05-08 21:40           ` Charles Hixson
2001-05-08 22:53             ` Larry Kilgallen
2001-05-09 16:00               ` Charles Hixson
2001-05-09 17:14                 ` Larry Kilgallen
2001-05-09  8:25           ` Tarjei T. Jensen
2001-05-09 12:28             ` Larry Kilgallen
2001-05-09 16:13               ` Charles Hixson
2001-05-10  7:17               ` Tarjei T. Jensen
2001-05-08 13:43     ` Marin David Condic
2001-05-12  2:58       ` Randy Brukardt
2001-05-12 13:07         ` Larry Kilgallen
2001-05-04  7:51 Lars Lundgren
2001-05-04  8:16 ` L.H.Jeong
2001-05-04  8:47   ` Lars Lundgren
2001-05-04 12:12     ` Marc A. Criley
2001-05-04 15:49       ` Marin David Condic
2001-05-04 17:46         ` tmoran
2001-05-04 18:46           ` Marin David Condic
2001-05-05  7:01             ` tmoran
2001-05-04 16:35     ` Jeffrey Carter
2001-05-04 11:00 ` Noam Kloos
2001-05-04 12:01   ` Lars Lundgren
replies disabled

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