System Engineering/SysML

SysML Reference Guide: 활동 다이어그램(Activity Diagram) - 동적 활동의 구조 표현

habana4 2024. 11. 25. 00:40
728x90
반응형

1. SysML::Activity Parameter Node - 활동과 외부간의 데이터/제어 흐름 표현

Activity Parameter Node는 SysML Activity Diagram에서 Activity(활동)와 외부 간의 데이터, 객체, 또는 제어 흐름을 주고받기 위한 인터페이스를 나타내는 요소입니다. Activity Parameter Node는 활동의 입출력을 명확히 정의하고, 활동 외부와의 상호작용을 모델링하는 데 사용됩니다. 즉, 활동과 외부 간의 입출력 인터페이스를 정의하여 데이터 및 제어 흐름을 시각적으로 모델링합니다. 이는 활동의 재사용성을 높이고, 시스템 설계의 명확성, 일관성, 효율성을 향상시키는 중요한 도구입니다. 

Activity Parameter Node

1-1. 활동의 인터페이스 정의:

  • Activity Parameter Node는 활동(Activity)와 외부 환경 간의 데이터 흐름이나 객체 전달을 명확히 정의합니다.
  • 예: “주문 처리” 활동에서 주문 데이터(OrderData)를 입력받거나 처리 결과를 출력.

1-2. 활동의 입출력 포인트:

  • 활동의 입력 파라미터(Input Parameter) 또는 출력 파라미터(Output Parameter)를 나타냅니다.
  • 예: 입력 파라미터로 sensorData를 받고, 출력 파라미터로 processedData를 반환.

1-3. 활동 외부와의 경계 정의:

  • Activity Parameter Node는 활동 내부와 외부 간의 경계를 나타내어 시스템 인터페이스를 시각적으로 명확히 합니다.

1-4. SysML 표준 준수:

  • SysML은 UML 기반이므로, Activity Parameter Node는 UML Activity Diagram의 Parameter Node와 동일한 방식으로 동작합니다.

1-5. Activity Parameter Node의 역할

  • 활동의 입출력 모델링: 활동과 외부 간의 데이터 또는 객체 흐름을 모델링합니다. (활동의 인터페이스를 정의하여 시스템 설계를 명확히 표현)
  • 데이터 흐름의 시작점 또는 종착점: 입력 파라미터는 활동으로의 데이터 흐름의 시작점, 출력 파라미터는 활동으로부터의 흐름의 종착점을 나타냅니다. (데이터나 객체의 시작과 끝을 명확히 정의)
  • 활동 외부와의 상호작용 정의: 활동 외부 환경과의 데이터 또는 제어 상호작용을 명확히 나타냅니다. (시스템 인터페이스를 시각적으로 표현하고, 활동 간 상호작용을 명확히 함)
  • 활동 재사용 지원: Activity Parameter Node를 통해 활동의 입출력을 정의하면, 동일한 활동을 다양한 시나리오에서 재사용 가능. (설계 효율성과 유연성 향상)

2. SysML::Interruptible Region Node - 활동 중단 가능 구역 정의

Interruptible Region Node는 SysML Activity Diagram에서 특정 활동(Activity)의 중단 가능 구역을 정의하는 데 사용됩니다. 이 구역 내의 활동은 중단 이벤트(Interrupt Event)가 발생하면 종료되며, 다른 흐름으로 전환하거나 활동의 실행을 멈출 수 있습니다. 이는 예외 처리 또는 중단 조건을 모델링하는 데 유용합니다. 즉, 활동의 중단 가능 구역을 정의하여 예외 처리와 대체 흐름을 시각적으로 표현하는 중요한 도구입니다. 이는 복잡한 시스템의 동작을 명확히 하고, 설계의 안정성과 유연성을 높이는 데 기여합니다. 

Interruptible Region Node

2-1. 중단 가능 활동 구역 정의:

  • Interruptible Region Node는 활동(Activity) 내에서 특정 부분이 중단 가능함을 나타냅니다.
  • 이 구역 내 활동은 정의된 이벤트에 의해 중단될 수 있습니다.

2-2. 제어 흐름 관리:

  • 중단 이벤트 발생 시, 활동 흐름이 대체 흐름으로 전환되거나 종료될 수 있습니다.

2-3. 예외 처리 모델링:

  • Interruptible Region은 예외 상황이나 특정 조건에 따라 활동을 멈추고 다른 경로로 전환하는 과정을 시각적으로 모델링합니다.

