------------------------SDT2Concuro----------------------------------------------------ObjectName----------------------------------------ObjectType----------------------------------------!%&()LinkEndpoints--------------------------------!%()HeadingText----------------------------------- Concuro--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------()[8(! system Concuro)]}--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&()[w(!GSDL)]}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------()[(! l! 22!(d)[h(! 6! @)[k(! 6)[n(! 6! )]][Bq(! 6! )][ t(! 6r)][!%()HeaderText-----------------------------------!%()HeadingText-----------------------------------!%()PageOrder-------------------------------------1-------------------------------------------------  !%&()LinkEndpoints----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------(! 6L)][9(! 6r! !S)[8(! SIGNAL requestWrite(Integer,Integer,PId), approveWrite, requestRead(Integer,PId), approveRead(Integer), consumerXReadItemY(Integer,Integer), producerXWroteItemY(Integer, (!4!X!5!W!Y)[!(! 1!!3)]}----------------------------------------------------------------------------------------------------------------------------------------------------------fInteger); SIGNALLIST Highway = consumerXReadItemY, producerXWroteItemY;)]][(! 6,! ,!S)[(! 6-w! Producers)][(!!8)[(! 6! Prod ucerDongle!\)][.(! )[8(! 6FR! requestWrite!\)]][(! 6l!Z)][.(! )[8(! 6FX! approveWrite!\)]][(!  6q!)][w(! 6L! ,!S)[(! 6e3! ConcuroBlock)][z(!LLL!8)[(! 6! ThisWayOrTheHighway!\)][.{(!  )[8(! 6e! (Highway)!\)]][(! 6L!)][)()]]]]][(! 6:! ,!S)[(! 6-! Consumers)][(!:!8)[(! 6-! ConsumerDongle!\)][.(! )[8(! 6F! requestRead!\)]][(! 6!)][.(! )[8(! 6F! approveRead!\)]][(! 6!Z)][)w()]]]]]}---------------------------------------------------------------------------------------------------------------------------------------------------------------------------U()[8(! /*#include 'random.pr'*/)]}----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------0