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 |