System Engineering/SysML

SysML Reference Guide: 블록 정의 다이어그램(Block Definition Diagram) - 구조, 값, 타입 표현

habana4 2024. 11. 18. 00:22
728x90
반응형

Block Definition Diagram (출처: sysml.org)

 

 

1. SysML::Block Node - 블록 구조 표현

블록(Block)은 SysML에서 시스템 구조를 정의하는 기본 단위입니다. 블록은 시스템의 구성 요소, 속성, 인터페이스 등을 모델링할 수 있으며, 블록의 상세 내용을 나타내기 위해 Compartment로 분리된 여러 정보를 포함할 수 있습니다.

블록 정의는 Compartment 별로 다음과 같은 형식으로 정의됩니다.

  • <<block>> Compartment: 블록을 이용하여 정의하고자 하는 구성요소의 이름("<Name>")을 의미합니다.
  • parts Compartment: 블록 내부 구성요소인 <part>의 이름을 정의합니다. 또한 해당 <part>를 정의한 <Block>의 이름도 함께 정의하며, 이때 <Part>에 정의된 <Multiplicity>도 함께 기술할 수 있습니다. 
  • references Compartment: 블록이 참조하는 <Reference> 블록을 기술할 수 있습니다. 또한 <Part>와 마찬가지로 해당 <Reference>를 정의한 <Block>의 이름을 함께 기술합니다. 그리고 해당 <Reference>의 <Multiplicity>도 기술할 수 있습니다.  
  • value Compartment: 해당 블록에 할당된 <ValueProperty>와 <ValueType>을 기술할 수 있으며, 또한 이들의 값을 정의할 수 있는 <ValueExpression>도 함께 정의합니다.

Block Node

1-1. Parts 구획(Compartment)

  • 블록이 포함하는 구성 요소(Parts)를 나타냅니다.
  • 전체-부분 관계를 나타내는 Composition 관계의 하위 요소를 명시.
  • 각 파트는 블록의 일부로서 독립적으로 존재하지 않으며, 상위 블록에 종속됩니다.
  • 표시 형식: partName : Type [Multiplicity] (예: engine : EngineBlock [1..*])

1-2. References 구획(Compartment)

  • 블록이 참조하는 외부 요소(References)를 나타냅니다.
  • 블록이 포함하지 않지만, 연결을 통해 참조하거나 상호작용하는 요소를 명시.
  • Association 관계로 정의되며, 종속성은 없지만 연결의 의미를 가집니다.
  • 표시 형식referenceName : Type [Multiplicity] (예: sensor : Sensor [0..1])

1-3. Values 구획(Compartment)

  • 블록의 속성 값(Properties)을 나타냅니다.
  • 블록의 물리적 특성, 설계 매개변수, 동작 특성 등을 포함.
  • 값 타입(Value Types)을 사용하여 단위와 수량 종류를 정의.
  • 표시 형식: valueName : ValueType = DefaultValue [Multiplicity], (예: maxSpeed : Speed = 200 [1])

2. SysML::Quantity Kind & Unit Node - 값의 종류와 단위 표현

Block Definition Diagram(BDD)에서 Quantity KindUnit 노드는 물리적 속성의 표현을 체계화하고, 속성 값의 일관성을 보장하기 위해 사용됩니다. 이 두 노드는 시스템의 물리적 특성과 측정 단위를 정의하여 모델링의 명확성과 정확성을 높이는 데 중요한 역할을 합니다.

Unit Node and QualtityKind Node

2-1. Quantity Kind

  • Quantity Kind는 물리적 속성의 종류를 정의합니다. (예: 길이(Length), 시간(Time), 질량(Mass), 속도(Speed))
  • 단위(Unit)와 연관되어 해당 물리적 속성을 측정하는 기준을 제공합니다.
  • 모델에서 속성(Property)의 의미를 명확히 하며, 단위 변환 등을 지원합니다.
  • 표현 형식: QuantityKindName (예: Length, Time, Mass)
  • 예시: 자동차 모델에서 Speed라는 Quantity Kind를 정의하면, 이는 속도의 단위를 km/h, m/s 등으로 설정할 수 있는 기반이 됩니다.

2-2. Unit

  • Unit은 Quantity Kind에 기반하여 물리적 속성을 측정하기 위한 단위를 정의합니다. (예: 미터(meter), 초(second), 킬로그램(kilogram))
  • 하나의 Quantity Kind는 여러 Unit을 가질 수 있습니다. (예: Lengthmeters, feet 등 다양한 단위를 가질 수 있음)
  • 속성 값이 모델링에서 올바른 단위를 사용하도록 보장합니다.
  • 표현 형식: UnitName, (예: m, s, kg)
  • 예시: Length라는 Quantity Kind는 다음과 같은 단위를 가질 수 있습니다: meters (m), feet (ft), inches (in)

2-3. Block Definition Diagram에서의 사용

  • Quantity Kind와 Unit은 연관(Association) 관계로 연결됩니다.
  • 하나의 Quantity Kind는 여러 Unit과 연결될 수 있습니다. (예: Lengthmeters, feet, inches)
  • 모델의 속성(Property)는 Quantity Kind와 Unit을 통해 정의됩니다.
  • 속성 값의 단위와 물리적 의미를 명확히 하여 시스템의 물리적 특성을 체계적으로 표현합니다.

