Reader : ReaderWriter ->>
 PtIn : < ... >

 RDataPacket >>
  From : String
  Route : Array : String
  Pt : DataPacket
 ;
;

Writer : ReaderWriter ->>
 PtOut : < ... >
 DevIOCtl : < ... >

 WDataPacket >>
  To : String
  Pt : DataPacket
 ;

 RW_CMD_* :
  FLUSH
  SHUTDOWN
  RESET
  IOCTL
 ;
;

/* * */

!ReaderWriter : ProgramComponent ->>
 Connect : < ... >
 Disconnect : < ... >

 DataPacket >>
  Header, Message : I|F|S
 ;

 RW_CMD_* :
  PING
  . : WAIT
 ;

 *_ENDIAN : 
  LITTLE
  . : BIG
 ;
;

!ProgramComponent ->>
 Init : < ... >
 Stop : < ... >
;

/* * */

## PipeReader : Reader -> {*}
## SocketConnector : Reader, Writer -> {*}
