* Ada as a real time language @ 2002-08-28 8:45 Marcus Hedlund 2002-08-28 13:05 ` Marin D. Condic ` (3 more replies) 0 siblings, 4 replies; 12+ messages in thread From: Marcus Hedlund @ 2002-08-28 8:45 UTC (permalink / raw) Hi! I was just wondering about the real-time quality in the Ada language. Is it possible to write a good hard real-time system without a RTOS, or is it necesary to use a RTOS to achieve good real-time proporties? Any help will be greatly appreciated //M.Hedlund ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 8:45 Ada as a real time language Marcus Hedlund @ 2002-08-28 13:05 ` Marin D. Condic 2002-08-28 13:20 ` John McCabe ` (2 subsequent siblings) 3 siblings, 0 replies; 12+ messages in thread From: Marin D. Condic @ 2002-08-28 13:05 UTC (permalink / raw) I have no idea what you mean when you ask about writing hard realtime with/without an RTOS. Having an RTOS or not doesn't have much to do with Ada. You can write Ada programs for a bare board if you have an appropriate compiler. In that case, the embedded target compiler would come with a runtime library that did some of the work of an RTOS (scheduling, etc.) If you have an RTOS and an Ada compiler that targets the RTOS/board combination then, quite naturally, you can write hard realtime systems with it. If you have a non-RTOS on the hardware in question (Windows, for example) then there isn't anything that Ada or any other language can do for you to enable hard realtime development - unless you simply move the OS out of the way and write to the bare machine. In general, Ada has excellent features to support development of realtime and embedded applications. However, you must always keep in mind that not all compilers are created equal and you need to evaluate the available implementations to determine which is best for your application. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling Digital. Our Vision is to be the biggest supplier worldwide of digital gateway technology. www.pacemicro.com "Marcus Hedlund" <marcus.hedlund@avionics.saab.se> wrote in message news:aki282$jhp$1@newstoo.ericsson.se... > Hi! > > I was just wondering about the real-time quality in the Ada language. > Is it possible to write a good hard real-time system without a RTOS, or > is it necesary to use a RTOS to achieve good real-time proporties? > > Any help will be greatly appreciated > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 8:45 Ada as a real time language Marcus Hedlund 2002-08-28 13:05 ` Marin D. Condic @ 2002-08-28 13:20 ` John McCabe 2002-08-28 13:37 ` Pat Rogers 2002-08-28 15:25 ` Mikael Lundqvist 2002-08-28 17:27 ` Ted Dennison 3 siblings, 1 reply; 12+ messages in thread From: John McCabe @ 2002-08-28 13:20 UTC (permalink / raw) On Wed, 28 Aug 2002 10:45:18 +0200, "Marcus Hedlund" <marcus.hedlund@avionics.saab.se> wrote: >Hi! > >I was just wondering about the real-time quality in the Ada language. >Is it possible to write a good hard real-time system without a RTOS, or >is it necesary to use a RTOS to achieve good real-time proporties? >Any help will be greatly appreciated Correct me if I'm wrong, but I think the Ravenscar profile has something to do with HRT systems. If you look on the web for Ada and Ravenscar you might find something useful. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 13:20 ` John McCabe @ 2002-08-28 13:37 ` Pat Rogers 2002-08-28 15:05 ` John McCabe 0 siblings, 1 reply; 12+ messages in thread From: Pat Rogers @ 2002-08-28 13:37 UTC (permalink / raw) "John McCabe" <john.nospam@nospamassen.nospamdemon.co.uk> wrote in message news:3d6cce03.19310466@news.demon.co.uk... > Correct me if I'm wrong, but I think the Ravenscar profile has > something to do with HRT systems. If you look on the web for Ada and > Ravenscar you might find something useful. The Ravenscar Profile is appropriate for hard real-time systems, in and of itself, but it is especially appropriate for systems that involve the kinds of analyses required for high-integrity applications. As a subset of the language intended for safety-critical applications it is not necessarily optimal for more general real-time designs, although the restrictions it imposes are reasonable for small footprint, high performance, hard real-time systems. Don't get me wrong -- I'm an advocate of Ravenscar -- I'm just saying that Ravenscar is not the sum and total of Ada's real-time capabilities. Since the OP was asking in the most general sense I thought it best to provide a more precise description of Ravenscar's domain. -- Patrick Rogers Consulting and Training in: http://www.classwide.com Real-Time/OO Languages progers@classwide.com Hard Deadline Schedulability Analysis (281)648-3165 Software Fault Tolerance ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 13:37 ` Pat Rogers @ 2002-08-28 15:05 ` John McCabe 0 siblings, 0 replies; 12+ messages in thread From: John McCabe @ 2002-08-28 15:05 UTC (permalink / raw) On Wed, 28 Aug 2002 13:37:27 GMT, "Pat Rogers" <progers@classwide.com> wrote: >"John McCabe" <john.nospam@nospamassen.nospamdemon.co.uk> wrote in >message news:3d6cce03.19310466@news.demon.co.uk... >> Correct me if I'm wrong, but I think the Ravenscar profile has >> something to do with HRT systems. If you look on the web for Ada and >> Ravenscar you might find something useful. > >The Ravenscar Profile is appropriate for hard real-time systems, in >and of itself, but it is especially appropriate for systems that >involve the kinds of analyses required for high-integrity >applications. As a subset of the language intended for >safety-critical applications it is not necessarily optimal for more >general real-time designs, although the restrictions it imposes are >reasonable for small footprint, high performance, hard real-time >systems. > >Don't get me wrong -- I'm an advocate of Ravenscar -- I'm just saying >that Ravenscar is not the sum and total of Ada's real-time >capabilities. Since the OP was asking in the most general sense I >thought it best to provide a more precise description of Ravenscar's >domain. That seems perfectly reasonable so thank you. I expected to be able to find something on the Ada IC site about Ravenscar, but it wasn't obvious from the front page where it would be, and there doesn't appear to be a search engine so I kind of gave up at that point (which is when I suggested the OP should look himself :-) ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 8:45 Ada as a real time language Marcus Hedlund 2002-08-28 13:05 ` Marin D. Condic 2002-08-28 13:20 ` John McCabe @ 2002-08-28 15:25 ` Mikael Lundqvist 2002-08-28 15:44 ` Thierry Lelegard ` (4 more replies) 2002-08-28 17:27 ` Ted Dennison 3 siblings, 5 replies; 12+ messages in thread From: Mikael Lundqvist @ 2002-08-28 15:25 UTC (permalink / raw) I have heard that the Ada Run Time doesn't handle load that well. If you have to many tasks or to much input/output the Runtime gives in so to speak. In that regard you should be better of with a RTOS. I have not any experience myself with large Ada programs. Anybody out there who could comment? Regards, Mikael Marcus Hedlund wrote: > Hi! > > I was just wondering about the real-time quality in the Ada language. > Is it possible to write a good hard real-time system without a RTOS, or > is it necesary to use a RTOS to achieve good real-time proporties? > > Any help will be greatly appreciated > > //M.Hedlund ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 15:25 ` Mikael Lundqvist @ 2002-08-28 15:44 ` Thierry Lelegard 2002-08-28 15:44 ` Pat Rogers ` (3 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Thierry Lelegard @ 2002-08-28 15:44 UTC (permalink / raw) > I have heard that the Ada Run Time doesn't handle load > that well. If you have to many tasks or to much input/output > the Runtime gives in so to speak. In that regard you should > be better of with a RTOS. I have not any experience myself > with large Ada programs. Anybody out there who could comment? There is no such thing as "THE" Ada Run Time. There are as many implementations of an Ada Run Time as compiler/platform combinations. Using DEC Ada (Ada83) on OpenVMS systems, we had applications using up to 6000 tasks in one single process, with a high I/O rate, which run quite smoothly. You can acheive this with a robust and versatile O/S and a perfect integration of the Ada Run Time with the underlying O/S. -Thierry Lelegard ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 15:25 ` Mikael Lundqvist 2002-08-28 15:44 ` Thierry Lelegard @ 2002-08-28 15:44 ` Pat Rogers 2002-08-28 15:49 ` Steve O'Neill ` (2 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Pat Rogers @ 2002-08-28 15:44 UTC (permalink / raw) "Mikael Lundqvist" <mikael.lundqvist@avionics.saab.se> wrote in message news:3D6CEB7E.E6930EAD@avionics.saab.se... > I have heard that the Ada Run Time doesn't handle load > that well. If you have to many tasks or to much input/output > the Runtime gives in so to speak. In that regard you should > be better of with a RTOS. I have not any experience myself > with large Ada programs. Anybody out there who could comment? To be precise, there is no such thing as *The* Ada Run-Time; perhaps you heard about some vendor's buggy *implementation*? There is no reason to expect an implementation to fail (is that what you mean by "give in"?) because there are many tasks or a lot of I/O. Failure in such a case would be a bug. Certainly the performance will vary with the load, just as it would with an (RT)OS present. If the performance degrades more quickly than necessary, that is either a poor implementation or one that is making tradeoffs in other areas that are not appropriate for the specific application. Who knows. For that matter, when Ada is used with an RTOS it is reasonable (and probably typical) to expect that an Ada task is mapped directly to an RTOS thread -- on other words, an Ada task *is* an RTOS thread -- so there would be no difference. That is the case with GNAT on VxWorks, to cite one example vendor and RTOS. We'd be better sticking to facts than what one has heard. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 15:25 ` Mikael Lundqvist 2002-08-28 15:44 ` Thierry Lelegard 2002-08-28 15:44 ` Pat Rogers @ 2002-08-28 15:49 ` Steve O'Neill 2002-08-28 17:01 ` Larry Kilgallen 2002-08-29 0:47 ` Jerry Petrey 4 siblings, 0 replies; 12+ messages in thread From: Steve O'Neill @ 2002-08-28 15:49 UTC (permalink / raw) Mikael Lundqvist wrote: > > I have heard that the Ada Run Time doesn't handle load > that well. If you have to many tasks or to much input/output > the Runtime gives in so to speak. Well, I certainly can't speak for all implementations but I would consider this to be 1) a sweeping generalization 2) hearsay 3) urban legend In any case I'd prefer that you not repeat this kind of potential mis-information. Unless, of course, you have specific knowledge where this is true. > In that regard you should be better of with a RTOS. Maybe, maybe not. > I have not any experience myself with large Ada programs. Then I have to wonder about the value of this information. > Anybody out there who could comment? Yes. I *do* have experience with numerous Ada programs both large and small. Some of these used RTOS' while others did not. I can say that neither the Ada language nor the Ada run-time have ever been an obstacle to producing real-time systems. As others have said the primary reason that we would use an RTOS was for the other services that they provide - not for performance reasons. This is not to say that you should blindly ignore potential performance issues - you must keep these in mind as you design your system. Steve O'Neill ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 15:25 ` Mikael Lundqvist ` (2 preceding siblings ...) 2002-08-28 15:49 ` Steve O'Neill @ 2002-08-28 17:01 ` Larry Kilgallen 2002-08-29 0:47 ` Jerry Petrey 4 siblings, 0 replies; 12+ messages in thread From: Larry Kilgallen @ 2002-08-28 17:01 UTC (permalink / raw) In article <3D6CEB7E.E6930EAD@avionics.saab.se>, Mikael Lundqvist <mikael.lundqvist@avionics.saab.se> writes: > I have heard that the Ada Run Time doesn't handle load > that well. If you have to many tasks or to much input/output > the Runtime gives in so to speak. In that regard you should > be better of with a RTOS. I have not any experience myself > with large Ada programs. Anybody out there who could comment? There is no such entity as "the Ada Run Time". There may be one associated with particular Ada implementations, but performance characteristics are associated with particular implementations and not with the conceptual notion. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 15:25 ` Mikael Lundqvist ` (3 preceding siblings ...) 2002-08-28 17:01 ` Larry Kilgallen @ 2002-08-29 0:47 ` Jerry Petrey 4 siblings, 0 replies; 12+ messages in thread From: Jerry Petrey @ 2002-08-29 0:47 UTC (permalink / raw) Mikael Lundqvist wrote: > I have heard that the Ada Run Time doesn't handle load > that well. If you have to many tasks or to much input/output > the Runtime gives in so to speak. In that regard you should > be better of with a RTOS. I have not any experience myself > with large Ada programs. Anybody out there who could comment? > > We use DDCI Ada with its runtime on a 72 Mhz 80486 in the missile I work on. It has about 32 tasks and handles all our navigation, guidance and control without any problems. Jerry -- --------------------------------------------------------------------------------- -- Jerry Petrey -- Senior Principal Systems Engineer - Navigation (GPS/INS), Guidance, & Control -- Raytheon Missile Systems - Member Team Ada & Team Forth -- NOTE: please remove <NOSPAM> in email address to reply --------------------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Ada as a real time language 2002-08-28 8:45 Ada as a real time language Marcus Hedlund ` (2 preceding siblings ...) 2002-08-28 15:25 ` Mikael Lundqvist @ 2002-08-28 17:27 ` Ted Dennison 3 siblings, 0 replies; 12+ messages in thread From: Ted Dennison @ 2002-08-28 17:27 UTC (permalink / raw) "Marcus Hedlund" <marcus.hedlund@avionics.saab.se> wrote in message news:<aki282$jhp$1@newstoo.ericsson.se>... > I was just wondering about the real-time quality in the Ada language. > Is it possible to write a good hard real-time system without a RTOS, or > is it necesary to use a RTOS to achieve good real-time proporties? We wrote a military-grade flight simulator, including its real-time scheduler, using no OS calls whatsoever (with the exception of one call to set the RTC frequency). Thus was under vxWorks, but all synchronization and scheduling was done using standard Ada calls, and thus should be portable to any system that supports the real-time annex (and can cycle fast enough). We ran the same code under NT with no trouble, other than the trouble one would expect when using a non-realtime OS. Its certainly easier to do this kind of thing in Ada than it is using any other language. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2002-08-29 0:47 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-08-28 8:45 Ada as a real time language Marcus Hedlund 2002-08-28 13:05 ` Marin D. Condic 2002-08-28 13:20 ` John McCabe 2002-08-28 13:37 ` Pat Rogers 2002-08-28 15:05 ` John McCabe 2002-08-28 15:25 ` Mikael Lundqvist 2002-08-28 15:44 ` Thierry Lelegard 2002-08-28 15:44 ` Pat Rogers 2002-08-28 15:49 ` Steve O'Neill 2002-08-28 17:01 ` Larry Kilgallen 2002-08-29 0:47 ` Jerry Petrey 2002-08-28 17:27 ` Ted Dennison
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox