칠판(디자인 패턴)

Blackboard (design pattern)

소프트웨어 엔지니어링에서 칠판 패턴은 크고 다양한 전문 모듈을 통합한 시스템의 설계와 구현을 위한 연산 프레임워크를 제공하고 복잡하고 비결정적인 제어 전략을 구현하는 행동 설계 패턴이다[1].[2][1]

이 패턴은 HERSAY-II 프로젝트의 구성원에 의해 확인되었고 음성 인식에 처음 적용되었다.[2]

구조

칠판 모델은 세 가지 주요 구성요소를 정의한다.

  • 칠판 - 솔루션 공간의 개체를 포함하는 구조화된 전역 메모리
  • 지식 출처 - 자체 대표성을 갖춘 전문 모듈
  • 컨트롤 구성 요소 - 모듈 선택,[2] 구성 및 실행

실행

첫 번째 단계는 칠판 구조로 이어지는 솔루션 공간(즉, 잠재적 솔루션)을 설계하는 것이다.그런 다음 지식원을 파악한다.이 두 가지 활동은 밀접한 관련이 있다.[2]

다음 단계는 제어 구성요소를 지정하는 것이다. 제어 구성요소는 일반적으로 실행 가능한 지식 소스의 관련성을 평가하기 위해 도메인별 휴리스틱스 집합을 사용하는 복잡한 스케줄러의 형태를 취한다.[2]

시스템 구조[2]

적용들

사용-도메인(usage-domain)에는 다음이 포함된다.

결과들

칠판 패턴은 문제를 해결하기 위해 이종 모듈을 동적으로 결합해야 하는 복잡한 시스템을 설계하고 구현하기 위한 효과적인 솔루션을 제공한다.이것은 다음과 같은 비기능적인 속성을 제공한다.

  • 재사용성
  • 변화성
  • 강건함[2]

칠판 무늬는 여러 공정이 별도의 나사산에 더 가깝게 작용하고, 필요할 때 폴링하고 반응할 수 있도록 한다.[1]

참고 항목

참조

  1. ^ a b c "Blackboard Design Pattern". Microsoft TechNet. Microsoft. Retrieved 5 February 2016.
  2. ^ a b c d e f g h Lalanda, P., Two complementary patterns to build multi-expert systems, Orsay, France: Thomson CSF Corporate Research Laboratory