comp.lang.ada
 help / color / mirror / Atom feed
* About studying Ada's implementation on its concurrent programming features.
@ 2007-05-30 19:08 climber.cui
  2007-05-30 23:46 ` jimmaureenrogers
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: climber.cui @ 2007-05-30 19:08 UTC (permalink / raw)


Hi ALL,

  I am currently working on implementing an experimental parallel/
concurrent programming language, and I am advised to look into Ada's
implementation on its concurrent programming constructs, e.g. the Ada
multi-tasking.
  Although some Ada compiler is open source, I still found it is very
hard to study Ada's implementation through the source code. So, what I
am looking for is relevant literatures that systematically documented
how an Ada compiler(like the GNU-ada compiler) is constructed. I have
found some articles from Annual International Conference on Ada, such
as Proceedings of the conference on TRI-Ada '94(some papers on GNAT),
and  Proceeding of the ACM-SIGPLAN symposium on Ada programming
language '80. But I am not sure these articles together describes the
design and implementation of an Ada compiler and runtime system.
There are plenty of papers on Ada's implementation available,but they
seem to be so scattered that I do not know where to start.
  I would very much appreciate suggestions from Ada compiler
developers and Ada experts.

  Thanks a lot.

cheers,

Xiao-lei




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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-30 19:08 About studying Ada's implementation on its concurrent programming features climber.cui
@ 2007-05-30 23:46 ` jimmaureenrogers
  2007-05-31  3:23 ` Steve
  2007-05-31  8:40 ` Georg Bauhaus
  2 siblings, 0 replies; 8+ messages in thread
From: jimmaureenrogers @ 2007-05-30 23:46 UTC (permalink / raw)


On May 30, 1:08 pm, climber....@gmail.com wrote:
> Hi ALL,
>
>   I am currently working on implementing an experimental parallel/
> concurrent programming language, and I am advised to look into Ada's
> implementation on its concurrent programming constructs, e.g. the Ada
> multi-tasking.

You might find some information by reading the Ada Reference Manual.
It describes the tasking features for Ada compilers.

Jim Rogers




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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-30 19:08 About studying Ada's implementation on its concurrent programming features climber.cui
  2007-05-30 23:46 ` jimmaureenrogers
@ 2007-05-31  3:23 ` Steve
  2007-05-31 12:53   ` Ed Falis
  2007-05-31  8:40 ` Georg Bauhaus
  2 siblings, 1 reply; 8+ messages in thread
From: Steve @ 2007-05-31  3:23 UTC (permalink / raw)


<climber.cui@gmail.com> wrote in message 
news:1180552110.488340.247990@g37g2000prf.googlegroups.com...
> Hi ALL,
>
>  I am currently working on implementing an experimental parallel/
> concurrent programming language, and I am advised to look into Ada's
> implementation on its concurrent programming constructs, e.g. the Ada
> multi-tasking.

I could be wrong, but I would think that the suggestion of looking into Ada 
with regard to concurrent programming was more of a suggestion of how Ada 
programs use concurrent programming, not how it is implemented by a 
particular compiler or run-time system.

The Ada programming language provides task types and protected objects that 
hide the implementation of tasking from the programmer.  These high level 
constructs eliminate dealing with low level things like semaphores, mutexes, 
and events.  This allows the concurrent programs to run on different 
operating systems without modification.

You can start at: http://en.wikibooks.org/wiki/Ada_Programming/Tasking for a 
description of programming tasks in Ada.  I think that is what you're 
looking for.  There are a number of good books on Ada that describe tasking. 
If you search the archives of this newsgroup you'll find lots of 
recomendations for both free and non-free books.  I'm particularly fond of 
the non-free "Programming in Ada 95" by Barnes.

On the other hand, if you want to look at how one implementation of Ada 
(GNAT) implements tasking, a good starting place is:

http://www.iuma.ulpgc.es/users/jmiranda/gnat-rts/index.htm

But as I mentioned earlier... I don't think that is what you are looking 
for.

Regards,
Steve
(The Duck)

>  Although some Ada compiler is open source, I still found it is very
> hard to study Ada's implementation through the source code. So, what I
> am looking for is relevant literatures that systematically documented
> how an Ada compiler(like the GNU-ada compiler) is constructed. I have
> found some articles from Annual International Conference on Ada, such
> as Proceedings of the conference on TRI-Ada '94(some papers on GNAT),
> and  Proceeding of the ACM-SIGPLAN symposium on Ada programming
> language '80. But I am not sure these articles together describes the
> design and implementation of an Ada compiler and runtime system.
> There are plenty of papers on Ada's implementation available,but they
> seem to be so scattered that I do not know where to start.
>  I would very much appreciate suggestions from Ada compiler
> developers and Ada experts.
>
>  Thanks a lot.
>
> cheers,
>
> Xiao-lei
> 





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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-30 19:08 About studying Ada's implementation on its concurrent programming features climber.cui
  2007-05-30 23:46 ` jimmaureenrogers
  2007-05-31  3:23 ` Steve
