모델링 언어

Modeling language

모델링 언어는 일관된 규칙 집합에 의해 정의된 구조에서 정보, 지식 또는 시스템표현하기 위해 사용할 수 있는 모든 인공 언어입니다.규칙은 구조에서 구성요소의 의미를 해석하는 데 사용됩니다.

개요

모델링 언어는 그래픽 또는 [1]텍스트 형식일 수 있습니다.

  • 그래픽 모델링 언어에서는 기호를 연결하고 관계를 나타내는 개념과 선을 나타내는 명명된 기호와 함께 다이어그램 기법 및 제약 조건을 나타내는 다양한 그래픽 표기법을 사용합니다.
  • 텍스트 모델링 언어에서는 표준화된 키워드와 함께 매개 변수를 사용하거나 자연어 용어 및 구문을 사용하여 컴퓨터 해석 가능한 표현을 만들 수 있습니다.

그래픽 모델링 언어 및 대응하는 텍스트 모델링 언어의 는 EXPRESS입니다.

모든 모델링 언어가 실행 가능한 것은 아닙니다.또한 이러한 언어를 사용한다고 해서 프로그래머가 필요 없게 되는 것은 아닙니다.반대로 실행 가능한 모델링 언어는 숙련된 프로그래머의 생산성을 향상시켜 병렬 컴퓨팅이나 분산 시스템 등 보다 어려운 문제에 대처할 수 있도록 하기 위한 것입니다.

많은 모델링 언어들이 문헌에 등장한다.

모델링 언어 유형

그래픽 타입

