Bueno, tengo dos problemas diferentes: No entiendo mucho de ADA, pero necesito tener esto terminado. Estoy tratando de simular el problema de los lectores y escritores, el típico de la concurrencia y la exclusión. Y el problema del productor/consumidor.
El de los lectores y escritores tengo el código, que ni siquiera compila. Y que adjunto a ver si alguien puede ayudarme. 
En el caso del productor/consumidor, no tengo el código, tengo la implementación de un buffer circular y el código del productor/consumidor para cuando el buffer es de tamaño 1. Supongo que uniendo esas dos cosas voy a tener el caso del productor/consumidor para un buffer de tamaño, n, no sé, necesito orientación. Si quieren puedo subir los códigos del buffer circular y el del buffer de tamaño 1, no sé... 

Espero que puedan ayudarme. Desde ya les estoy muy agradecida. 

 
--LECTORES Y ESCRITORES
 
procedure Lectores_Y_Escritores is
   
   procedure Lector(Valor_Leido:out Integer) is separate;
   Escritor(Valor_Escrito:in Integer);
   entry Comenzar_Lectura;
   entry Lectura_Terminada;
 
begin
      null;
end;
 
procedure Lector(Valor_Leido:out Integer) is
begin
   Comenzar_Lectura;
   Valor_Leido := Var_Compartida;
   Lectura_Terminada
      end
      
   task body Lectores_Y_Escritores is
      Var_Compartida:Integer;
      Lectores:Integer = 0;
   begin
      accept Escritor(Valor_Escrito:in Integer) do
         Var_Compartida:=Valor_Escrito
         end;
         
      loop 
         select
            when Escritor'Count=0 accept Comenzar_Lectura;
            Lectores:=Lectores+1;
            or accept Lectura_Terminada;
            Lectores=Lectores-1;
         or when Lectores=0;
            accept Escritor(Valor_Escrito:in Integer) do
               Var_Compartida:=Valor_Escrito;
            end;
            loop
               select
                  accept Comenzar_Lectura
                     Lectores=Lectores+1
                  else exit
                  end select
               end loop
            end select
         end loop
      end Lectores_Y_Escritores