Using constraint propagation in blackboard systems: a flexible software architecture for reactive and distributed systems | IEEE Journals & Magazine | IEEE Xplore