컴퓨터 과학, 프로젝트 관리 및 시스템 엔지니어링 분야의 그래픽 모델링 언어의 예:

  • 행동 트리는 주로 시스템 및 소프트웨어 엔지니어링에서 사용되는 공식 그래픽 모델링 언어입니다.일반적으로 대규모 소프트웨어 통합 시스템에 대한 이해관계자의 요구를 표현하기 위해 사용되는 수백 또는 수천 개의 자연어 요건을 명확하게 나타내기 위해 사용됩니다.
  • 비즈니스 프로세스 모델링 표기법(BPMN, XML 형식 BPML)은 프로세스 모델링 언어의 예입니다.
  • C-K 이론은 설계 프로세스를 위한 모델링 언어로 구성됩니다.
  • DRAKON은 소프트웨어 집약적인 시스템, 알고리즘 또는 단계적 프로세스의 개략적인 표현 및 프로그래밍 언어군을 지정하기 위한 범용 알고리즘 모델링 언어입니다.
  • EXPRESS 및 EXPRESS-G(ISO 10303-11)는 국제 표준 범용 데이터 모델링 언어입니다.
  • EEML(Extended Enterprise Modeling Language)은 여러 계층에 걸친 비즈니스 프로세스 모델링에 일반적으로 사용됩니다.
  • 흐름도는 알고리즘 또는 단계적 프로세스의 개략적인 표현입니다.
  • 소프트웨어 집약적인 시스템을 위한 FMC(기본 모델링 개념) 모델링 언어.
  • IDEF기능 모델링용 IDEF0, 정보 모델링용 IDEF1X, 비즈니스 프로세스 모델링용 IDEF3, 객체 지향 설계용 IDEF4, 온톨로지 모델링용 IDEF5를 포함하는 모델링 언어 패밀리입니다.
  • Jackson Structured Programming(JSP)은 데이터 스트림 구조와 프로그램 구조 간의 대응에 기초한 구조화된 프로그래밍 방법입니다.
  • LePUS3는 객체 지향 비주얼 디자인 기술 언어이며 주로 대규모 객체 지향(Java, C++, C#) 프로그램 및 디자인 패턴 모델링에 적합한 정식 사양 언어입니다.
  • Lifecycle Modeling Language는 시스템 엔지니어링을 위한 오픈 스탠다드 언어로서 개념, 사용률, 지원 및 폐기 단계 등 전체 시스템 라이프사이클을 지원합니다.
  • 소프트웨어 엔지니어링 분야의 Object-Role Modeling(ORM; 객체 역할 모델링)은 개념 모델링을 위한 방법으로 정보 및 규칙 분석 도구로 사용할 수 있습니다.
  • 페트리 네트는 정확히 하나의 다이어그램 기술 및 토폴로지, 즉 초당 그래프에서 변형을 사용합니다.기본 사용자 인터페이스가 단순하기 때문에 특히 모델 검사, 그래픽 지향 시뮬레이션 및 소프트웨어 검증 분야에서 수년간 광범위한 도구 지원을 쉽게 수행할 수 있었습니다.
  • Southbeach 표기법은 모델러의 관점에서 유용하거나 유해하다고 생각되는 에이전트의 관점에서 상황을 설명하는 데 사용되는 시각적 모델링 언어입니다.이 표기법은 에이전트 간의 상호 작용 방식 및 이러한 상호 작용이 상황을 개선하는지 또는 악화시키는지 여부를 보여 줍니다.
  • 사양설명 언어(SDL)는 반응형 및 분산형 시스템의 동작에 대한 명확한 사양 및 설명을 목적으로 하는 사양 언어입니다.
  • SysML은 UML 프로파일(커스터마이제이션)로 정의되는 시스템엔지니어링용 도메인 고유의 모델링 언어입니다.
  • UML(Unified Modeling Language)은 소프트웨어 집약적인 시스템을 지정하기 위한 업계 표준인 범용 모델링 언어입니다.현재 버전인 UML 2.0은 13개의 다른 다이어그램 기술을 지원하며 광범위한 도구를 지원합니다.
  • 서비스 지향 모델링 프레임워크(SOMF)는 엔터프라이즈 아키텍처, 가상화, 서비스 지향 아키텍처(SOA), 클라우드 컴퓨팅 [2]등의 분야에서 엔터프라이즈 및 애플리케이션 레벨 아키텍처 모델을 설계하기 위한 종합적인 언어입니다.
  • ADL(Architecture Description Language)은 시스템시스템 아키텍처를 기술하고 나타내기 위해 사용되는 언어입니다.
  • AADL(AADL)은 확장 가능한 표기법, 도구 프레임워크 및 정확하게 정의된 의미론을 통해 성능에 중요한 속성과 관련하여 시스템 아키텍처의 초기 및 반복 분석을 지원하는 모델링 언어입니다.

다른 과학 분야의 그래픽 모델링 언어의 예.

  • EAST-ADL은 자동차 시스템 설계 전용 도메인별 모델링 언어입니다.
  • Energy Systems Language(ESL)는 생태 에너지학과 글로벌 경제학을 모델화하는 것을 목적으로 하는 언어입니다.
  • IEC 61499는 산업 프로세스 측정 및 제어 시스템을 배포하기 위한 전용 도메인별 모델링 언어를 정의합니다.

텍스트 유형

정보 모델은 겔리쉬와 [3]같은 형식화된 자연 언어로 표현될 수도 있습니다.겔리쉬에는 겔리쉬 포멀 영어와 겔리쉬 포멀 네덜란드어(Gellish Formeel Nederlands) 등의 자연어 변형이 있습니다.겔리쉬 형식 영어는 겔리쉬 영어사전-택소노미(Taxonomy)에 정의되어 있는 정보 표현 언어 또는 의미 모델링 언어입니다.이것은 분류학-온톨로지(네덜란드어도 마찬가지)의 형태를 가지고 있습니다.겔리쉬 형식영어는 지식, 요건, 사전, 분류법, 존재론뿐만 아니라 개별 사물에 대한 정보도 표현하기에 적합합니다.이러한 모든 정보는 하나의 언어로 표현되므로 중앙 데이터베이스, 분산 데이터베이스 또는 연합 데이터베이스에 저장되는 것과 무관하게 모두 통합할 수 있습니다.겔리쉬 포멀 영어의 정보 모델은 자연어 용어와 정형어를 사용하는 겔리쉬 포멀 영어 표현 모음으로 구성됩니다.예를 들어 지리정보모델은 다음과 같은 다수의 겔리쉬 형식 영어 표현으로 구성될 수 있습니다.

- 에펠탑은 파리에 있다.-파리는 도시로 분류된다.

정보요건과 지식은 예를 들어 다음과 같이 표현할 수 있다.

- 타워는 <a>지구에 위치해야 한다 - 도시는 <일종의>지구에 위치해야 한다.

이러한 겔리쉬의 정식 영어 표현에서는, 개념명( 「city」등)과 관계 타입( 「 is location in」, 「 is classified a」등)을 나타내는 어구가 사용됩니다.이러한 어구는, 겔리쉬 영어 딕셔너리-Taxonomy(또는 독자적인 도메인 딕셔너리)로부터 선택되어야 합니다.겔리쉬 영어사전-택소노미는 600개 이상의 표준 관계 유형을 포함하고 4만개 이상의 개념에 대한 정의를 포함하기 때문에 의미론적으로 풍부한 정보 모델을 만들 수 있습니다.겔리쉬의 정보 모델은 사실을 표현하거나 진술, 질의 및 답변을 할 수 있습니다.

보다 구체적인 유형

최근 컴퓨터 과학 분야에서는 보다 구체적인 유형의 모델링 언어가 등장하고 있습니다.

대수적

대수 모델링 언어(AML)는 대규모 수학 계산(즉, 대규모 최적화 유형 문제)의 고복잡도 문제를 설명하고 해결하기 위한 고급 프로그래밍 언어입니다.AIMMS, AMPR, GAMS, Gekko, Mosel, OPLOptimJ같은 AML의 특별한 장점 중 하나는 최적화 문제의 수학적 표기법과의 구문 유사성이다.이것은 집합, 색인, 대수식, 강력한 스파스 인덱스 및 데이터 처리 변수, 임의 이름을 가진 제약 조건과 같은 특정 언어 요소에 의해 지원되는 최적화 영역의 문제에 대한 매우 간결하고 읽기 쉬운 정의를 가능하게 한다.모형의 대수적 공식에는 모형의 처리 방법이 포함되어 있지 않습니다.

행동

행동 언어는 동시에 실행되는 컴포넌트로 구성된 복잡한 시스템의 관찰 가능한 동작을 기술하도록 설계되었습니다.이러한 언어는 동시성, 비결정성, 동기화 및 통신과 같은 주요 개념에 대한 설명에 초점을 맞춥니다.행동 언어의 의미적 기반은 프로세스 미적분 또는 프로세스 대수이다.

분야별

분야별 모델링(DSPM) 언어는 특정 소프트웨어 개발 라이프 사이클 단계에 관련된 성과물에 초점을 맞춥니다.그러므로, 그러한 언어는 발견, 분석, 설계, 건축, 수축 등과 같은 각 단계의 어휘, 구문 및 표기법을 제공한다.예를 들어 프로젝트의 분석 단계에서 모델러는 특정 분석 표기법을 사용하여 분석 제안도를 제공합니다.단, 설계 단계에서는 소프트웨어 엔티티 간의 관계를 나타내기 위해 논리 설계 표기법을 사용합니다.또한 분야별 모델링 언어 베스트 프랙티스는 실무자가 다양한 표기법을 하나의 다이어그램에 결합하는 것을 방해하지 않습니다.

도메인 고유의

DSM(Domain-Specific Modeling)은 시스템(대부분 컴퓨터 소프트웨어 등 IT 시스템)을 설계 및 개발하기 위한 소프트웨어 엔지니어링 방법론입니다.여기에는 시스템의 다양한 측면을 나타내기 위해 그래픽 도메인 고유 언어(DSL)를 체계적으로 사용하는 것이 포함됩니다.DSM 언어는 범용 모델링 언어보다 높은 수준의 추상화를 지원하는 경향이 있기 때문에 특정 시스템을 지정하는 데 필요한 노력과 낮은 수준의 세부 사항이 줄어듭니다.

프레임워크 고유의

Framework Specific Modeling Language(FSML; 프레임워크 고유 모델링 언어)는 객체 지향 애플리케이션 프레임워크용으로 설계된 도메인 고유 모델링 언어입니다.FSML은 프레임워크에서 제공하는 추상화를 FSML 개념으로 정의하고 추상화를 기능으로 분해합니다.기능은 구현 단계 또는 선택 사항을 나타냅니다.

FSML 개념은 피쳐를 선택하고 피쳐의 값을 지정함으로써 설정할 수 있습니다.이러한 개념 설정은 코드에서 개념을 구현하는 방법을 나타냅니다.즉, 개념 구성은 개념 구현을 작성하기 위해 프레임워크가 어떻게 완료되어야 하는지를 기술합니다.

정보 및 지식 모델링

링크된 데이터와 온톨로지 엔지니어링에서는 엔티티와 엔티티 간의 관계를 나타내는 '호스트 언어', 엔티티와 관계의 속성 간의 제약, 메타데이터 속성필요합니다.JSON-LDRDF는 이 맥락에서 두 개의 주요(및 의미론적으로 거의 동등한) 언어입니다. 이는 주로 모델에 대한 추론에 필요한 고차 로직을 지원하기 위한 필수 속성인 문장 재작성과 문맥화를 지원하기 때문입니다.모델 변환은 그러한 추론의 일반적인 예입니다.

객체 지향

객체 모델링 언어는 표준화된 기호 집합을 기반으로 하는 모델링 언어이며 객체 지향 소프트웨어 설계 또는 시스템 설계를 모델링(일부)하도록 배치하는 방법을 말합니다.

일부 조직에서는 소프트웨어 개발 방법론과 조합하여 초기 사양에서 구현 계획으로 진행되며 개발자와 이해관계자로 구성된 전체 팀에게 계획을 전달하기 위해 이러한 방법을 광범위하게 사용하고 있습니다.모델링 언어는 시각적이고 코드보다 더 높은 수준의 추상화에 있기 때문에 모델을 사용하면 나중에 다른 해석의 문제를 방지할 수 있는 공유 비전의 생성을 장려할 수 있습니다.이러한 모델을 구축하기 위해 소프트웨어 모델링 도구를 사용하는 경우가 많습니다.이러한 모델은 코드로 자동 변환될 수 있습니다.

가상현실

Virtual Reality Modeling Language(VRML; 가상현실 모델링 언어)는 1995년 이전에는 Virtual Reality Markup Language로 알려졌으며, 특히 월드 와이드 웹을 염두에 두고 설계된 3차원(3D) 인터랙티브 벡터 그래픽을 표현하기 위한 표준 파일 형식입니다.

다른이들

적용들

컴퓨터 과학, 정보 관리, 비즈니스 프로세스 모델링, 소프트웨어 엔지니어링시스템 엔지니어링을 포함한 다양한 종류의 모델링 언어가 다양한 분야에 적용됩니다.모델링 언어를 사용하여 다음을 지정할 수 있습니다.

  • 시스템 요건,
  • 구조 및
  • 동작.

모델링 언어는 이해관계자(예: 고객, 운영자, 분석가, 설계자)가 모델링 중인 시스템을 더 잘 이해할 수 있도록 시스템을 정확하게 지정하는 데 사용됩니다.

보다 성숙한 모델링 언어는 정확하고 일관성 있으며 실행 가능합니다.그리기 도구와 함께 적용된 비공식 다이어그램 작성 기법은 시스템 요구사항, 구조 및 동작을 유용한 그림으로 표현하여 커뮤니케이션, 설계 및 문제 해결에 유용하지만 프로그래밍 방식으로 [4]: 539 사용할 수 없습니다.단, 적절한 툴을 지원하는 실행 가능한 모델링 언어는 동일한 표현에서 시스템 검증검증, 시뮬레이션코드 생성을 자동화할 것으로 예상됩니다.

퀄리티

모델링 언어에 대한 검토는 다양한 모델링 환경에 적합한 언어를 할당하기 위해 필수적이다.용어 설정에는 이해관계자, 도메인 및 연결된 지식이 포함됩니다.언어 품질을 평가하는 것은 더 나은 모델을 달성하는 것을 목표로 하는 수단이다.

평가를 위한 프레임워크

여기서 언어 품질은 Krogstie, Sindre 및 Lindland(2003)가 개발한 모델의 품질을 위한 SEQUAL 프레임워크에 따라 기술된다. 이는 언어 품질을 일반 모델 품질을 위한 프레임워크에 연결하는 프레임워크이기 때문이다.이 프레임워크에서는 언어의 품질을 기술하기 위해 5개의 영역이 사용되며, 이는 언어의 개념적 표기법과 시각적인 표기법 모두를 표현하도록 되어 있습니다.모델의 기본 품질 프레임워크에 대한 자세한 설명은 하지 않고 언어 품질 프레임워크를 설명하는 데 사용되는 영역에 초점을 맞출 것입니다.

도메인의 적절성

이 프레임워크는 도메인을 도메인의 적절성으로 나타낼 수 있는 능력을 명시하고 있습니다.문장의 적절성은 다소 모호할 수 있지만, 이 특별한 맥락에서 표현될 수 있다는 것을 의미합니다.이상적으로는 도메인에 있는 모든 것을 표현할 수 있을 뿐만 아니라 도메인에 있는 모든 것을 포함할 수 있을 정도로 강력해야 합니다.이 요건은 다소 엄격해 보일 수 있지만, 그 목적은 도메인과 관련된 모든 것을 포함하고 도메인에 적합하지 않은 모든 것을 제외하는 시각적으로 표현된 모델을 얻는 것입니다.이를 실현하기 위해 언어는 어떤 표기와 구문을 제시하기에 유리한지를 잘 구분해야 합니다.

참가자의 적절성

참가자의 적절성을 평가하기 위해 이해관계자가 보유한 지식을 언어가 얼마나 잘 표현하는지 파악하려고 합니다.이해관계자의 지식은 주관적이기 때문에 여기에는 과제가 수반됩니다.이해관계자에 대한 지식은 암묵적이고 명시적이다.두 종류의 지식은 모두 역동적인 성격이다.이 프레임워크에서는 명확한 유형의 지식만 고려됩니다.언어는 대부분 도메인과 관련된 이해당사자의 모든 명시적 지식을 표현해야 한다.

모델러의 적절성

마지막 단락은 이해관계자에 대한 지식이 좋은 방식으로 제시되어야 한다고 명시하였다.또한 언어가 이해당사자에 대해 가능한 모든 명시적 지식을 표현할 수 있어야 합니다.언어가 부족하기 때문에 어떤 지식도 표현되지 않아야 한다.

포괄성의 적절성

이해의 적절성은 언어를 일관되게 사용함으로써 사회 행위자들이 모델을 이해할 수 있도록 한다.이를 위해 프레임워크에는 일련의 기준이 포함됩니다.이러한 표현들이 표현하는 일반적인 중요성은 언어가 유연하고 구성하기 쉬워야 하며 다른 언어뿐만 아니라 내부적으로도 언어의 다른 부분을 쉽게 구분할 수 있어야 한다는 것입니다.이와 더불어 목표는 가능한 한 단순해야 하며 언어의 각 기호가 고유한 표현을 가져야 합니다.

이것은 개발 요건의 구조와도 관련되어 있습니다.

도구의 적절성

실제로 모델링된 도메인을 분석 및 추가 처리에 사용할 수 있도록 언어는 자동적인 방법으로 추론할 수 있도록 해야 합니다.이를 위해서는 정식 구문과 의미론을 포함해야 합니다.공식화함으로써 얻을 수 있는 또 다른 장점은 오류를 조기에 발견할 수 있다는 것입니다.기술적 행위자에게 가장 적합한 언어가 사회적 행위자에게 가장 적합한 것은 아닙니다.

조직의 적절성

사용되는 언어는 조직 내에서 언어가 표준화되거나 조직 내에서 표준으로 선택된 도구에 의해 지원되는 등 조직 상황에 적합합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 샤오허(2007년)."그래픽 모델링 언어 표기 메타모델"인: 컴퓨터 소프트웨어응용 프로그램 컨퍼런스, 2007. COMPSAC 2007 - 제1권 제31회 국제연차, 제1권, 제1호, 2007년 7월 24-27일자, 페이지 219-224.
  2. ^ Bell, Michael (2008). "Introduction to Service-Oriented Modeling". Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley & Sons. ISBN 978-0-470-14111-3.
  3. ^ * Andries van Rensen, Gellish, A Generic Extensible Ontology Language Archived 2012-11-30 Delft Technology University, 2005년 Wayback Machine에서 아카이브된 Generic Extensible Ontological Language.
  4. ^ Baltes, Sebastian; Diehl, Stephan (2014-11-11). "Sketches and diagrams in practice". Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. FSE 2014. Hong Kong, China: Association for Computing Machinery: 530–541. arXiv:1706.09172. doi:10.1145/2635868.2635891. ISBN 978-1-4503-3056-5.

추가 정보

외부 링크