칠판형 아키텍처 스타일

From CS Wiki
Blackboard Software Architecture Style; Blackboard Software Architecture Pattern
  • Shared data, database와 같은 데이터 중심 패턴 중에 하나
  • 명확히 정의된 문제 해법이 없을 때 문제를 풀어가는 하나의 방식을 정의한 패턴
  • 대략적으로 해법을 수립하기 위해 특수한 서비스 시스템의 지식을 조합하는 패턴

칠판형 아키텍처 스타일 예시[edit | edit source]

칠판형 아키텍처 스타일 예시.png

장단점[edit | edit source]

구분 내용
장점
  • 완벽한 해법을 찾기 어려운 경우에 사용할 수 있음
  • KS, Control, Blackboard 가 독립적으로 동작하여 가변성이나 유지보수성이 좋음
  • KS는 타 문제 도메인에 재사용될 수 있음
단점
  • 완벽한 해법을 제시하지 못하므로 얼마동안 동작해야 하는지 알 수가 없음(성능문제)
  • 계산 결과가 항상 동일하지 않아 테스트가 어려움
  • 많은 시간에 걸쳐 수정되어야 하므로 개발에 많은 노력이 필요

설계 순서[edit | edit source]

  1. 문제의 도메인을 정의하고 해법을 찾기 위해 일반적인 지식 분야를 상세히 살펴본다.
  2. 해법에 대한 추상화 수준을 상위 수준에서 하위수준까지 나눠서 정의한다.
  3. 해법수준에 맞게 Knowledge source를 정의하고 각 수준으로 분할한다.
  4. 모든 Knowledge source가 blackboard와 상호작용하는 표현 방식을 찾아서 정의한다.(blackboard 어휘를 정의한다.)
  5. Control을 정의한다.

같이 보기[edit | edit source]

참고 문헌[edit | edit source]

  • 소프트웨어 아키텍처 패턴 가이드, SW공학센터