Abstract
This Gem marks a brief break from SPARK, which will return in two weeks with the first in a series of six Gems on that topic. Encapsulating shared variables inside protected operations is not always possible. This Gem shows how to add mutual exclusion to existing sequential code using a combination of controlled and protected types, such that the resulting code is robust and minimally changed.
Index Terms
Gem #70: the scope locks idiom
Recommendations
Gem #56: creating Ada to Java calls using GNAT-AJIS
In a previous Gem we introduced ada2java, which maps an Ada specification to a Java specification, to support calls from Java to Ada. Even though ada2java doesn't support creating Ada bindings of Java specs, it's still possible to use it to support ...
Gem #37: bounded buffer package in GNAT hierarchy (part 2)
Ada Gem #37 --- Part 1 of this Gem briefly introduced bounded buffers, protected types, and the declaration of the generic package GNAT. Bounded_Buffers, exporting protected type Bounded_Buffer. In Part 2 of the Gem we examine the private part of ...
Gem #84: the distributed systems annex 1 -- simple client/server
Ada Gem #84 --- This is the first in a series of Gems introducing the facilities defined by the optional annex for distributed systems (Annex E) in the Ada Reference Manual. In this introduction, we show how a simple client/server architecture can be ...






Comments