Подтвердить что ты не робот

Кто-нибудь знает об успешной реализации шаблона Blackboard?

Меня интересовало Blackboard pattern в течение многих лет (особенно когда я изучал AI), однако я все еще не был способный найти хорошую реализацию его за пределами академических кругов, хотя это кажется очень полезной моделью для текущих тенденций в разработке программного обеспечения, я не могу придумать какой-либо большой структуры, построенной вокруг шаблона.

Кто-нибудь знает об успехах или неудачах, связанных с этим шаблоном?

Примечание. Другие ссылки

  • <а href= "http://www.vico.org/pages/PatronsDisseny/Pattern%20Blackboard/" rel= "noreferrer" > внешняя ссылка 1
  • <а href= "http://chat.carleton.ca/~narthorn/project/patterns/BlackboardPattern-display.html" rel= "noreferrer" > внешняя ссылка 2

Изменить: Теперь мне интересно, может ли шаблон использовать как шаблон для экосистемы, совместимой с mashup, или что-то в этом роде

Изменить: После изучения еще нескольких я нашел интересный paper, который предлагает такие вещи, как Википедия - Доска однако это зависит от людей как агентов. Это просто привело меня к пониманию того, что StackOverflow - это в значительной степени система Blackboard, с нами в качестве агентов, разделяющая наши экспертные знания о неопределенных проблемах, установленных на доске... в любом случае, ее пища для размышлений.

4b9b3361

Ответ 1

Посмотрите на пространственные пространства и его реализации. Это никогда не оказывало большого влияния, но все же интересный подход к созданию распределенных приложений.

Ответ 2

Шаблон доски подходит для совлокальных приложений. Помимо этого, я склонен думать, что это действительно не очень хорошая идея.

На доске есть тенденция превращаться в большую сумку общего состояния, которая создает всевозможные интересные шаблоны доступа. Современные языки и методы пытаются максимально инкапсулировать и управлять государственным управлением, доски противоположны.

Время, которое я нашел, что оно используется в алгоритмах, обычно является контрольным признаком отсутствия правильного понимания проблемы, которая должна быть решена. Таким образом, "чтобы быть в безопасности", вы делаете слишком много состояний для слишком многих участников.

Я удалил этот шаблон из двух приложений и заменил его на хорошие, надежные интерфейсы, которые отображали фактическую функциональность и требования к данным, и это было успешным оба раза;)

Ответ 3

Мое мнение состоит в том, что шаблон доски будет работать очень хорошо, если у вас есть ограниченный набор данных, с которыми несколько участников могут работать параллельно, и где набор данных должен быть уточнен и повторно уточнен. Это позволяет актерам писать совершенно отдельно, с очень простым интерфейсом и все работает асинхронно.

В качестве хорошего кандидата для этого была бы наша система.

Наша система видения имеет некоторые фундаментальные данные (изображения), и у нас есть много алгоритмов, которые производят новые данные из них. Очень часто мы видим, что один алгоритм может эффективно использовать информацию, которую производят другие алгоритмы, но у нас очень плохие способы их совместного использования, поскольку обычные аргументы через сообщения в системе oo быстро превратят список в большой, чтобы обрабатывать. Также у нас есть проблема, что некоторая информация, которую мы находим в конце процесса, может улучшить ранние догадки, но для этого потребуется более конвейерная обработка аргументов.

К сожалению, для такого рефакторинга потребуется больше ресурсов, чем в настоящее время: (

Ответ 4

Это распространено в C4I-системах, где многие актеры, обновляющие состояние, являются людьми, но некоторые из них являются программными агентами.

Я также видел пространства Tuple, используемые в SCADA-системах, но обычно не называемые как таковые, и без особого внимания к аспекту программного агента. (хотя обычно есть простая система правил, подключенная к пространству для мониторинга)