2-4. 효율적인 활동 제어:

  • 시스템의 활동 제어를 유연하게 정의하여, 설계의 복잡성을 줄이고 예외 상황에 대응.

2-5. Interruptible Region Node의 역할

  • 활동 중단 모델링: Interruptible Region Node는 특정 조건에서 활동의 실행을 중단할 수 있도록 모델링. (예외 상황이나 비정상적인 조건에 대응하는 시스템 동작을 명확히 정의)
  • 예외 처리 및 대체 흐름 정의: 중단 이벤트 발생 시, 대체 흐름으로 전환하거나 활동을 종료할 수 있음. (예외 처리와 관련된 시스템의 동작을 시각적으로 표현)
  • 시스템 안정성 향상: Interruptible Region Node는 예외 상황에 대한 설계 의도를 명확히 하여 시스템 안정성을 높임. (비정상적인 활동 중단이나 충돌을 방지)
  • 설계 명확성 제공: 활동 내 중단 가능 구역을 정의하여 설계의 명확성과 이해도를 향상. (시스템의 동작 경로와 예외 상황 간 관계를 시각적으로 나타냄)

3. SysML::Activity Partition Node - 활동들을 책임영역 또는 기능단위로 구분

Activity Partition Node는 SysML Activity Diagram에서 활동(Activity)을 특정 책임 영역 또는 기능 단위로 구분하는 데 사용됩니다. 이는 UML의 “Swimlane”과 유사한 개념으로, 활동의 책임 주체조직적 경계를 시각적으로 표현하여 설계의 명확성과 이해도를 높입니다. 즉, 활동의 책임 주체나 기능 영역을 명확히 구분하여 책임, 흐름, 상호작용을 시각적으로 표현하는 데 유용합니다. 이는 복잡한 시스템 설계에서 활동의 구조적 관계를 명확히 하고, 구성 요소 간 협력을 모델링하여 설계의 효율성과 이해도를 높입니다. 

Activity Partition Node

3-1. 책임 주체 또는 영역 구분:

  • • Activity Partition Node는 활동이 수행되는 책임 주체나 기능적 영역을 나타냅니다.
  • • 예: 특정 활동이 시스템, 사용자, 하드웨어, 소프트웨어 등에서 수행되는지 구분.

3-2. 시스템의 계층적 구조 표현:

  • • 활동을 서브시스템 또는 구성 요소 간에 구분하여 시스템 설계의 계층 구조를 모델링.

3-3. 활동 간 상호작용 정의:

  • • Activity Partition Node는 각 활동이 어디에서 수행되는지 명확히 나타내어 상호작용을 시각적으로 모델링.

3-4. UML Swimlane과 일치:

  • • SysML Activity Diagram에서 Activity Partition은 UML Swimlane의 역할을 수행하며, 표준적인 모델링 기법을 따릅니다.

3-5. Activity Partition Node의 역할

  • 책임 주체 정의: 특정 활동이 수행되는 주체(예: 사람, 시스템, 하드웨어)를 명확히 정의. (활동의 책임 범위를 시각적으로 구분)
  • 활동 흐름의 명확화: 활동이 각 파티션을 따라 진행되는 흐름을 명확히 나타냅니다. (복잡한 활동 흐름을 간소화하고, 설계의 가독성을 높임)
  • 시스템 구성 요소 간 상호작용 모델링: 각 구성 요소(예: 소프트웨어 모듈, 하드웨어 장치)에서 수행되는 활동과 상호작용을 표현. (시스템 설계의 구조적 이해도를 높임)
  • 다중 책임 주체 통합: 여러 주체가 상호작용하는 복잡한 활동을 하나의 다이어그램에 통합하여 표현. (활동 간 협력 과정을 시각화)

4. SysML::Activity Partition in Action Node - 파티션 내 활동 표현

Activity Partition in Action Node는 SysML Activity Diagram에서 특정 활동(Action)Activity Partition(책임 영역 또는 기능 단위) 내에서 수행됨을 나타내는 구조적 요소입니다. 이는 활동(Action)책임 주체(Activity Partition) 간의 연관성을 시각적으로 표현하여 책임 경계활동의 흐름을 명확히 정의합니다. 즉, 활동과 책임 주체 간의 관계를 시각적으로 모델링하여 설계의 명확성, 구조적 일관성, 책임 경계 정의를 지원합니다.

