Languages for system description — 시스템 기술 언어
시스템 기술 언어
시스템 기술 언어란 시스템의 형식화, 모델링 및 분석에 사용되는 개념, 기호, 규칙 및 방법의 총체이다. 시스템 분석에서 기술 언어는 복잡한 객체, 그 구조, 행동 및 상호작용을 적절하게 표현할 수 있도록 하는 근본적인 역할을 담당한다.
일반적 특성
시스템 기술 언어는 다음의 목적을 위해 필요하다:
- 시스템에 관한 지식의 형식화;
- 분석 참여자들 간의 정보 전달;
- 시스템 모델의 구축 및 해석;
- 시스템 연구 및 관리 방법의 개발;
- 학제간 프로젝트에서 통일된 개념적 틀의 구축.
효과적인 기술 언어는 시스템의 모든 본질적 속성을 표현할 수 있을 만큼 충분히 풍부하면서도, 동시에 형식적인 분석 및 정보 변환 연산을 수행할 수 있을 만큼 충분히 엄밀해야 한다.
시스템 기술 언어의 기본 요소
모든 시스템 기술 언어는 다음을 포함한다:
- 개념적 틀 — 기본 개념의 총체(요소, 관계, 기능, 구조, 상태 등).
- 기호 체계 — 시스템 내의 구성요소와 과정을 나타내는 기호들의 체계.
- 구문 규칙 — 허용 가능한 표현식과 모델을 구성하는 규칙.
- 의미 규칙 — 기호와 개념을 실제 객체 및 과정과 대응시키는 규칙.
- 변환 방법 — 모델과 표현식에 대해 허용되는 연산(예: 분해, 집계, 표현 변환).
시스템 기술 언어의 요건
시스템 기술 언어에 대해서는 다음과 같은 요건이 요구된다:
- 적절성 — 연구 대상 시스템의 속성과 행동을 정확하게 반영하는 능력.
- 범용성 — 다양한 성격의 시스템(기술적, 사회적, 경제적 등)에 적용 가능성.
- 구조성 — 시스템 내부의 구성, 구조 및 상호작용 기술 지원.
- 동적 특성 — 시간에 따른 시스템 상태 변화의 기술 가능성.
- 다층성 — 계층적 구조의 다양한 상세화 수준에서 시스템 기술 지원.
- 형식화 가능성 — 개념적 기술에서 형식적 모델로 전환할 수 있는 가능성.
시스템 기술 구축의 단계성
시스템 분석에서 시스템 기술 과정은 단계적 특성을 지닌다:
- 분석의 초기 단계에서는 시스템에 대한 직관적 이해를 기록하고 초기 문제를 정식화하기 위해 자연 언어가 사용된다.
- 이후 기본 정의, 구조 및 관계를 포함하는 개념 모델로의 전환이 이루어진다.
- 다음 단계에서는 형식화가 수행되며, 시스템의 수학적, 논리적, 도식적 표현으로 전환된다.
- 최종 결과는 정량적·정성적 분석을 위한 엄밀한 형식화된 모델의 구축이다.
비형식화 언어에서 형식화 언어로의 이러한 전환은 복잡한 객체의 시스템적 기술을 위해 반드시 필요하다.
모델 및 언어의 계층화
시스템 기술은 일반적으로 여러 수준(층위)으로 구축된다:
- 개념적 수준 — 엄밀한 형식화 없이 구조와 행동을 개념적으로 기술하는 수준.
- 형식화 수준 — 요소, 관계 및 과정의 기술에 엄밀한 언어를 적용하는 수준.
- 수학적 수준 — 수학적 모델을 사용하여 시스템 특성을 정량적으로 해석하는 수준.
계층화는 각 수준에서 정보 손실과 오류를 최소화하면서 시스템 기술을 단계적으로 정교화할 수 있도록 한다.
기술 언어의 존재론적 측면
효과적인 시스템 기술 언어는 다음을 갖추어야 한다:
- 시스템의 요소, 관계, 기능 및 과정에 관한 개념들의 구조화된 총체, 즉 완결된 존재론적 기반;
- 기술의 명확성과 무모순성을 보장하는 개념과 용어의 정합적 구조;
- 시스템에 관한 새로운 지식을 반영하기 위한 존재론 확장 가능성.
시스템의 존재론은 적절한 모델 구축과 복잡한 객체의 올바른 분석 수행을 위한 토대가 된다.
시스템 기술 언어의 유형
시스템 분석에서는 연구의 목적과 과제에 따라 다양한 유형의 언어가 사용된다:
1. 자연 언어
- 일반적인 의사소통 언어(예: 한국어 또는 영어).
- 문제 설정의 초기 단계 및 프로젝트 참여자들 간의 소통에 사용된다.
- 표현의 정확성과 명확성에 한계가 있다.
2. 도식 언어
- 다이어그램, 도식, 그래프, 순서도.
- 시스템의 구조와 과정을 시각적으로 표현할 수 있다.
- 형식적 방법과 결합하여 자주 사용된다.
3. 수학적 언어
- 방정식, 부등식, 연산자 공식의 언어.
- 시스템 행동의 형식적 모델링의 기초.
- 엄밀한 정량적 계산 수행을 가능하게 한다.
4. 논리적·존재론적 언어
- 시스템에 관한 지식을 기술하는 형식 언어.
- 개념 모델, 존재론, 지식 베이스 구축에 사용된다.
5. 전문 모델링 언어
- 이산 및 연속 과정 기술 언어(시뮬레이션 모델링);
- 시스템 다이내믹스, 에이전트 기반 모델링, 이벤트 지향 모델의 언어;
- 예시: 공학 및 관리 응용 분야의 SysML, BPMN, UML.
시스템 분석에서의 기술 언어 적용
시스템 기술 언어는 시스템 분석의 다양한 단계에서 사용된다:
- 초기 문제의 정식화;
- 개념 모델의 구축;
- 시스템 행동의 형식적 모델 개발;
- 최적화 및 의사결정 과제 설정;
- 대안적 발전 방안의 정당화;
- 의사결정 지원 및 관리 조치의 실행.
기술 언어의 선택은 과제의 특성, 형식화 수준, 데이터 가용성 및 표현 정확도 요건에 따라 달라진다.
기술 언어의 문제점 및 한계
시스템 기술 언어를 사용할 때 다음과 같은 문제가 발생할 수 있다:
- 표현 수단의 한계 — 복잡한 시스템의 모든 속성을 적절하게 기술하지 못하는 경우.
- 해석의 모호성 — 특히 자연 언어 사용 시.
- 모델의 과잉 상세화와 복잡화 — 지나치게 세부적인 기술 시.
- 개념적 수준에서 형식적 모델링으로의 전환 어려움.
적절한 기술 언어의 선택은 시스템의 설계 및 분석에서 가장 중요한 과제이다.
관련 개념과의 연관성
시스템 기술 언어는 시스템 분석의 기본 범주들과 밀접하게 연관되어 있다:
- 시스템 분석
- 시스템 모델
- 시스템 구조
- 기능
- 과정
- 시스템 모델의 형식화
- 시뮬레이션 모델링
같이 보기
- 시스템 사고
- 시스템 이론
- 모델링
- 시스템 모델의 형식화