관련 용어
- 개념적 모델 : 정보교환을 촉진하기 위한 공통 개념 및 그 관계에 대한 설명.
- 논리적 모델 : 물리적 산물을 생산하는데 사용될 수 있는 인터페이스/데이터 모델의 추상 표현
- 물리적 모델 : 구현 가능한 산물
개념적 모델링의 장점
- 구현 주도의 표준과 독립적으로 개념에 관한 합의를 도출한다.
- 개념과 그 의도를 소통할 수 있다. 이는 인코딩을 읽는 것보다 쉽다.
- 다양한 구현간의 호환성을 보장하는데 도움이 된다.
현재 OGC내 개념적 모델 상황
- OGC 내에 개념적 모델링에 관한 요구가 존재한다. 단, 범위와 요구사항은 불명확하다.
- OGC 표준에 개념적 모델의 포함 여부는 전적으로 제안팀 혹은 SWG에 달려있다.
- 모델을 기술하기 위한 개념적/논리적이라는 용어는 많은 경우 합치되거나 상호 교환되어 사용된다.
- 일부 표준은 (특히 CityGML 3.0) 규정적인 UML 모델을 가지고 있다.
- 제공되는 모델은 반드시 접근 가능한 것은 아니며, 따라서 원래 의도만큼 유용하지 않다.
- 걱정스럽게도 사용 가능한 UML 모델중 일부는 구성의 관점에서 정확하지 않으며, ISO TC211에서 온 다른 모델, 지원 모델과 반드시 조화되는 것은 아니다.
현재 OGC는 물리적 모델이 중심이므로, 인코딩에 초점이 맞춰져 있다. 과거에는 XML로만 표현되어서 문제가 없었으나? 현재는 JSON, YAML 등 다양한 인코딩이 필요하다. 따라서 개념적 모델을 분리할 필요가 있다. 이렇게되면 개념적 모델을 통해 관련 표준간에 의미론적으로 조화가 가능하게 된다. |
- SOS(Sensor Observation Service) 표준은 개념적/논리적/물리적 모델을 가지고 있다.
- OWS Context는 XML, JSON으로 변환하는 모델이 있다.
- O&W(https://www.ogc.org/standards/om)와 CDB(https://www.ogc.org/standards/cdb)도 비슷한 접근법을 가지고 있다.
- Testbed-16에서는 MDA 방식을 고려중이다.
UML은 객체지향이나, JSON과 YAML은 아니기 때문에 모델링중 타협이 발생한다. 개념적 모델에 물리적 구현을 위한 세세한 내용을 넣은 것이 논리적 모델인가? |
추천사항
- 개념적 모델과 논리적 모델이라는 용어를 잘 정의하고 적절하게 사용하는 것이 좋다.
- 개념적 모델이 가치를 더할 경우, 표준에 추천되는 것이 좋다.
- 객체, 관계, 구조를 기술할 때, 개념적 모델은 UML 클래스 다이어그램이 좋다.
- 적절하다면 MDA를 사용하는 것이 좋고, 적어도 구현자를 위한 선택이 되어야 한다
- MDA는 새로운 표준과 새로운 구현에 유용하다.
- SWG 및 DWG를 지원하기 위해 새로운 개념 모델링 그룹을 설립하는 것이 좋다.
이 글은 OGC에서 발행된 Conceptual Modeling Discussion Paper 에서 제가 필요한 부분만 요약한 것입니다.