3. SysML:: Value Type Node - 값의 유형(Value Type) 표현

Value Type Node는 속성의 값 타입을 정의하기 위해 사용됩니다. 이는 속성의 값의 종류, 단위(Unit), 데이터 형식(Data Type) 등을 명확히 표현하여 모델링의 일관성과 정확성을 보장합니다.

Value Type Node

3-1. Quantity Kind와 Unit의 연계

  • Value Type은 Quantity Kind 및 Unit과 연결되어 값을 측정하는 기준을 정의합니다.
  • 예: Speed라는 Value Type은 Length/Time의 Quantity Kind와 m/s, km/h 등의 Unit으로 정의 가능.

3-2. 기본 데이터 타입 지원

  • Value Type은 기본 데이터 타입(예: integer, real, boolean, string)을 확장하여 도메인에 특화된 값 타입을 정의합니다.

3-3. 값의 제약 조건

  • Value Type은 값의 범위 또는 제한 조건을 포함할 수 있습니다.
  • 예: Temperature는 범위를 -273°C 이상으로 제한 가능.

3-4. 속성의 재사용성

  • Value Type은 여러 블록에서 공유될 수 있어 모델의 재사용성을 높입니다.

3-5. Block Definition Diagram에서의 역할

  • 블록의 속성(Property)은 반드시 Value Type으로 정의됩니다. (예: 자동차 블록에서 maxSpeed 속성은 Value Type Speed로 지정)
  • 단위 및 범위 명시: Value Type을 통해 속성의 단위와 값의 유효 범위를 모델링에 포함할 수 있습니다.
  • 모델의 일관성 강화: 공통적인 Value Type 정의를 통해 모델 전반에서 속성의 타입과 의미를 일관되게 관리합니다.

4. SysML::Enumeration Node - 값들의 집합(Enumeration) 표현

Enumeration Node는 특정 속성의 미리 정의된 고정된 값 집합(리터럴, Literals)을 나타내기 위해 사용됩니다. 이는 속성 값이 선택 가능한 제한된 값의 집합으로 구성되어야 할 때 유용합니다.

 

4-1. 값의 집합 (Literals)

  • Enumeration은 사전 정의된 값의 목록을 포함합니다. (예: Color 열거형에 포함된 값은 Red, Green, Blue)

4-2. 속성의 제한

  • Enumeration을 속성의 데이터 타입으로 지정하면, 속성 값은 Enumeration에 정의된 값만 가질 수 있습니다.
  • • 예: trafficLightState 속성은 값이 Red, Yellow, Green 중 하나여야 함.

4-3. 명확성 제공

  • • 고정된 값의 집합을 정의하여 모델링의 일관성과 명확성을 높임.

4-4. 재사용 가능

  • • Enumeration은 여러 블록에서 공유 가능하므로, 모델링의 재사용성을 증가시킵니다.

4-5. Block Definition Diagram에서의 역할

  • 속성의 값 제한: Enumeration을 속성의 타입으로 설정하면, 해당 속성은 열거된 값 중 하나를 선택하도록 제한됩니다.
  • 상태 또는 선택 옵션 표현: 시스템의 상태(State), 모드(Mode), 옵션 목록 등을 효과적으로 모델링할 수 있습니다.
  • 표준화: Enumeration을 사용하면 속성 값에 대해 표준화된 정의를 제공할 수 있습니다.

5. SysML::Actor Node - 시스템 실행 주체

Actor Node는 시스템과 상호작용하는 외부 요소를 나타내는 데 사용됩니다. 이는 모델링 중 시스템의 경계를 정의하고, 외부의 인간, 조직, 또는 시스템이 시스템과 어떻게 상호작용하는지를 명확히 표현합니다.

 

5-1. 시스템 외부 요소

  • Actor는 시스템의 경계 밖에 위치하며, 시스템 내부 구성 요소와는 다릅니다.

5-2. 역할(Role) 중심

  • Actor는 개별 사용자나 특정 장치가 아니라, 역할(Role)을 나타냅니다. (예: “운전자”는 특정 개인이 아니라 차량을 운전하는 역할을 수행하는 사람)

5-3. 시스템과의 상호작용

  • Actor는 시스템과의 인터페이스를 통해 데이터를 제공하거나 결과를 수신합니다.

5-4. 재사용 가능

  • 하나의 Actor는 여러 시스템 모델에서 공유 및 재사용할 수 있습니다.

5-5. Block Definition Diagram에서의 역할

  • 시스템 경계 정의: Actor는 시스템의 경계를 정의하며, 시스템 내부 구성 요소와 외부 요소를 구분합니다.
  • 시스템 인터페이스 모델링: Actor와 시스템 간의 상호작용(예: 데이터 흐름, 제어 신호)을 나타낼 수 있습니다.
  • 다양한 Actor 역할 정의: 시스템과 상호작용하는 다양한 외부 요소(인간, 장치, 시스템)를 명확히 모델링합니다.

 

 

728x90
반응형