System Engineering/SysML

SysML Reference Guide: 활동 다이어그램(Activity Diagram) - 흐름/연결(Path) 표현

habana4 2024. 11. 23. 17:39
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는 객체나 데이터가 흐르는 방향을 화살표로 표시합니다.

SysML::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)이 충족될 경우에만 실행 흐름이 진행될 수 있습니다.

SysML::Control Flow Path

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을 통해 특정 조건에서만 객체나 데이터가 흐르도록 설정할 수 있습니다.

SysML::Object Flow Node

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과 함께 사용됩니다.

Interrupting Edge Path

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
반응형