728x90
반응형
1. SysML::Object Flow Path - 객체 흐름을 연결
Object Flow Path는 SysML Activity Diagram에서 객체(Object)나 데이터(Data)의 흐름을 나타내는 경로입니다.
- 데이터 전달 경로: Object Flow Path는 Object Node와 Action Node 사이에서 데이터나 객체가 어떻게 전달되는지를 시각적으로 표현합니다.
- 작업 간 데이터 흐름: Action 또는 Object Node 간에 객체를 이동시키며, 작업이 데이터를 어떻게 생성, 변환, 또는 소비하는지를 명확히 보여줍니다.
- 데이터의 방향성: Object Flow Path는 객체나 데이터가 흐르는 방향을 화살표로 표시합니다.
1-1. 시각적 표현
- Object Flow Path는 실선 화살표로 나타내며, 화살표의 방향은 데이터가 전달되는 방향을 나타냅니다.
- 화살표 위에 객체(Object)나 데이터의 이름을 표시할 수 있습니다.
1-2. 연결 대상
- Object Flow Path는 다음과 같은 노드 간 연결을 지원합니다.
- Object Node → Action Node: 데이터를 작업으로 전달.
- Action Node → Object Node: 작업의 결과를 데이터로 저장.
- Object Node → Object Node: 객체 또는 데이터 이동.
1-3. 조건부 흐름
- Guard Condition을 추가하여 특정 조건에서만 데이터 흐름이 활성화되도록 설정할 수 있습니다.
- 예: [x > 10]
1-4. 중간 상태
- 데이터나 객체가 Object Node에 머무르다가, 특정 작업에서 사용되도록 설계할 수 있습니다.
1-5. Object Flow Path의 역할
- 데이터 전달 표현: Object Flow Path는 Action과 Object Node 간의 데이터 흐름을 나타내어 작업 간 상호작용을 명확히 표현합니다. (예: 작업에서 생성된 데이터가 다른 작업으로 전달되는 경로를 나타냅니다.)
- 시스템의 데이터 흐름 설계: 시스템에서 데이터가 생성, 변환, 소비되는 과정을 모델링합니다. 이를 통해 시스템의 데이터 흐름을 분석하고 최적화할 수 있습니다.
- 데이터 종속성 관리: Object Flow Path는 작업 간의 데이터 의존성을 시각적으로 나타내어, 작업 순서와 데이터 관계를 명확히 이해하도록 돕습니다.
- 프로세스 추적: 데이터가 시작점에서 최종 목적지까지 어떻게 이동하는지를 시각적으로 추적할 수 있습니다.
2. SysML::Control Flow Path - 활동의 실행 흐름을 연결
Control Flow Path는 SysML(Activity Diagram)에서 활동(Activity)의 실행 흐름을 나타내는 경로입니다.
- 작업 순서 제어: Control Flow Path는 작업(Action)이 특정 순서로 실행되도록 제어합니다.
- 흐름 방향 지정: 실행 흐름의 방향을 나타내며, 하나의 Action이 완료된 후 다음 Action이 어떻게 실행되는지를 시각적으로 표현합니다.
- 조건부 흐름 가능: 특정 조건(Guard Condition)이 충족될 경우에만 실행 흐름이 진행될 수 있습니다.
2-1. 시각적 표현
- 실선 화살표로 나타내며, 화살표의 방향은 작업 실행 순서를 나타냅니다.
- 조건부 흐름이 있는 경우 화살표 위에 Guard Condition([조건])을 표시할 수 있습니다.
2-2. 연결 대상
- Control Flow Path는 다음과 같은 노드 간 연결을 지원합니다:
- Action Node → Action Node
- Action Node → Control Node
- Control Node → Action Node
2-3. 조건부 흐름
- Guard Condition을 사용해 조건에 따라 실행 흐름을 선택하거나 분기할 수 있습니다.
2-4. 순차적 흐름
- 기본적으로 Control Flow Path는 순차적으로 작업을 실행하며, 병렬 작업은 Fork Node와 같은 제어 노드를 사용해 관리합니다.
2-5. Control Flow Path의 역할
- 작업 실행 순서 표현: Control Flow Path는 작업 간의 순서를 정의하여, 작업이 어떤 순서로 진행되는지를 명확히 나타냅니다. (예: Action A가 완료된 후 Action B가 실행)
- 프로세스 흐름 제어: 활동(Activity) 간의 실행 흐름을 제어하며, 특정 조건에 따라 작업을 분기하거나 합칠 수 있습니다. (예: 조건에 따라 작업 C 또는 작업 D로 흐름을 분기)
- 조건부 실행 지원: Guard Condition을 설정해 특정 조건이 충족될 때만 흐름이 진행되도록 제어합니다. (예: [x > 10] 조건을 만족하는 경우에만 다음 Action 실행)
- 제어 노드와 결합: Control Flow Path는 Decision Node, Merge Node, Fork Node, Join Node와 결합하여 복잡한 실행 흐름을 모델링합니다.
Control Flow Path와 Object Flow Path의 차이점
특징 | Control Flow Path | Object Flow Path |
기능 | 작업 실행 흐름을 제어 | 객체(Object) 또는 데이터(Data)의 흐름을 나타냄 |
연결대상 | Action Node와 Control Node간 연결 | Object Node와 Action Node간 연결 |
조건부 흐름 | Guard Condition을 사용해 흐름 제어 가능 | Guard Condition을 사용해 데이터 흐름 제어 기능 |
시각적 표현 | 실선 화살표 | 실선 화살표(Object Flow는 명시적 데이터 포함) |
3. SysML::Object Flow Node - 두 객체 흐름에 대한 구체적 설명
Object Flow Node는 SysML Activity Diagram에서 데이터(Object) 또는 객체의 흐름을 나타내는 경로로, 작업(Action) 간 데이터 전달 과정을 표현합니다.
- 데이터 이동 표현: Object Flow Node는 Object Node와 Action Node 사이에서 데이터나 객체가 어떻게 전달되는지를 시각적으로 나타냅니다.
- 데이터 흐름의 순서: 데이터를 전달하는 순서를 명확히 표현하여 시스템 동작의 흐름을 이해하기 쉽게 만듭니다.
- 조건부 흐름 지원: Guard Condition을 통해 특정 조건에서만 객체나 데이터가 흐르도록 설정할 수 있습니다.
3-1. 시각적 표현
- 실선 화살표로 나타내며, 화살표의 방향은 데이터가 이동하는 방향을 나타냅니다.
- 화살표 위에 전달되는 데이터나 객체의 이름을 표시할 수 있습니다.
3-2. 연결 대상
- Object Flow Node는 다음과 같은 노드 간 연결을 지원합니다:
- Object Node → Action Node: 데이터를 작업으로 전달.
- Action Node → Object Node: 작업의 결과 데이터를 객체로 저장.
- Object Node → Object Node: 객체 또는 데이터 이동.
3-3. 조건부 흐름
- Guard Condition을 설정해 특정 조건에서만 데이터 흐름이 발생하도록 제어할 수 있습니다.
- 예: [x > 100].
3-4. 데이터의 상태 변화
- 데이터 또는 객체의 상태가 작업에 따라 변경되며, 이를 명확히 표현할 수 있습니다.
3-5. Object Flow Node의 역할
- 데이터 전달: Action과 Object Node 사이에서 데이터를 전달하여, 작업 간 상호작용을 시각적으로 표현합니다. (예: 작업에서 생성된 결과 데이터가 다음 작업으로 전달)
- 프로세스 흐름 관리: 데이터를 어떤 작업이 생성하고, 어떤 작업이 이를 소비하는지 나타내어 데이터 처리 흐름을 명확히 모델링합니다.
- 조건부 데이터 흐름: Guard Condition을 추가해 특정 조건에서만 데이터 흐름이 발생하도록 제어합니다. (예: [data > 0] 조건이 충족되는 경우에만 데이터를 전달)
- 객체의 상태 변화 표현: 데이터나 객체가 작업(Action) 사이에서 이동하면서 상태가 변경되는 과정을 시각적으로 표현합니다. (예: Order {Pending} → Order {Processed})
3-6. Object Flow Node 사용 시 유의점
- 데이터의 방향성: 데이터가 이동하는 실제 방향과 Object Flow Node의 화살표 방향이 일치해야 합니다.
- Guard Condition 설정: Guard Condition을 사용해 조건부 흐름을 명확히 정의해야 합니다. 조건이 불충족될 경우 흐름이 발생하지 않도록 설정해야 합니다.
- 중복 경로 방지: 동일한 데이터를 전달하기 위한 Object Flow Node가 중복되지 않도록 설계해 다이어그램의 가독성을 유지해야 합니다.
- 데이터 상태 변화 표현: 작업(Action) 간 객체나 데이터의 상태가 변경될 경우 이를 명확히 표현하면 데이터 흐름을 더 잘 이해할 수 있습니다.
4. SysML::Interrupting Edge Path - 인터럽트 표현
Interrupting Edge Path는 SysML Activity Diagram에서 특정 이벤트나 조건이 발생할 경우 작업(Activity)을 중단하거나 종료시키는 흐름을 나타냅니다.
- 중단 흐름: 특정 조건이나 이벤트가 발생하면 기존 작업 흐름을 방해(interrupt)하고, 다른 경로로 제어 흐름을 전환합니다.
- 비정상 종료 처리: 시스템 동작이 예외 상황에 도달했거나, 외부 이벤트로 인해 작업이 중단되어야 할 때 사용됩니다.
- 중단 영역과 결합: Interrupting Edge Path는 주로 Interruptible Activity Region과 함께 사용됩니다.
4-1. 시각적 표현
- Interrupting Edge Path는 실선 화살표로 표현되며, 번개 모양 또는 “Interrupting” 라벨로 중단 흐름임을 나타냅니다.
- 예: Interrupt, Cancel
4-2. 연결 대상
- Interruptible Activity Region 내에서 시작하여 중단 이후의 작업으로 연결됩니다.
4-3. 조건부 중단
- Guard Condition을 설정해 특정 조건에서만 중단 흐름이 활성화되도록 제어할 수 있습니다.
- 예: [Error Occurred], [Cancel Requested]
4-4. Interruptible Activity Region과 결합
- Interrupting Edge Path는 주로 Interruptible Activity Region과 함께 사용되며, 해당 영역 내의 작업 흐름을 중단할 수 있습니다.
4-5. Interrupting Edge Path의 역할
- 중단 흐름 표현: 특정 이벤트가 발생하거나 조건이 만족되었을 때, 기존 작업을 중단하고 대체 작업 흐름을 실행합니다. (예: 작업 중 오류 발생 시 복구 작업 실행)
- 예외 상황 처리: 시스템에서 비정상적인 상황을 처리하기 위한 흐름을 표현하며, 특정 작업을 안전하게 종료하고 예외 처리를 실행합니다.
- 외부 이벤트 대응: 외부 이벤트(예: 사용자 취소 요청, 시스템 알림 등)가 발생했을 때 기존 작업을 중단하고 새로운 작업 흐름으로 전환합니다.
- 작업 간 안전성 보장: 중단 흐름을 명확히 설계함으로써 시스템 동작이 예외 상황에서도 안전하고 예측 가능하게 유지되도록 지원합니다.
4-6. Interrupting Edge Path 사용 시 유의점
- Interruptible Activity Region 정의: Interrupting Edge Path는 Interruptible Activity Region 내에서만 동작하므로, 해당 영역을 명확히 정의해야 합니다.
- 중단 조건 명확화: Guard Condition이나 신호(Signal)를 명확히 설정해, 중단 흐름이 적절한 조건에서만 활성화되도록 해야 합니다.
- 중단 후 흐름 설계: 중단 이후의 흐름을 구체적으로 설계하여 예외 처리 또는 복구 작업이 원활히 진행되도록 해야 합니다.
- 시스템 안정성 고려: 중단 흐름이 시스템의 안정성과 일관성을 해치지 않도록 설계해야 하며, 중단 시 처리되지 않은 작업에 대한 안전 장치를 마련해야 합니다.
728x90
반응형