* ANN: Simple components for Ada v3.0
@ 2008-05-11 14:42 Dmitry A. Kazakov
2008-05-11 20:09 ` John McCabe
0 siblings, 1 reply; 3+ messages in thread
From: Dmitry A. Kazakov @ 2008-05-11 14:42 UTC (permalink / raw)
This version provides implementations of various locking primitives:
- Plain events which can be signaled, reset and awaited for;
- Arrays of events which can be signaled, reset and awaited in any
combination of in race condition free way;
- Arrays of reentrant mutexes, deadlock-free with an enforced order of
locking;
- Race condition free event distributing pulsed value to multiple tasks;
- Reentrant mutexes;
- Race condition free pulse events.
The documentation provides a discussion of using protected objects in Ada.
It represents a programming pattern for using entry parameter values in the
barrier and shows a way of avoiding race conditions. It also includes
- A solution of the problem of tasks synchronization at a check point
based on sets of events;
- A solution of the dining philosophers problem based on sets of
mutexes.
http://www.dmitry-kazakov.de/ada/components.htm
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: ANN: Simple components for Ada v3.0
2008-05-11 14:42 ANN: Simple components for Ada v3.0 Dmitry A. Kazakov
@ 2008-05-11 20:09 ` John McCabe
2008-05-12 8:16 ` Dmitry A. Kazakov
0 siblings, 1 reply; 3+ messages in thread
From: John McCabe @ 2008-05-11 20:09 UTC (permalink / raw)
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:
>This version provides implementations of various locking primitives:
>
> - Plain events which can be signaled, reset and awaited for;
> - Arrays of events which can be signaled, reset and awaited in any
>combination of in race condition free way;
> - Arrays of reentrant mutexes, deadlock-free with an enforced order of
>locking;
> - Race condition free event distributing pulsed value to multiple tasks;
> - Reentrant mutexes;
> - Race condition free pulse events.
Dmitry
Are any of these (and your earlier releases on shared objects etc)
based on the discussions in the Burns & Wellings book?
Thanks
John
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: ANN: Simple components for Ada v3.0
2008-05-11 20:09 ` John McCabe
@ 2008-05-12 8:16 ` Dmitry A. Kazakov
0 siblings, 0 replies; 3+ messages in thread
From: Dmitry A. Kazakov @ 2008-05-12 8:16 UTC (permalink / raw)
On Sun, 11 May 2008 21:09:26 +0100, John McCabe wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:
>
>>This version provides implementations of various locking primitives:
>>
>> - Plain events which can be signaled, reset and awaited for;
>> - Arrays of events which can be signaled, reset and awaited in any
>>combination of in race condition free way;
>> - Arrays of reentrant mutexes, deadlock-free with an enforced order of
>>locking;
>> - Race condition free event distributing pulsed value to multiple tasks;
>> - Reentrant mutexes;
>> - Race condition free pulse events.
>
> Are any of these (and your earlier releases on shared objects etc)
> based on the discussions in the Burns & Wellings book?
As far as I can tell, no.
For example, they solve the dining philosophers using a butler task. The
solution based on an array of mutexes uses no extra tasks, instead, seizing
forks is atomic. (If not, due to a programming error, an exception is
propagated when one of the philosophers starts eating. That is locking
ordering enforcing.)
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-05-12 8:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-11 14:42 ANN: Simple components for Ada v3.0 Dmitry A. Kazakov
2008-05-11 20:09 ` John McCabe
2008-05-12 8:16 ` Dmitry A. Kazakov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox