본문 바로가기

기술 용어 검색

OCL (Object Constraint Language)

1. OCL(Object Constraint Language)의 정의
- 정형화된 언어로써 모델 구성 요소의 제약 사항을 정확하게 묘사한 언어
- UML을 보조하여 그 모델 요소와 관계되는 제약을 정확하게 표현함

2. OCL의 필요성
- UML로는 객체지향 모델을 완전하게 기술 할 수 없음
- UML에서는 인스턴스 수준에서는 어떠한 수량적인 대응관계인지 파악이 불가함 ==> 수치적으로 제약

3. OCL 제약 기술 형식
가. 클래스 불변 표명
context 클래스명
 (inv[제약명]: 조건식)+

나. 사전조건, 사후조건의 경우
context 클래스명:: 조작명(인수 리스트)[:반치형]
 ({pre | post} [제약명] : 조건식)+

4. 예제
- 계좌 클래스에 대해 출금(인출자, 금액) 이라는 조작을 정의
- 인수를 2개 취하고 인출자가 어떤 사람 인스턴스로, 출금 금액이 얼마인지를 결정
- 실행이 성공하기 위해서는 인수 [인출자]가 정당한 사람일것, 즉 이 계좌의 명의인임이 필요

context 계좌::출금(인출자:사람, 금액:원):원
pre:인출자 = self.명의인 and self.잔고 + self.대출 한도액 >= 금액
post:self.잔고 = self.잔고 @ pre*금액 and result = 금액

'기술 용어 검색' 카테고리의 다른 글

ebXML  (0) 2008.01.02
Web Ontologoy  (0) 2008.01.02
SRW (Search & Retrieval for Web Service)  (0) 2008.01.02