Blackboard systems formalized within a software architectural style

This paper presents a formal model of the blackboard system within the context of a software architectural style, i.e., components, connectors, and configurations. We present a refinement of a generic controller component to perform a choice among the knowledge source that can execute against the blackboard. In addition, we demonstrate the benefits of depicting the blackboard system as an architectural style, such as reusability, understandability, and the ability to use formal software analysis and integration techniques. We discuss our formal model of the blackboard software architecture in comparison with previous formalizations of blackboard systems to show that the generic architectural style can be specialized to meet the criteria of serial, parallel, and distributed blackboard systems.