본문 바로가기

Tools/IBM Rhapsody

Rhapsody :: Multicast with port

참고 홈페이지

Rhapsody 7.5.1 버전 이후 부터는 포트(Port)간 멀티 캐스트 매크로를 지원한다.
방법은 아래와 같다.

1. 객체를 아래와 같이 구성한다.


2. Sender의 State Diagram을 아래와 같이 구성한다.
   1초마다 sendEvent() 함수를 호출하도록 구성한다.


   처음에는 GEN 매크로를 사용하여 이벤트를 전송해본다.



3. Handler들의 State Diagram을 아래와 같이 구성한다.
   evTrigger 이벤트를 수신하면, handleEvTrigger() 함수를 호출하도록 구성한다. 나머지의 Handler도 동일하게 구성한다.


   Handler1의 handleEvTrigger()


   Handler2의 handleEvTrigger()


   Handler3의 handleEvTrigger()



4. MULTICAST를 사용하지 않고 동작시켰을때의 화면
   Sender가 세개의 객체와 연결되어 있음에도 불구하도, 하나의 객체로만 이벤트가 전달됨을 확인할 수 있다.


5. MULTICAST를 사용했을때의 결과화면
   Sender::sendEvent() 함수를 아래와 같이 수정한다.



   세개의 객체로 이벤트가 전달됨을 볼수 있다.