2014-10-11 3 views
2

OCL에서 새 데이터 형식을 정의하는 방법은 무엇입니까? (예 - 날짜)OCL에서 데이터 형식 정의

OCL에는 이미 사전 정의 된 유형 (정수, 문자열, 실수 & 부울)이 있습니다. 그러나 어떻게 새로운 데이터 유형을 정의 할 수 있습니까?

예 : Person 클래스 호출이 있습니다. 문자열 연령 : 정수 생일 : Person 클래스는 다음과 같은 속성, 이름이 날짜

답변

1

항상 문맥을 형성 (일반적으로 클래스 모델) UML 모델에 부착 된 OCL 표현식에서를, 당신은 유형을 사용할 수 있습니다 모델에 정의되어 있습니다. 예를 들어, 클래스 모델에서 데이터 유형 Date을 정의한 다음 Date을 OCL 표현식에 사용할 수 있습니다.

+0

OCL을 사용하여 디자인을 모델링하고 검증하기 위해 USE : UML 기반 사양 환경을 사용하고 있습니다. USE에서 UML 모델의 새로운 유형을 정의하는 방법을 찾을 수 없습니다. USE에서 새로운 유형을 정의하기위한 몇 가지 지침을 줄 수 있다면 정말 고맙겠습니다. –

+0

@RumeshKavinda USE는 독일의 브레멘 (University of Bremen)에서 발명 된 이상한 도구입니다. 이 도구는 표준 UML 클래스 모델링을 지원하지 않으며 표준 UML 교환 데이터 형식 * .xmi도 지원하지 않습니다. 추가 정보에 나열된 연락처 주소로 메일을 보내거나 도구의 지원 포럼 (http://sourceforge.net/p/useocl/discussion/928881/)에 질문을 게시하여 지원을받을 수 있습니다. – xmojmr

1

(+1) 유효한 질문 인 경우 이유를 밝히지 않고 "-1"을 넣은 사람이 없습니다.

OCL & UML이 사용됩니다. 새 데이터 유형은 OCL에서는 직접 정의되지 않지만 UML에서는 먼저 정의됩니다. 나중에 OCL에서 새로운 선언 된 데이터 형식을 사용했습니다.

열거 형 값은 새 데이터 형식을 선언하는 예제입니다.

차량용 소프트웨어를 모델링하는 고객. 당신은 차량에 모터가 있고, 각 모터는 "상태"또는 "상태"라는 차량을 묘사합니다.

모터 상태는 열거, 값의 집합으로 제한됩니다.

a.M.L. 클래스 다이어그램에서 새 상태는 상자와 같이 값과 함께 과 비슷하며이 새로운 유형을 참조하는 다른 클래스 인 을 가질 수 있습니다.

.................................................................... 
..+----------------------+.........+-----------------------------+.. 
..|  <<enum>>  |.........|   <<class>>   |.. 
..| EngineStatusEnum |.........|   MotorClass   |.. 
..+----------------------+.........+-----------------------------+.. 
..| * Unknown   +---------+ [+] EngineStatusEnum Status |.. 
..| * Stopped   |.........| [+] ... other members  |.. 
..| * Running   |.........+------------+----------------+.. 
..| * Testing   |......................|................... 
..| * Damaged   |......................|................... 
..+----------------------+.........+--------------+---------\--+.... 
...................................|       \ |.... 
...................................| (Status <= Stopped &&) \|.... 
...................................| (Status >= Running)  |.... 
...................................|       |.... 
...................................+---------------------------+.... 
.................................................................... 

OCL의 일부 조건을 표시하고 선언 된 새 유형을 적용하는 메모.