A Unified Characterization of Runtime Verification Systems as Patterns of Communication