모델링 언어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
모델링 언어는 시스템의 구조, 동작, 프로세스 등을 표현하기 위해 사용되는 언어로, 그래픽 방식과 텍스트 방식으로 분류된다. 그래픽 모델링 언어는 다이어그램 기법을 활용하며, 텍스트 모델링 언어는 표준화된 키워드나 자연어 구문을 사용한다. 모델링 언어는 컴퓨터 과학, 정보 관리, 소프트웨어 공학 등 다양한 분야에서 활용되며, 시스템의 요구사항을 명확하게 정의하고 이해 관계자 간의 소통을 돕는 데 기여한다. 모델링 언어의 품질은 도메인 적합성, 참여자 적합성, 모델러 적합성, 이해 적절성, 도구 적합성, 조직 적합성을 기준으로 평가할 수 있다.
더 읽어볼만한 페이지
- 명세 언어 - 통합 모델링 언어
통합 모델링 언어(UML)는 소프트웨어 시스템의 구조와 행위를 시각적으로 표현하기 위해 개발된 표준 모델링 언어이며, 객체 지향 방법론을 통합하여 개발되어 다양한 분야에서 활용된다. - 명세 언어 - 메타 오브젝트 퍼실리티
메타 오브젝트 퍼실리티(MOF)는 객체 지향 기술 메타데이터 관리 표준으로서 UML 메타모델 정의 및 모델 주도 개발의 핵심 기술로 사용되며, 4계층 구조, EMOF, CMOF 등 다양한 종류, XMI, JMI 등 관련 표준을 가지나 복잡성과 성능 문제 등의 단점도 존재한다. - 모델링 언어 - 차트
차트는 통계 데이터를 점, 선, 도형 등으로 묘사하여 데이터의 규칙성, 경향 등을 시각적으로 제시하고 분석 방향을 제시하는 도표이며, 히스토그램, 막대그래프, 원그래프, 선 그래프 등이 흔히 사용된다. - 모델링 언어 - 순서도
순서도는 컴퓨터 알고리즘이나 프로세스를 시각적으로 표현하는 도구로, 흐름 공정 차트에서 기원하여 컴퓨터 프로그래밍 분야에서 알고리즘을 설명하는 데 사용되며, 다양한 종류와 소프트웨어 도구가 존재한다.
2. 모델링 언어의 유형
모델링 언어는 크게 그래픽 방식과 텍스트 방식으로 나눌 수 있으며, 각 방식은 특정 목적과 환경에 맞게 활용된다.[8][1][6]
- 그래픽 모델링 언어: 개념을 나타내는 명명된 기호와 기호 간의 관계를 나타내는 선, 그리고 제약 조건을 나타내는 다양한 그래픽 표기법을 사용하는 다이어그램 기법을 사용한다.
- 텍스트 모델링 언어: 컴퓨터가 해석할 수 있는 표현식을 만들기 위해 매개변수와 함께 표준화된 키워드 또는 자연어 용어와 구문을 사용한다.
EXPRESS는 그래픽 모델링 언어와 텍스트 모델링 언어의 한 예시이다.[8][1][6]
모든 모델링 언어가 실행 가능한 것은 아니며, 실행 가능한 언어를 사용한다고 해서 반드시 프로그래머가 더 이상 필요하지 않다는 의미는 아니다. 오히려 실행 가능한 모델링 언어는 숙련된 프로그래머의 생산성을 증폭시켜 병렬 컴퓨팅 및 분산 시스템과 같은 더 어려운 문제를 해결할 수 있도록 고안되었다.
2. 1. 그래픽 모델링 언어
그래픽 모델링 언어는 개념을 나타내는 명명된 기호와 기호를 연결하고 관계를 나타내는 선, 그리고 제약 조건을 나타내는 다양한 기타 그래픽 표기법을 사용하는 다이어그램 기법을 사용한다.[8][1]다음은 컴퓨터 과학, 프로젝트 관리 및 시스템 공학 분야의 그래픽 모델링 언어 예시이다.
다른 과학 분야의 그래픽 모델링 언어 예시는 다음과 같다.
2. 2. 텍스트 모델링 언어
텍스트 모델링 언어는 표준화된 키워드, 자연어 용어 및 구문을 사용하여 컴퓨터가 해석 가능한 표현식을 만든다.[8][1][6] 텍스트 기반으로 모델을 작성하고 관리할 수 있으며, 자동화 및 코드 생성에 유리하다.EXPRESS는 그래픽 모델링 언어와 텍스트 모델링 언어의 한 예시이다.[8][1][6]
젤리쉬 형식 영어와 같은 정형화된 자연어로도 정보 모델을 표현할 수 있다.[4] 젤리쉬 형식 영어는 젤리쉬 영어 사전-택소노미에서 정의된 정보 표현 언어 또는 의미 모델링 언어이다. 젤리쉬 형식 영어는 지식, 요구사항, 사전, 택소노미 및 온톨로지를 표현하고, 개별 사항에 대한 정보도 표현하는 데 적합하다. 젤리쉬 형식 영어의 정보 모델은 자연어 용어와 정형화된 구문을 사용하는 젤리쉬 형식 영어 표현의 모음으로 구성된다. 예를 들면 다음과 같다.
- 에펠탑 is located in|~에 위치영어 파리
- 파리 is classified as a|~로 분류영어 도시
이러한 표현은 젤리쉬 영어 사전-택소노미에서 선택해야 하는 관계 유형을 나타내는 개념 이름과 구문을 사용한다. 젤리쉬 영어 사전-택소노미는 600개 이상의 표준 관계 유형과 40,000개 이상의 개념 정의를 포함하고 있어 의미가 풍부한 정보 모델을 생성할 수 있게 해준다.
대수적 모델링 언어(AML)는 대규모 최적화 문제와 같은 복잡한 문제를 설명하고 해결하기 위한 고급 프로그래밍 언어이다. AML의 구문은 최적화 문제의 수학적 표기법과 유사하여 간결하고 읽기 쉬운 정의가 가능하다는 장점이 있다.
링크 데이터와 온톨로지 엔지니어링은 '호스트 언어'를 필요로 하며, JSON-LD와 RDF는 이 맥락에서 두 가지 주요 언어이다.[6]
2. 3. 기타 모델링 언어 유형
최근 컴퓨터 과학 분야에서는 특정 분야나 목적에 특화된 모델링 언어들이 등장하고 있다. 이러한 언어들은 기존의 범용 모델링 언어보다 더 높은 수준의 추상화를 제공하여, 특정 문제를 해결하거나 시스템을 설계하는 데 필요한 노력과 세부 사항을 줄여준다.- 대수적 모델링 언어(AML): 대규모 최적화 문제와 같은 복잡한 수학적 계산을 설명하고 해결하기 위한 고급 프로그래밍 언어이다. AIMMS, AMPL, GAMS, Gekko, Mosel, OPL, MiniZinc, OptimJ 등이 있다. 구문이 최적화 문제의 수학적 표기법과 유사하여 간결하고 읽기 쉬운 문제 정의가 가능하다.
- 행위 언어: 동시적으로 실행되는 구성 요소들로 이루어진 복잡한 시스템의 관찰 가능한 행위를 설명하기 위해 설계되었다. 동시성, 비결정성, 동기화 및 통신과 같은 주요 개념을 설명하는 데 중점을 둔다. 의미론적 기초는 프로세스 계산 또는 프로세스 대수이다.
- 분야별 모델링(DspM): 소프트웨어 개발 수명 주기의 특정 단계(발견, 분석, 설계, 아키텍처, 계약 등)와 관련된 결과물에 초점을 맞춘다. 각 단계에 맞는 고유한 어휘, 구문 및 표기법을 제공한다.
- 도메인 특화 모델링(DSM): 시스템의 다양한 측면을 표현하기 위해 그래픽 도메인 특화 언어(DSL)를 체계적으로 사용하는 소프트웨어 엔지니어링 방법론이다.
- 프레임워크 특화 모델링 언어(FSML): 객체 지향 애플리케이션 프레임워크를 위해 설계된 도메인 특화 모델링 언어의 일종이다. 프레임워크에서 제공하는 추상화를 FSML 개념으로 정의하고, 기능을 분해하여 구현 단계나 선택 사항을 나타낸다.
- 링크 데이터 및 온톨로지 엔지니어링 언어: 개체와 관계, 제약 조건, 메타데이터 속성을 표현하기 위한 언어이다. JSON-LD와 RDF가 대표적이며, 고차 논리를 지원하여 모델 추론에 필수적이다.
- 객체 모델링 언어: 객체 지향 소프트웨어 설계 또는 시스템 설계의 일부를 모델링하기 위해 표준화된 기호 집합과 배열 방법을 기반으로 하는 모델링 언어이다.
- 가상 현실 모델링 언어(VRML): 3차원 대화형 벡터 그래픽을 표현하기 위한 표준 파일 형식으로, 특히 월드 와이드 웹을 염두에 두고 설계되었다. 1995년 이전에는 가상 현실 마크업 언어로 알려졌다.
이 외에도 다음과 같은 모델링 언어들이 있다.
3. 모델링 언어의 활용 분야
모델링 언어는 컴퓨터 과학, 정보 관리, 사업 프로세스 모델링, 소프트웨어 공학, 시스템 공학 등 다양한 분야에서 활용된다.[1] 시스템 요구사항, 구조, 동작을 명확하게 규정하여 이해 관계자들이 시스템을 더 잘 이해하도록 돕는다.[5]
그래픽 모델링 언어는 개념을 나타내는 기호와 관계를 나타내는 선, 제약 조건 등을 그래픽으로 표현하고, 텍스트 모델링 언어는 표준화된 키워드나 자연어 용어, 구문을 사용한다. EXPRESS는 그래픽 및 텍스트 모델링 언어의 한 예이다.[8]
실행 가능한 모델링 언어는 프로그래머의 생산성을 높여 병렬 컴퓨팅, 분산 시스템 등 더 어려운 문제를 해결할 수 있도록 돕는다. 모든 모델링 언어가 실행 가능한 것은 아니다.[1]
3. 1. 주요 활용 분야
모델링 언어는 다양한 분야에서 활용된다. 주요 분야는 다음과 같다.
이러한 분야에서 모델링 언어는 시스템 요구사항, 구조 및 동작을 명확하게 표현하고, 이해 관계자 간의 의사소통을 돕는다. 또한, 실행 가능한 모델링 언어는 시스템 검증 및 유효성 검사, 시뮬레이션, 코드 생성을 자동화하는 데 사용될 수 있다.[5]
3. 2. 모델링 언어 활용의 이점
모델링 언어는 시스템 요구사항, 구조, 동작 등을 명확하게 표현하여 다양한 이점을 제공한다.[1][5]- 시스템 요구사항 명확화: 시스템의 기능, 동작, 제약 조건 등을 명확하게 정의한다.
- 구조 및 동작 파악: 시스템의 구성 요소, 관계, 동작 방식을 시각적으로 표현하여 이해도를 높인다.
- 이해관계자 간 소통 증진: 고객, 운영자, 분석가, 설계자 등 다양한 이해관계자들이 시스템에 대한 공통된 이해를 갖도록 돕는다.[1]
- 개발 효율성 향상: 모델 기반 개발을 통해 코드 생성, 테스트, 유지보수 등을 자동화하여 개발 효율성을 높인다.
- 시스템 품질 향상: 모델 검증, 시뮬레이션 등을 통해 시스템 오류를 사전에 발견하고 개선하여 시스템 품질을 향상시킨다.[5]
더욱 성숙한 모델링 언어는 정확하고, 일관성이 있으며, 실행 가능하다. 올바른 도구 지원과 함께 적용된 실행 가능한 모델링 언어는 시스템 검증 및 유효성 검사, 시뮬레이션, 코드 생성을 자동화할 수 있다.[5]
4. 모델링 언어의 품질 평가
모델링 언어 검토는 서로 다른 모델링 환경에 어떤 언어가 적합한지 결정하는 데 필수적이다. 여기서 환경은 이해 관계자, 도메인, 관련 지식을 포함한다. '''언어 품질''' 평가는 더 나은 모델을 달성하기 위한 수단이다.
언어 품질은 Krogstie, Sindre, Lindland(2003)가 개발한 SEQUAL 프레임워크에 따라 명시된다. 이 프레임워크는 언어 품질을 일반적인 모델 품질 프레임워크에 연결하며, 언어의 개념적 측면과 시각적 표기법을 모두 나타내는 5가지 영역을 사용한다.
4. 1. 품질 평가 프레임워크 (SEQUAL 프레임워크 기반)
SEQUAL 프레임워크에 기반한 모델링 언어 품질 평가 프레임워크는 다음과 같은 영역을 사용하여 언어 품질을 설명한다.- 도메인 적합성: 모델링 언어가 해당 도메인의 내용을 얼마나 잘 표현하는가? 이상적으로는 도메인 내의 사항만 표현할 수 있어야 하며, 도메인 내의 모든 것을 포함할 수 있을 만큼 강력해야 한다.[1] 이를 위해 언어는 어떤 표기법과 구문이 표현에 유리한지 잘 구별해야 한다.[1]
- 참여자 적합성: 해당 언어가 이해 관계자가 보유한 지식을 얼마나 잘 표현하는가? 언어는 해당 분야와 관련된 이해 관계자의 모든 명시적 지식을 광범위하게 표현해야 한다.[1]
- 모델러 적합성: 언어는 이해 관계자들의 모든 가능한 명시적 지식을 표현할 수 있어야 한다.[1] 언어의 부족으로 인해 지식이 표현되지 못하는 일이 없어야 한다.[1]
- 이해 적절성: 사회적 행위자가 언어의 일관된 사용으로 인해 모델을 이해하도록 보장하는가? 이를 위해 프레임워크는 언어가 유연하고, 구성하기 쉽고, 언어의 서로 다른 부분을 내부적으로, 그리고 다른 언어와 쉽게 구별할 수 있어야 한다는 등의 기준을 포함한다.[1] 또한, 언어의 각 기호는 고유한 표현을 가져야 한다.[1]
- 도구 적합성: 자동화된 분석 및 처리를 지원하는가? 이를 위해 형식적인 구문과 의미를 포함해야 한다.[1] 형식화를 통해 초기 단계에서 오류를 발견할 수 있다.[1]
- 조직 적합성: 사용된 언어가 조직의 맥락에 적합해야 한다.[1] 예를 들어, 언어가 조직 내에서 표준화되어 있거나, 조직에서 표준으로 선택된 도구에 의해 지원되는 경우를 말한다.[1]
참조
[1]
학회인용
31st Annual International Computer Software and Applications Conference - Vol. 1- (COMPSAC 2007)
2007-07
[2]
인용
The FLINT Ontology: An Actor-Based Model of Legal Relations
https://ebooks.iospr[...]
IOS Press
2024-11-13
[3]
서적
Service-Oriented Modeling: Service Analysis, Design, and Architecture
https://archive.org/[...]
Wiley & Sons
[4]
문서
Gellish, A Generic Extensible Ontological Language
https://repository.t[...]
Delft University of Technology
2005
[5]
서적
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
Association for Computing Machinery
2014-11-11
[6]
논문
A metamodel for the notation of graphical modeling languages
Computer Software and Applications Conference, 2007. COMPSAC 2007 - Vol. 1. 31st Annual International
2007-07
[7]
문서
英語expressionは、日本語では「式」とも「表現」とも、文脈によって訳される。
[8]
컨퍼런스 인용
31st Annual International Computer Software and Applications Conference - Vol. 1- (COMPSAC 2007)
2007-07
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com