주제

소개 페이지 맨 위

현실 세계에서 일은 대개 동시에 예측 불가능하게 발생합니다. "발생하는 일"을 '이벤트'라고 합니다.

상태 시스템의 컨텍스트에서 이벤트는 상태 전이를 트리거할 수 있는 자극의 발생을 모델링합니다. 이벤트에는 신호, 호출, 시간 경과 또는 상태 변경이 포함됩니다. 이벤트는 동기 또는 비동기일 수 있습니다.

'신호'는 두 인스턴스 간 비동기 자극의 스펙을 표시하는 일종의 이벤트입니다.

이벤트 종류 페이지 맨 위

이벤트는 외부 또는 외부일 수 있습니다. 외부 이벤트는 시스템과 시스템의 액터 사이에 전달되는 이벤트입니다. 내부 이벤트는 시스템 내에 활성화되어 있는 객체 사이에 전달되는 이벤트입니다. 신호, 호출, 시간 경과 및 상태 변경과 같은 4가지 종류의 이벤트가 있습니다.

신호 페이지 맨 위

신호는 한 객체가 비동기적으로 디스패치한(전송) 후 다른 객체가 받는(수신) 객체를 나타냅니다. 예외는 신호 유형의 예입니다.

인스턴스가 일반적으로 명시적으로 모델링되지 않는 경우에도 신호는 인스턴스를 포함할 수 있습니다. 신호는 이벤트 계층 구조의 모델링을 사용 가능하게 하여 일반화 관계에 연관됩니다.

신호는 속성 및 조작을 포함할 수 있습니다. 신호의 속성은 매개변수 역할을 합니다.

신호는 상태 시스템에서의 상태 전이 조치 또는 상호 작용에서의 메시지 전송으로 전송될 수 있습니다. 조작 실행이 신호를 전송할 수도 있습니다. 클래스 또는 인터페이스를 모델링할 때 요소 작동 지정의 중요한 파트는 조작에 의해 전송될 수 있는 신호를 지정하는 것입니다. 전송할 수 있는 조작 및 이벤트 간의 관계는 종속성 관계를 사용하여 모델링되고 <<전송>>으로 유형화됩니다.

호출 이벤트 페이지 맨 위

신호 이벤트가 신호의 발생을 나타내는 것과 같이 호출 이벤트는 조작의 디스패치를 나타냅니다. 두 경우 모두, 이벤트는 상태 시스템에서 상태 전이를 트리거할 수 있습니다.

신호가 비동기 이벤트인 반면에 호출 이벤트는 일반적으로 동기입니다. 이것은 객체가 다른 객체에 대한 조작을 호출할 때 조작이 완료될 때까지 제어가 송신측에서 수신측으로 전달되며 그 후에 제어가 송신측에 리턴됨을 의미합니다. 호출 이벤트 모델링은 신호 이벤트와 동일한 방법으로 가시화됩니다. 두 경우 모두, 이벤트는 매개변수에 따라 상태 전이에 대한 트리거로 표시됩니다.

신호 이벤트와 호출 이벤트를 구분할 수 있는 시각적인 신호가 없더라도 수신측 클래스가 호출 이벤트를 처리하는 조작을 선언하므로 차이점이 나타납니다. 신호의 경우, 신호에 의해 트리거되는 상태 시스템에서 전이합니다.

시간 및 변경 이벤트 페이지 맨 위

시간 이벤트는 시간의 경과를 나타냅니다. 시간 이벤트는 공통 시계 메커니즘을 사용하여 시스템의 시간 의존 파트를 동기화하는 데 사용됩니다. 변경 이벤트는 시스템의 상태 변경 또는 일부 조건의 만족도 변경을 나타냅니다.

이벤트 전송 및 수신 페이지 맨 위

신호 및 호출 이벤트에는 송신측 및 수신측과 같은 최소한 두 개의 객체가 포함됩니다. 신호가 전송될 때 송신측은 신호를 디스패치한 다음 수신측에서 리턴하기를 기다리지 않고 제어 플로우를 지속합니다. 이것은 제어 플로우를 재개하기 전에 송신측이 수신측에서 응답하기를 기다리는 조작 호출의 의미론에 대조되는 것입니다. 이 때문에, 일반적으로 조작은 "블로킹" 작동(다른 것이 발생하는 것을 차단하거나 막는 작동)을 표시하는 데 사용되는 반면 신호는 비 블로킹 작동을 표시하는 데 사용됩니다.

하나의 객체가 객체 세트에 신호를 전송하는 행위를 '멀티캐스팅'이라고 하며 수신측 세트를 보유하는 컨테이너에 신호를 전송하여 표시됩니다. 브로드캐스팅은 시스템의 모든 객체에 신호를 전송하는 행위이며 전체적으로 시스템을 나타내는 객체에 신호를 전송하여 표시됩니다. 이 '시스템 객체'는 차례로 메시지 분배 메커니즘을 구현하여 시스템의 해당 객체 모두에 신호가 전송되었는지 확인합니다.



Rational Unified Process   2003.06.15