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. 96..103 (1999). 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. -----Original Message----- 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 asking > 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 > device. 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 like > 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) and > 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 > application? 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 :-( -- Nick Roberts http://www.adapower.com/lab/adaos * 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.