Activity Partition in Action Node

4-1. 책임 주체와 활동 연결:

  • 특정 Activity Partition 내에서 Action Node가 수행됨을 나타냅니다.
  • 예: “사용자(User)“라는 Activity Partition에서 “로그인 처리(Login Process)” 활동이 수행.

4-2. 작업의 소속 정의:

  • Action Node가 어느 주체(Activity Partition)에서 수행되는지를 명확히 지정합니다.

4-3. 시스템 구성 요소 간 역할 분담 표현:

  • 시스템의 구성 요소 또는 책임 주체 간의 역할을 명확히 구분하여, 각 활동의 실행 위치를 정의.

4-4. 복잡성 관리:

  • 다양한 주체에서 실행되는 활동(Action)을 구분하여 다이어그램의 복잡성을 줄이고 설계 가독성을 높임.

4-5. Activity Partition in Action Node의 역할

  • 활동의 책임 주체 정의: 각 활동이 수행되는 주체를 명확히 나타냅니다. (책임 경계를 정의하여 설계의 명확성과 이해도를 높임)
  • 활동 간 상호작용 모델링: Activity Partition 간의 데이터 흐름 또는 제어 흐름을 표현. (구성 요소 간 협력 관계를 시각화하여 설계의 구조적 일관성을 보장)
  • 역할 분담 표현: 시스템의 각 구성 요소나 주체가 어떤 작업을 수행하는지 명확히 정의. (설계 가독성을 높이고, 각 구성 요소의 역할을 명확히 구분)
  • 설계 복잡성 감소: 다양한 주체 간의 활동을 분리하여 복잡한 설계를 간소화. (다이어그램의 가독성을 개선하고, 상호작용 관계를 명확히 표현)

5. SysML::Structured Activity Node - 작업 그룹화

Structured Activity Node는 SysML Activity Diagram에서 하나 이상의 작업(Activity)을 그룹화하거나 구성하는 데 사용되는 노드입니다.

  • 복잡한 작업의 구조화: 여러 작업(Action)과 제어 흐름(Control Flow)을 하나의 블록으로 묶어, 복잡한 작업을 단순하게 표현합니다.
  • 작업 그룹화: 관련된 작업(Action)을 그룹화하여 다이어그램의 가독성을 높이고 설계의 논리적 구조를 명확히 합니다.
  • 반복 또는 조건 처리 포함 가능: Structured Activity Node는 루프(반복), 조건부 흐름, 병렬 실행 등을 포함할 수 있습니다.

Structured Activity Node

5-1. 시각적 표현

  • Structured Activity Node는 사각형 박스로 표시되며, 박스 안에 작업(Action), 제어 흐름(Control Flow), 데이터 흐름(Object Flow) 등을 포함합니다.
  • 박스 이름은 상단에 표시되며, 내부에 세부 작업이 포함됩니다.

5-2. 독립적 실행 흐름

  • Structured Activity Node는 다이어그램의 다른 부분과 독립적으로 동작하며, 내부의 흐름은 외부로 노출되지 않습니다.

5-3. 조건 및 반복 지원

  • Structured Activity Node는 Guard Condition 또는 반복 조건을 포함할 수 있습니다.
  • 예: [i < 10], while(condition).

5-4. 유형

  • 일반 Structured Activity Node
  • 루프(Loop Node)
  • 조건(Conditional Node)

5-5. Structured Activity Node의 역할

  • 작업의 캡슐화: 여러 작업을 하나의 단위로 묶어 다이어그램을 간결하게 표현합니다. 내부의 복잡한 작업 흐름을 외부에 노출하지 않고, 단순한 블록으로 나타냅니다.
  • 복잡한 흐름 관리: 복잡한 작업 흐름을 분리하여 설계의 가독성과 유지보수성을 높입니다. (예: 데이터 처리 루틴, 특정 조건에 따른 작업 실행)
  • 반복 및 조건 처리: Structured Activity Node 내부에 루프(반복)나 조건문을 포함해, 특정 조건에서만 실행되거나 반복되는 작업 흐름을 모델링합니다.
  • 병렬 실행: 내부에서 병렬 실행되는 작업을 정의하고, 동기화 구조를 모델링할 수 있습니다.
  • 작업 그룹의 재사용: 특정 작업 그룹을 여러 다이어그램에서 재사용하거나, 동일한 구조를 가진 반복 작업을 설계할 수 있습니다.

 

728x90
반응형