* tutorial for concurrent programming techniques (in Ada).
@ 2018-05-20 10:53 Mehdi Saada
2018-05-20 14:21 ` Dennis Lee Bieber
2018-05-22 14:25 ` Olivier Henley
0 siblings, 2 replies; 12+ messages in thread
From: Mehdi Saada @ 2018-05-20 10:53 UTC (permalink / raw)
Hello.
Is there somewhere such tutorial online ?
Something with the basic techniques, and the use of standard libraries ?
I'm at my first scheduling program, and I'm always telling myself "I would like to do that and that, I saw it somewhere but I've no clue how to do it". Things that are complicated per se, but beginners would gain to see gathered.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-20 10:53 tutorial for concurrent programming techniques (in Ada) Mehdi Saada
@ 2018-05-20 14:21 ` Dennis Lee Bieber
2018-05-20 14:50 ` Simon Wright
2018-05-22 14:25 ` Olivier Henley
1 sibling, 1 reply; 12+ messages in thread
From: Dennis Lee Bieber @ 2018-05-20 14:21 UTC (permalink / raw)
On Sun, 20 May 2018 03:53:18 -0700 (PDT), Mehdi Saada <00120260a@gmail.com>
declaimed the following:
>Hello.
>
>Is there somewhere such tutorial online ?
Well...
https://en.wikibooks.org/wiki/Ada_Style_Guide/Concurrency
https://en.wikibooks.org/wiki/Ada_Programming/Tasking
Though in truth, one should have some familiarity with general tasking
concepts (semaphores, mutex, critical section) -- which used to be part of
any course in Operating Systems.
Mostly concerned with hard real-time:
https://www.amazon.com/Concurrent-Real-Time-Programming-Alan-Burns/dp/0521866979/ref=sr_1_1?ie=UTF8&qid=1526825181&sr=8-1&keywords=alan+burns+ada
https://www.amazon.com/Analysable-Real-Time-Systems-Programmed-Ada/dp/1530265509/ref=sr_1_2?ie=UTF8&qid=1526825220&sr=8-2&keywords=alan+burns+ada
(hmm, time for a new book, methinks)
https://www.amazon.com/Real-Time-Systems-Programming-Languages/dp/0201729881/ref=sr_1_3?ie=UTF8&qid=1526825302&sr=8-3&keywords=alan+burns+ada
More general...
https://www.adacore.com/papers/a-comparison-of-the-concurrency-and-real-time-features-of-ada-95-and-java
https://www.amazon.com/Communicating-Sequential-Processes-International-Computing/dp/0131532715/ref=sr_1_1?s=books&ie=UTF8&qid=1526825540&sr=1-1&keywords=communicating+sequential+processes
http://greenteapress.com/wp/semaphores/ (semaphores can be modeled in Ada
using protected objects; though I seem to recall textbooks pre-Ada95
showing how to do them via rendezvous and tasks)
>Something with the basic techniques, and the use of standard libraries ?
Ada's tasking model is built into the language itself, and is not a
library (except as affected by the degree of the run-time system and OS
features -- bare-board development requires one to provide a run-time that
supports tasking natively, whereas Linux/Windows development punts from the
run-time to the OS).
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-20 14:21 ` Dennis Lee Bieber
@ 2018-05-20 14:50 ` Simon Wright
0 siblings, 0 replies; 12+ messages in thread
From: Simon Wright @ 2018-05-20 14:50 UTC (permalink / raw)
Dennis Lee Bieber <wlfraed@ix.netcom.com> writes:
> bare-board development requires one to provide a run-time that
> supports tasking natively, whereas Linux/Windows development punts
> from the run-time to the OS)
Or you could do without tasking, either via total bare-metal work like
Maciej Sobczak's http://www.inspirel.com/articles/Ada_On_Cortex.html, or
using an AdaCore 'zero footprint' runtime.
Or you could build a tasking runtime over something like FreeRTOS.
AdaCore had (probably still have) a full runtime built over VxWorks.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-20 10:53 tutorial for concurrent programming techniques (in Ada) Mehdi Saada
2018-05-20 14:21 ` Dennis Lee Bieber
@ 2018-05-22 14:25 ` Olivier Henley
2018-05-23 9:58 ` Mehdi Saada
1 sibling, 1 reply; 12+ messages in thread
From: Olivier Henley @ 2018-05-22 14:25 UTC (permalink / raw)
On Sunday, May 20, 2018 at 6:53:19 AM UTC-4, Mehdi Saada wrote:
> Hello.
>
> Is there somewhere such tutorial online ?
> Something with the basic techniques, and the use of standard libraries ?
> I'm at my first scheduling program, and I'm always telling myself "I would like to do that and that, I saw it somewhere but I've no clue how to do it". Things that are complicated per se, but beginners would gain to see gathered.
Not a tutorial per se, but this is an !AWESOME! read:
Concurrent and Real-Time Programming in Ada
You can find it used for 45$ on abebooks:
https://www.abebooks.com/servlet/BookDetailsPL?bi=22614371303&searchurl=isbn%3D0521866979%26sortby%3D17&cm_sp=snippet-_-srp1-_-title1
From what I covered this one also is great. I have not finished it yet...
Building Parallel, Embedded, and Real-Time Applications with Ada (Covers PolyORB, for distributed programming):
https://www.abebooks.com/servlet/BookDetailsPL?bi=20998811506&searchurl=isbn%3D0521197163%26sortby%3D17&cm_sp=snippet-_-srp1-_-title1
Definitely the first one. You will greatly cover tasks, protected objects and real-time scheduling. All along it exemplify how to program different systems like worker pool, futures etc. Worth every penny.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-22 14:25 ` Olivier Henley
@ 2018-05-23 9:58 ` Mehdi Saada
2018-05-23 13:43 ` Dennis Lee Bieber
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Mehdi Saada @ 2018-05-23 9:58 UTC (permalink / raw)
I wanted to buy the second but it's available for kindle model, and I can't install kindle on my computer because of linux. F$%kin' Amazon, really. I never had to complain about them, but this time !
Being of the same people, I've been supposing the second book covers the first ?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-23 9:58 ` Mehdi Saada
@ 2018-05-23 13:43 ` Dennis Lee Bieber
2018-05-23 17:30 ` Olivier Henley
2018-05-23 23:10 ` stumptroll
2 siblings, 0 replies; 12+ messages in thread
From: Dennis Lee Bieber @ 2018-05-23 13:43 UTC (permalink / raw)
On Wed, 23 May 2018 02:58:32 -0700 (PDT), Mehdi Saada <00120260a@gmail.com>
declaimed the following:
>I wanted to buy the second but it's available for kindle model, and I can't install kindle on my computer because of linux. F$%kin' Amazon, really. I never had to complain about them, but this time !
>Being of the same people, I've been supposing the second book covers the first ?
If you've been looking via Amazon, you could (at least in the US) use
the "Look Inside" feature to compare the Table of Contents.
C&RT focuses on some of the more esoteric features of Ada (one chapter
just on "rendezvous" followed by one on using "select", a chapter just on
"requeue", two chapters on scheduling).
BPERT is more generic; a chapter for protected objects, a chapter for
rendezvous, chapter on distributed systems.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-23 9:58 ` Mehdi Saada
2018-05-23 13:43 ` Dennis Lee Bieber
@ 2018-05-23 17:30 ` Olivier Henley
2018-05-23 23:10 ` stumptroll
2 siblings, 0 replies; 12+ messages in thread
From: Olivier Henley @ 2018-05-23 17:30 UTC (permalink / raw)
On Wednesday, May 23, 2018 at 5:58:34 AM UTC-4, Mehdi Saada wrote:
> I wanted to buy the second but it's available for kindle model, and I can't install kindle on my computer because of linux. F$%kin' Amazon, really. I never had to complain about them, but this time !
> Being of the same people, I've been supposing the second book covers the first ?
The first book goes deeper about concurrency and scheduling. ~300p on concurrency and ~150p on scheduling. (Alan Burns and Andy Wellings)
The second book is ~100p to present the Ada itself (type model, oop etc), ~100p for concurrency, ~100p for distributed computing (PolyORB, Corba, etc) and finally ~100p for real-time and scheduling. (John W. McCormick, Frank Singhoff, Jerome Hugues)
Note: It looks to me they are not the same people.
Best is to buy both. They are very neat book and inspire to do everything using Ada. :)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-23 9:58 ` Mehdi Saada
2018-05-23 13:43 ` Dennis Lee Bieber
2018-05-23 17:30 ` Olivier Henley
@ 2018-05-23 23:10 ` stumptroll
2018-05-23 23:30 ` Olivier Henley
2 siblings, 1 reply; 12+ messages in thread
From: stumptroll @ 2018-05-23 23:10 UTC (permalink / raw)
On Wednesday, May 23, 2018 at 9:58:34 PM UTC+12, Mehdi Saada wrote:
> I wanted to buy the second but it's available for kindle model, and I can't install kindle on my computer because of linux. F$%kin' Amazon, really. I never had to complain about them, but this time !
> Being of the same people, I've been supposing the second book covers the first ?
Prometheus comes to rescue... Here you go, enjoy:
http://libgen.io/search.php?req=real-time+ada&lg_topic=libgen&open=0&view=simple&res=25&phrase=1&column=def
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-23 23:10 ` stumptroll
@ 2018-05-23 23:30 ` Olivier Henley
2018-05-24 11:52 ` Mehdi Saada
0 siblings, 1 reply; 12+ messages in thread
From: Olivier Henley @ 2018-05-23 23:30 UTC (permalink / raw)
ok but if I may... as a reminder:
To buy the book is to support both the authors and the publisher for their great work.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-23 23:30 ` Olivier Henley
@ 2018-05-24 11:52 ` Mehdi Saada
2018-05-24 17:59 ` Mehdi Saada
2018-05-28 13:47 ` Olivier Henley
0 siblings, 2 replies; 12+ messages in thread
From: Mehdi Saada @ 2018-05-24 11:52 UTC (permalink / raw)
I mixed up names, sorry.
Wait... what ? Hard to believe this repository is even legal. Those books ain't that old yet !
I respect these authors, but I'm a poor student, without scholarship, no personal income, and I even had to rely on a lover's generosity to get the spark intro and Barnes book. For sure I'll support them as soon as possible.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-24 11:52 ` Mehdi Saada
@ 2018-05-24 17:59 ` Mehdi Saada
2018-05-28 13:47 ` Olivier Henley
1 sibling, 0 replies; 12+ messages in thread
From: Mehdi Saada @ 2018-05-24 17:59 UTC (permalink / raw)
You were right, the first book is a gem, even the style of writing appeals me a lot. It seems clearer, closer to the Ada programmer's need, while the other spends seems (more) bent on selling the language to newcomers.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: tutorial for concurrent programming techniques (in Ada).
2018-05-24 11:52 ` Mehdi Saada
2018-05-24 17:59 ` Mehdi Saada
@ 2018-05-28 13:47 ` Olivier Henley
1 sibling, 0 replies; 12+ messages in thread
From: Olivier Henley @ 2018-05-28 13:47 UTC (permalink / raw)
I remember those days, struggling with all the expenses while having very few income. :)
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-05-28 13:47 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-20 10:53 tutorial for concurrent programming techniques (in Ada) Mehdi Saada
2018-05-20 14:21 ` Dennis Lee Bieber
2018-05-20 14:50 ` Simon Wright
2018-05-22 14:25 ` Olivier Henley
2018-05-23 9:58 ` Mehdi Saada
2018-05-23 13:43 ` Dennis Lee Bieber
2018-05-23 17:30 ` Olivier Henley
2018-05-23 23:10 ` stumptroll
2018-05-23 23:30 ` Olivier Henley
2018-05-24 11:52 ` Mehdi Saada
2018-05-24 17:59 ` Mehdi Saada
2018-05-28 13:47 ` Olivier Henley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox