EXPRESS(데이터 모델링 언어)
EXPRESS (data modeling language)EXPRESS는 제품 데이터의 표준 데이터 모델링 언어입니다.EXPRESS는 제품 교환을 위한 ISO 표준 STEP(ISO 10303)에서 공식화되어 ISO 10303-11로 [1]표준화되었습니다.
개요
데이터 모델은 관심 영역에 대한 데이터 개체 및 데이터 개체 간의 관계를 공식적으로 정의합니다.데이터 모델의 일반적인 응용 프로그램에는 데이터베이스 개발 지원 및 특정 관심 영역에 대한 데이터 교환이 포함됩니다.데이터 모델은 데이터 모델링 [2]언어로 지정됩니다.EXPRESS는 ISO 10303-11, EXPRESS Language Reference [3]Manual에 정의된 데이터 모델링 언어입니다.
EXPRESS 데이터 모델은 텍스트와 그래픽의 두 가지 방법으로 정의할 수 있습니다.정식 검증 및 SDAI 등의 툴 입력에서는 ASCII 파일 내의 텍스트 표현이 가장 중요합니다.반면에 그래픽 표현은 종종 설명 및 튜토리얼과 같은 인간의 사용에 더 적합합니다.EXPRESS-G라고 불리는 그래픽 표현은 텍스트 형식으로 공식화할 수 있는 모든 세부 사항을 나타낼 수 없습니다.
EXPRESS는 Pascal과 같은 프로그래밍 언어와 유사합니다.스키마 내에서 다양한 데이터 유형을 구조적 제약조건 및 알고리즘 규칙과 함께 정의할 수 있습니다.EXPRESS의 주요 기능은 데이터 유형의 모집단을 공식적으로 검증할 수 있다는 것입니다. 이는 모든 구조 및 알고리즘 규칙을 확인하는 것입니다.
EXPRESS-G
EXPRESS-G는 정보 [4]모델의 표준 그래픽 표기법입니다.엔티티 및 유형 정의, 관계 및 카디널리티를 [5]표시하기 위한 EXPRESS 언어와 함께 제공됩니다.이 그래픽 표기법은 EXPRESS 언어의 서브셋을 지원합니다.EXPRESS에 비해 EXPRESS-G를 사용하는 것의 장점 중 하나는 데이터 모델의 구조를 보다 이해하기 쉽게 나타낼 수 있다는 것입니다.EXPRESS-G의 단점은 복잡한 제약조건을 공식적으로 지정할 수 없다는 것입니다.그림 1은 예시입니다.그림에 표시된 데이터 모델을 사용하여 오디오 콤팩트 디스크([2]CD) 컬렉션에 대한 데이터베이스 요건을 지정할 수 있습니다.
간단한 예
단순한 EXPRESS 데이터 모델은 그림 2와 같으며 코드는 다음과 같습니다.
스키마 패밀리, 엔티티 인물 추상 슈퍼타입(ONEOF(남성, 여성), 이름: STRING, 어머니: 옵션 여성, END_ENTY, END_ENTY, END_ENTY의 엔티티티 여성 서브타입(인물), END_ENTITY, END_ENTY; END_ENTY의 엔티티티티티티티티티티티티, END SUBTYENTYENTYENTYOF, ENTYENTYENTYENTYOF, ENTYENTYENTYUPERT
데이터 모델은 EXPRESS 스키마 패밀리 내에 포함되어 있습니다.여기에는 수컷과 암컷의 두 가지 하위 유형을 가진 수퍼 유형 엔티티 Person이 포함됩니다.사용자는 AXTract로 선언되므로 (ONEOF) 하위 유형만 존재할 수 있습니다.한 사람의 모든 발생에는 필수 이름 속성이 있으며 선택적으로 엄마와 아빠의 속성이 있습니다.일부 엔티티 유형의 속성에는 다음과 같은 고정 읽기 스타일이 있습니다.
- 여자는 사람을 위해 엄마 역할을 할 수 있다
- 남자는 사람을 위해 아버지 역할을 할 수 있다
EXPRESS 빌딩 블록
데이터형
EXPRESS는 EXPRESS-G [2]표기의 특정 데이터 유형 기호를 포함한 일련의 데이터 유형을 제공합니다.
- 엔티티 데이터 유형:이것은 EXPRESS에서 가장 중요한 데이터형입니다.아래에 자세히 설명되어 있습니다.엔티티 데이터형은 서브 슈퍼타입 트리 내 또는 속성별 두 가지 방법으로 관련지을 수 있습니다.
- 열거형 데이터 유형:열거값은 rgb-enumeration의 경우 red, green, blue 등의 단순한 문자열입니다.열거 유형이 확장 가능하다고 선언된 경우 다른 스키마에서 확장할 수 있습니다.
- 정의된 데이터 유형:이것은 다른 데이터 타입에 특화되어 있습니다.예를 들어, 값이 0 이상인 정수 타입의 positive를 정의합니다.
- 데이터 유형 선택:다른 옵션 간에 선택 항목 또는 대안을 정의합니다.가장 일반적으로 사용되는 것은 서로 다른 entity_type 중 하나를 선택하는 것입니다.정의된 유형을 포함하는 선택 항목은 더 드물 수 있습니다.열거 유형이 확장 가능하다고 선언된 경우 다른 스키마에서 확장할 수 있습니다.
- 단순한 데이터형
- 문자열: 가장 자주 사용되는 단순 유형입니다.EXPRESS 문자열은 임의의 길이이며 임의의 문자(ISO 10646/Unicode)를 포함할 수 있습니다.
- 이진: 이 데이터 유형은 매우 드물게 사용됩니다.바이트가 아닌 비트 수를 커버합니다.일부 구현에서는 크기가 32비트로 제한됩니다.
- 논리:부울 데이터 유형과 마찬가지로 논리에는 TRUE 및 FALSE 값이 있을 수 있으며 추가로 UNKNOWN 값이 있습니다.
- 부울:부울값 TRUE 및 FALSE를 사용합니다.
- Number: 숫자 데이터 유형은 정수 및 실수 모두 슈퍼 유형입니다.대부분의 구현에서는 실제 값이 정수인 경우에도 이중 유형을 사용하여 real_type을 나타냅니다.
- 정수: EXPRESS 정수는 원칙적으로 임의의 길이를 가질 수 있지만 대부분의 구현에서는 부호 있는 32비트 값으로 제한됩니다.
- Real: EXPRESS의 실제 값은 정확도와 크기가 무제한인 것이 이상적입니다.그러나 실제로는 실수값이 2배 유형의 부동소수점 값으로 표시됩니다.
- 집계 데이터 유형:aggregation_type에는 SET, BAG, LIST 및 ARRAY가 있습니다.SET와 BAG가 오더되지 않은 반면 LIST와 ARY가 오더됩니다.BAG에는 특정 값이 여러 번 포함될 수 있습니다.SET 에서는 이 값이 허용되지 않습니다.설정되지 않은 멤버를 포함할 수 있는 집약은 어레이뿐입니다.SET, LIST, BAG에서는 불가능합니다.Aggregate의 멤버는 다른 데이터 유형일 수 있습니다.
데이터형에는 몇 가지 일반적인 사항이 언급되어 있습니다.
- 생성된 데이터 유형은 EXPRESS 스키마 내에서 정의할 수 있습니다.주로 엔티티를 정의하고 엔티티 속성 및 집약 멤버의 유형을 지정하는 데 사용됩니다.
- 데이터 유형을 재귀적인 방법으로 사용하여 점점 더 복잡한 데이터 유형을 구축할 수 있습니다.예를 들어, 일부 엔티티 또는 다른 데이터 유형의 SELECT의 어레이 목록을 정의할 수 있습니다.이러한 데이터 유형을 정의하는 것이 타당하다면 다른 질문입니다.
- EXPRESS는 데이터 유형을 더욱 전문화할 수 있는 몇 가지 규칙을 정의합니다.이것은 엔티티의 어트리뷰트를 재선언하는 경우에 중요합니다.
- GENERIC 데이터 유형은 프로시저, 함수 및 추상 엔티티에 사용할 수 있습니다.
엔티티 속성
엔티티 속성을 사용하면 엔티티에 "속성"을 추가하고 특정 역할의 엔티티와 한 엔티티를 연관시킬 수 있습니다.Atribute의 이름은 역할을 지정합니다.대부분의 데이터 유형은 직접 속성 유형으로 사용될 수 있습니다.여기에는 집약도 포함됩니다.
속성에는 명시적 속성, 파생 속성 및 역속성의 세 가지 종류가 있습니다.이 모든 것은 하위 유형으로 다시 선언할 수 있습니다.또한 명시적 속성은 하위 유형에서 파생된 것으로 다시 선언할 수 있습니다.다른 종류의 속성은 변경할 수 없습니다.
- 명시적 속성은 STEP-File에 표시되는 직접 값을 가진 속성입니다.
- 파생된 속성은 식에서 값을 가져옵니다.대부분의 경우 이 표현은 이 인스턴스의 다른 속성을 나타냅니다.표현식에서는 EXPRESS 함수를 사용할 수도 있습니다.
- 역속성은 엔티티에 "정보"를 추가하지 않고 명시적 속성만 다른 끝에서 엔티티에 지정하고 제약합니다.
EXPRESS-G [2]표기의 특정 속성 기호:
슈퍼타입 및 서브타입
엔티티는 하나 이상의 다른 엔티티의 하위 유형으로 정의할 수 있습니다(복수 상속이 허용됨).슈퍼타입에는 임의의 수의 서브타입이 포함될 수 있습니다.매우 복잡한 서브 슈퍼타입 그래프를 작성하는 것은 STEP에서 매우 일반적인 방법입니다.그래프에 따라서는 100개 이상의 엔티티가 서로 관련되어 있습니다.
엔티티 인스턴스는 단일 엔티티(추상적이지 않은 경우) 또는 이러한 하위 슈퍼타입 그래프에서 엔티티의 복잡한 조합에 대해 구성할 수 있습니다.큰 그래프의 경우 가능한 조합의 수는 천문학적인 범위에서 증가할 수 있습니다.가능한 조합을 제한하기 위해 ONEOF 및 TOTALOVER와 같은 특별한 슈퍼타입 제약이 도입되었습니다.더욱이 기업은 추상적이라고 선언하여, 그 어떤 인스턴스도 이 엔티티만으로 구성할 수 없고, 비추상 하위유형을 포함하는 경우에만 강제할 수 있다.
알고리즘 제약
엔티티 및 정의된 데이터 유형은 다음과 같이 더욱 제약될 수 있습니다.WHERE가 규칙입니다.WHERE 규칙도 글로벌 규칙의 일부입니다.WHERE 규칙은 TRUE로 평가해야 하는 식입니다. 그렇지 않으면 EXPRESS 스키마 집단이 유효하지 않습니다.파생된 속성과 마찬가지로 이러한 표현은 EXPRESS 함수를 호출하여 EXPRESS 프로시저를 더욱 호출할 수 있습니다.함수 및 절차를 통해 프로그래밍 언어와 매우 유사한 로컬 변수, 매개 변수 및 상수를 사용하여 복잡한 문장을 공식화할 수 있습니다.
EXPRESS 언어는 로컬 및 글로벌 규칙을 기술할 수 있습니다.예를 들어 다음과 같습니다.
독립체 면적 단위 서브타입 의 (named_unit(유닛명)); 어디에 WR1: (자신\named_unit(유닛명).치수.length_등가 = 2) 그리고. (자신\named_unit(유닛명).치수.질량_등가성 = 0) 그리고. (자신\named_unit(유닛명).치수.time_inconsistent(시간 등가) = 0) 그리고. (자신\named_unit(유닛명).치수.전기_전류_등가성 = 0) 그리고. (자신\named_unit(유닛명).치수. 열역학적_온도_등가성 = 0) 그리고. (자신\named_unit(유닛명).치수.양_오브_오브_일치 = 0) 그리고. (자신\named_unit(유닛명).치수.발광 강도 = 0); END_엔티티; -- area_unit(면적 단위)
이 예에서는 area_unit 엔티티가 길이의 제곱값을 가져야 함을 설명합니다.이를 위해서는 속성 dimensions.length_exponent가 2이고 기본 SI 단위의 다른 모든 지수가 0이어야 합니다.
또 다른 예는 다음과 같습니다.
유형 day_in_week_number = 정수; 어디에 WR1: (1 <=> 자신) 그리고. (자신 <=> 7); 종료_타입; -- day_in_week_number
즉, week 값은 7을 초과할 수 없습니다.
따라서 엔티티에 몇 가지 규칙을 설명할 수 있습니다.주어진 예에 대한 자세한 내용은 ISO 10303-41을 참조하십시오.
「 」를 참조해 주세요.

- ISO 관련 과목
- ISO 10303: 컴퓨터 해석 가능한 제품 데이터 표시 및 교환을 위한 ISO 표준.
- ISO 10303-21: ASCII 구조의 STEP 데이터 교환 형식
- ISO 10303-22: 표준 데이터 액세스 인터페이스, STEP 구현 방법의 일부
- ISO 10303-28: STEP-XML은 EXPRESS 스키마를 나타내기 위해 XML(Extensible Markup Language) 사용을 지정합니다.
- ISO 13584-24:PLIB의 논리 모델은 EXPRESS에 지정되어 있습니다.
- ISO 13399: 절삭 공구 데이터 표현 및 교환을 위한 ISO 표준
- ISO/PAS 16739: 산업 기반 클래스는 EXPRESS에서 지정됩니다.
- STEP (ISO 10303) 부품 목록
- 기타 관련 과목
- CAD 데이터 교환
- EDIF: 전자 설계 인터체인지 포맷
- 도표
- 범용 모델링
- 모델링 언어
- Worth 구문 표기법
- DOT(그래프 기술 언어)
레퍼런스
이 문서에는 미국 국립표준기술연구소 웹사이트 https://www.nist.gov의 퍼블릭 도메인 자료가 포함되어 있습니다.
- ^ ISO 10303-11:2004 산업 자동화 시스템 및 통합 -- 제품 데이터 표현 및 교환 -- Part 11: 설명 방법:EXPRESS 언어 참조 매뉴얼
- ^ a b c d 마이클 R.McCaleb(1999년)."기준 시스템의 개념 데이터 모델"미국 국립 표준 기술 연구소1999년 8월
- ^ ISO 국제 표준 10303-11:1994, 산업 자동화 시스템 및 통합 - 제품 데이터 표현 및 교환 - Part 11: 설명 방법:EXPRESS 언어 참조 매뉴얼, 국제 표준화 기구, 스위스 제네바(1994)
- ^ 4 EXPRESS-G 언어 개요 웨이백 머신에 2008-11-09년 아카이브 완료.2008년 11월 9일에 액세스.
- ^ EXPRESS-G 표기법에 대한 자세한 내용은 EXPRESS Language Reference Manual(ISO 10303-11)의 Annex B를 참조하십시오.
추가 정보
- ISO 10303, STEP의 메인 페이지, 제품 교환 모델 데이터 표준
- 더글러스 A스헨크와 피터 R.Wilson, Information Modeling the EXPRESS Way, 옥스포드 대학 출판부, 1993년 ISBN978-0-19-508714-7