В программной инженерии , то модель доски является поведенческим шаблоном проектирования [1] , что обеспечивает вычислительную основу для разработки и внедрения систем , которые объединяют большие и разнообразные специализированные модули, и осуществлять сложную, недетерминированную стратегию управления. [2] [1]
Этот паттерн был идентифицирован участниками проекта HEARSAY-II и впервые применен к распознаванию речи . [2]
Состав
Модель классной доски определяет три основных компонента:
- blackboard - структурированная глобальная память, содержащая объекты из пространства решений
- источники знаний - специализированные модули с собственным представлением
- компонент управления - выбирает, настраивает и запускает модули. [2]
Выполнение
Первым шагом является проектирование пространства решений (т. Е. Потенциальных решений), которое приводит к структуре доски. Затем определяются источники знаний. Эти два вида деятельности тесно связаны. [2]
Следующим шагом является определение управляющего компонента; обычно он принимает форму сложного планировщика, который использует набор зависящих от предметной области эвристик для оценки релевантности исполняемых источников знаний. [2]
Приложения
Домены использования включают:
- распознавание речи
- идентификация и отслеживание транспортных средств
- идентификация структуры белка
- интерпретация сигналов сонара . [2]
Последствия
Шаблон «классная доска» предоставляет эффективные решения для проектирования и реализации сложных систем, в которых для решения проблемы необходимо динамически комбинировать разнородные модули. Это обеспечивает нефункциональные свойства, такие как:
- возможность повторного использования
- изменчивость
- надежность. [2]
Шаблон «классная доска» позволяет нескольким процессам работать вместе в разных потоках, при необходимости опрашивая и реагируя. [1]
Пример
Пример шаблона Blackboard был предоставлен Microsoft.
https://social.technet.microsoft.com/wiki/contents/articles/13461.blackboard-design-pattern-a-practical-example-radar-defense-system.aspx