본문으로 이동

블랙보드 (디자인 패턴)

위키백과, 우리 모두의 백과사전.

소프트웨어 공학에서 블랙보드 패턴(blackboard pattern)은 크고 다양한 특수 모듈을 통합하고 복잡하고 비결정적인 제어 전략을 구현하는 시스템의 설계 및 구현을 위한 계산 프레임워크를 제공하는 행동 디자인 패턴이다.[1][2][1]

이 패턴은 Hearsay-II 프로젝트의 구성원들이 식별했으며 음성 인식에 처음 적용되었다.[2]

구조

[편집]

블랙보드 모델은 세 가지 주요 구성 요소를 정의한다.

  • 블랙보드 - 솔루션 공간의 객체를 포함하는 구조화된 전역 메모리
  • 지식 소스 - 자체 표현을 가진 특수 모듈
  • 제어 구성 요소 - 모듈을 선택, 구성 및 실행한다.[2]

구현

[편집]

첫 번째 단계는 블랙보드 구조로 이어지는 솔루션 공간(즉, 잠재적 솔루션)을 설계하는 것이다. 그런 다음 지식 소스를 식별한다. 이 두 가지 활동은 밀접하게 관련되어 있다.[2]

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

시스템 구조[2]

응용 분야

[편집]

사용 도메인에는 다음이 포함된다.

결과

[편집]

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

  • 재사용성
  • 변경 가능성
  • 견고성[2]

블랙보드 패턴은 여러 프로세스가 별도의 스레드에서 더 가깝게 협력하고 필요할 때 폴링 및 반응할 수 있도록 한다.[1]

같이 보기

[편집]

각주

[편집]
  1. “Blackboard Design Pattern”. 《Microsoft TechNet》. Microsoft. 2016년 2월 5일에 확인함. 
  2. Lalanda, P. (1997), 《Two complementary patterns to build multi-expert systems》 (PDF), Orsay, France: Thomson CSF Corporate Research Laboratory