시퀀스 다이어그램에서, 상호작용 연산자는 결합된 단편의
시맨틱을 정의하고 결합된 단편에서 상호작용 피연산자를 사용하는
방법을 결정합니다.
다음 표는 가장 일반적으로 사용되는 상호작용 연산자를 나열합니다.
| 상호작용 연산자 |
설명 |
| 대체(alt) |
대체 상호작용 연산자는 if-then-else문에 해당하는 논리를
나타냅니다. 제공된 대안 중 하나만 상호작용의 패스에서
실행됩니다. 그러나 피연산자의 경우,
대체 구조의 선택된 피연산자는 보호 조건이 true로 테스트되는
경우에만 실행됩니다.
보호가 없으면 피연산자가 선택될 때마다 항상 실행됩니다. 대체 결합 단편의
다른 절은 기타 옵션이 선택되지 않을 때 실행됩니다. |
| 옵션(opt) |
옵션 상호작용 연산자는 if문에 해당하는 논리를
나타냅니다. 실행하려면 보호 조건이 충족되어야 합니다. 보호 조건이 실패하면
동작을 무시합니다. 옵션 결합 단편의 그래픽 표시는 대안을 하나만 제공하는
대체처럼 보입니다. |
| 루프 |
루프 상호작용 연산자는 상호작용 단편이 반복적으로 실행됨을
나타냅니다. 단편이 실행되는 횟수는 연산자의 minint 및 maxint
매개변수로 결정됩니다. 루프 연산자의 구문은 loop (minint, maxint)이고
여기서 maxint는 무한대(*)일 수도 있습니다. 최소 반복 수가
충족되면 각 패스에서 부울 표현식이 테스트됩니다. 부울 표현식이
false로 테스트되면 루프가 종료됩니다. |
| 병렬(par) |
병렬 상호작용 연산자는 상호작용 단편이 동시에 실행됨을
나타냅니다. |
| 중요 영역(critical) |
중요 영역 연산자는 언제든지 단편을 실행하는 스레드가 단편에 하나만
있을 수 있음을 나타냅니다. 다른 스레드가 실행하려면 단편이
완료되어야 합니다. 예를 들어, d() 연산자가
중요 영역 내에 있으며 호출되는 경우 d() 완료 때까지는 다른 오퍼레이션을
호출할 수 없습니다. |
| 부정(neg) |
부정 상호작용 연산자는 발생하도록 허용하면 안되는 올바르지 않은
상호작용을 표시합니다. |
| 중단 |
중단 상호작용 연산자는 기타 프로그래밍 언어의 중단 메커니즘과
유사합니다. 보호 조건이 true이면
현재 상호작용 실행을 포기하고 중단 상호작용 피연산자의 절이 실행됩니다. |
| 엄격한 시퀀스(strict) |
엄격한 상호작용 연산자는 상호작용 단편의 실행 순서를 명시적으로
정의합니다. 엄격한 연산자는 중첩 또는 추가 상호작용을 실행하기 전에
상호작용을 강제로 완료합니다. |
| 약한 시퀀스(seq) |
약한 시퀀스 상호작용 연산자는 위치에 기초하여 단편의 상호작용에
순서를 추가합니다. 순서 지정은 UML
2.0 스펙을 기반으로 합니다. 약한 시퀀스는 부분 병렬 실행을 허용하지만
다른 상호작용의 동일한 라이프라인의 이벤트 순서를 제어합니다. |
| 무시 |
무시 상호작용 연산자는 상호작용 단편이 응답해선 안되는 메시지를
나타냅니다. 무시 연산자는 일반적으로 고려 연산자와
쌍을 이룹니다. |
| 고려 |
고려 상호작용 연산자는 상호작용 단편이 응답해야 하는 메시지를
나타냅니다. 고려 연산자는 일반적으로 무시 연산자와
쌍을 이룹니다. |
| 단정 |
단정 상호작용 연산자는 상호작용 연산자가 상호작용 단편의 다음
시퀀스임을 나타냅니다. |