From: Bob Leif
To: Nick Roberts et al.
You should start with the existing H. Shen and T. P. Baker, “A Linux Kernel
Module Implementation of Restricted Ada Tasking”, Ada letters XIX, No 2 pp.
Please be very careful in your choice of design tools to be able to take
advantage of Ada generics. Most "Object Oriented" design tools are tailored
for C++ and Java. C++ hacks generally avoid templates and Java does not even
have templates. Neither has range-checking. My experience has been that Ada
generics with an included tagged type (Metaclasses) are an excellent way to
model the real-world.
From: Nick Roberts [mailto:[log in to unmask]]
Sent: Wednesday, March 22, 2000 10:09 AM
To: [log in to unmask]
Cc: [log in to unmask]
Subject: Re: Newbie to AdaOS List
----- Original Message -----
From: "Mark F Rodriguez" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Thursday, March 16, 2000 10:11 PM
Subject: Re: Newbie to AdaOS List
> Curious if there's any plans to design the OS to be capable of handling
> portable consumer devices like the Palm organizer. The reason for my
> is that I am embarking on my dissertation and thought the reliability and
> scalability of Ada95 would be the perfect programming language for such a
Our plans are currently to implement AdaOS on the bog-standard PC (386 or
compatible) first, and then to branch out from there (to all varieties of
different processor and machine architecture). There's no reason why this
shouldn't include PDAs and the like (especially since AdaOS will be
microkernel based, and highly modular).
Ada 95 is ideal for programming these devices for several reasons:
reliability is often of particular importance for 'consumer devices', and
Ada is designed with reliability as a very high priority; efficiency of the
resulting code (in terms of speed and size) is typically of greater
importance than on bigger machines, because of reduced memory and storage
capacity, as well as reduced processor speed, and Ada is a compiled language
that does not obstruct the generation of well optimised code; although Ada
was designed as a general-purpose programming language, its original main
application domain was embedded devices*.
> I have been designing the system for about 3 months and would very much
> to collaborate and join the AdaOS team - I have no desire to reinvent the
> wheel. All my modeling is done with the Unified Modeling Language (UML)
> I would love to discuss issues pertaining to the kernel, the system API,
> application frameworks, GUI, and general object-oriented design issues. Is
> this the place to discuss those issues or is there a "working" site like
> http://www.sourceforge.net or some other web-based project collaboration
Yes, this is the place to discuss all such issues. We (at least I ;-) would
be delighted to discuss these issues with you.
I decided to define our interfaces in OMG IDL, since I felt that UML might
be felt to be 'overkill' by AdaOS project members, for our purposes. I
suspect that they would all rather heartily agree with me on this one (but
if there are any members who don't, then speak now). So far, our project is
actually quite small; if it grows appreciably (and at this rate, it just
might!), we may want to consider using UML after all.
Perhaps the one thing we won't really be discussing here are general
object-oriented design issues. Not only are these argued about endlessly
elsewhere anyway, but they tend not to be of a very pragmatic nature, and
our project is going to have be very pragmatic.
The biggest problem, from your point of view, is that our timescale is
likely to span the next 4-5 years to produce a working OS, and another 4-5
before we get to porting it to small devices. We would be happy to discuss
the issues for you, but I'm afraid it's unlikely that we will be able to
collaborate in the production of code on a timescale suited to your
dissertation. Sorry :-(
* Yes, this includes the kind of embedded device that is designed to fly
halfway across the world and then blow up a city. But it also includes
communications satellites, commercial aircraft, the Space Shuttle,
driverless train systems, and all manner of others.
PS: I've CCed this to the Team Ada list, on the off chance it may be of
interest there. Hope no-one minds.