@ 2007-05-31  8:40 ` Georg Bauhaus
  2 siblings, 0 replies; 8+ messages in thread
From: Georg Bauhaus @ 2007-05-31  8:40 UTC (permalink / raw)


On Wed, 2007-05-30 at 12:08 -0700, climber.cui@gmail.com wrote:
>  So, what I
> am looking for is relevant literatures that systematically documented
> how an Ada compiler(like the GNU-ada compiler) is constructed. I have
> found some articles from Annual International Conference on Ada, such
> as Proceedings of the conference on TRI-Ada '94(some papers on GNAT),
> and  Proceeding of the ACM-SIGPLAN symposium on Ada programming
> language '80. But I am not sure these articles together describes the
> design and implementation of an Ada compiler and runtime system.

Perhaps you have seen this list of references?
http://www.iuma.ulpgc.es/users/jmiranda/gnat-rts/node57.htm







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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-31  3:23 ` Steve
@ 2007-05-31 12:53   ` Ed Falis
  2007-05-31 17:17     ` Ray Blaak
  0 siblings, 1 reply; 8+ messages in thread
From: Ed Falis @ 2007-05-31 12:53 UTC (permalink / raw)


If I were to pick up a single comprehensive book on concurrency in Ada,
it would be "Concurrency in Ada" by Burns and Welling.  A very good
description of the model and its use.  The only unfortunate part, is
that the new edition that covers Ada '05 is still pending publication,
though it can be preordered at Amazon under the title "Concurrent and
Real-Time Programming in Ada".  I expect that many of the weak points of
Ada 95 that the authors identified will be addressed in this new version
of the book due to changes in the language.



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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-31 12:53   ` Ed Falis
@ 2007-05-31 17:17     ` Ray Blaak
  2007-05-31 18:00       ` ezkcdude
  0 siblings, 1 reply; 8+ messages in thread
From: Ray Blaak @ 2007-05-31 17:17 UTC (permalink / raw)


Ed Falis <falis@verizon.net> writes:
> If I were to pick up a single comprehensive book on concurrency in Ada,
> it would be "Concurrency in Ada" by Burns and Welling.  A very good
> description of the model and its use.  The only unfortunate part, is
> that the new edition that covers Ada '05 is still pending publication,
> though it can be preordered at Amazon under the title "Concurrent and
> Real-Time Programming in Ada".  I expect that many of the weak points of
> Ada 95 that the authors identified will be addressed in this new version
> of the book due to changes in the language.

I second this. It is especially good at explaining concurrency pitfalls with
specific Ada issues, in particular how Ada's concurrency features tend to
encourage "busy waiting" loops, and how to avoid that.

-- 
Cheers,                                        The Rhythm is around me,
                                               The Rhythm has control.
Ray Blaak                                      The Rhythm is inside me,
rAYblaaK@STRIPCAPStelus.net                    The Rhythm has my soul.



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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-31 17:17     ` Ray Blaak
@ 2007-05-31 18:00       ` ezkcdude
  2007-05-31 20:27         ` Ray Blaak
  0 siblings, 1 reply; 8+ messages in thread
From: ezkcdude @ 2007-05-31 18:00 UTC (permalink / raw)


On May 31, 12:17 pm, Ray Blaak <rAYbl...@STRIPCAPStelus.net> wrote:
> Ed Falis <f...@verizon.net> writes:
> > If I were to pick up a single comprehensive book on concurrency in Ada,
> > it would be "Concurrency in Ada" by Burns and Welling.  A very good
> > description of the model and its use.  The only unfortunate part, is
> > that the new edition that covers Ada '05 is still pending publication,
> > though it can be preordered at Amazon under the title "Concurrent and
> > Real-Time Programming in Ada".  I expect that many of the weak points of
> > Ada 95 that the authors identified will be addressed in this new version
> > of the book due to changes in the language.
>
> I second this. It is especially good at explaining concurrency pitfalls with
> specific Ada issues, in particular how Ada's concurrency features tend to
> encourage "busy waiting" loops, and how to avoid that.
>
> --
> Cheers,                                        The Rhythm is around me,
>                                                The Rhythm has control.
> Ray Blaak                                      The Rhythm is inside me,
> rAYbl...@STRIPCAPStelus.net                    The Rhythm has my soul.

You guys know more than me, but the (free) Ben-Ari book ("ASE"
available online as a pdf) has two chapters on concurrency and lots of
direct discussion of the ARM. That may be a place to start. It sure
doesn't cost anything.




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

* Re: About studying Ada's implementation on its concurrent programming features.
  2007-05-31 18:00       ` ezkcdude
@ 2007-05-31 20:27         ` Ray Blaak
  0 siblings, 0 replies; 8+ messages in thread
From: Ray Blaak @ 2007-05-31 20:27 UTC (permalink / raw)


ezkcdude <zamir.evan@gmail.com> writes:
> You guys know more than me, but the (free) Ben-Ari book ("ASE"
> available online as a pdf) has two chapters on concurrency and lots of
> direct discussion of the ARM. That may be a place to start. It sure
> doesn't cost anything.

While I haven't read that, it is certainly a good thing to find useful free
stuff.

However, if you are seriously interested in understanding Ada concurrency
issues, "Concurrency in Ada" is definitely a worthwhile purchase.
-- 
Cheers,                                        The Rhythm is around me,
                                               The Rhythm has control.
Ray Blaak                                      The Rhythm is inside me,
rAYblaaK@STRIPCAPStelus.net                    The Rhythm has my soul.



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

end of thread, other threads:[~2007-05-31 20:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-30 19:08 About studying Ada's implementation on its concurrent programming features climber.cui
2007-05-30 23:46 ` jimmaureenrogers
2007-05-31  3:23 ` Steve
2007-05-31 12:53   ` Ed Falis
2007-05-31 17:17     ` Ray Blaak
2007-05-31 18:00       ` ezkcdude
2007-05-31 20:27         ` Ray Blaak
2007-05-31  8:40 ` Georg Bauhaus

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