System Engineering/SysML

SysML Reference Guide: 블록 정의 다이어그램(Block Definition Diagram) - 포트(Port) 표현

habana4 2024. 11. 21. 00:20
728x90
반응형

 

1. SysML::Full Port Node - 다른 블록과의 물리적 연결

SysML 블록 다이어그램에서 관계와 포트를 함께 사용하는 경우는 구조적 연결과 데이터 흐름을 통합적으로 표현해야 할 때 자주 발생합니다. 이는 복잡한 시스템 설계에서 중요한 상호작용을 명확히 시각화할 수 있어 설계 검증, 협업, 유지보수 효율성을 크게 높입니다.

포트와 관계의 동시 활용은 시스템 설계에서 복잡성을 관리하고, 설계 명확성을 높이는 강력한 도구입니다.

 

Full Port Node

위 그림에 대한 설명은 다음과 같습니다.

  • 먼저 <<full>>이란 형식의 블록 인스턴스가 있습니다. 블록 인스턴스의 이름은 <Name>에 기술됩니다.
  • 이 블록 인스턴스는 <Block> 정의에 의해 생성된 블록 인스턴스이며, 이를 표현하기위해 콜론(:)을 사용합니다. 즉, Car 라는 블록 정의가 있고, Car의 인스턴스 중 Sedan, SUV, Truck이 있다고 할 때, <Name>은 Sedan, SUV, Truck이 될 수 있으며, 이들 인스턴스의 블록 정의는 Car입니다. 따라서 Sedan:Car, SUV:Car, Truck:Car 의 형식으로 정의할 수 있습니다.
  • 또한 이 인스턴스의 <Multiplicity>도 기술할 수 있는데, <Multiplicity>는 실제 모델링에 활용될 인스턴스의 갯수를 의미한다고 볼 수 있습니다.
  • 또한 이 인스턴스에서는 상호 연결되는 다른 블록과의 연결점(Port)를 정의하고 있습니다.

Full Port Node의 특징은 다음과 같습니다. 

1-1. 독립적 구성 요소:

  • Full Port는 블록의 일부로 간주되며, 블록의 내부 구조와 직접적으로 연결됩니다.
  • 외부 시스템과의 연결을 담당하면서 블록 내부의 특정 속성이나 기능에 접근할 수 있습니다.

1-2. 물리적 및 논리적 상호작용 표현:

  • Full Port는 데이터 흐름뿐만 아니라 전력, 유체, 신호 등 물리적 상호작용을 모델링할 수 있습니다.

1-3. 인터페이스 연결:

  • Interface Block 또는 Flow Specification과 연결하여 포트의 역할과 데이터 흐름을 구체화할 수 있습니다.
  • 데이터 흐름의 방향(in, out, inout)을 명시적으로 표현합니다.

1-4. 블록 경계에서의 역할:

  • Full Port는 블록 외부에 위치하며, 외부와 내부 간의 데이터, 신호, 물리적 상호작용을 매개합니다.

1-5. Block Definition Diagram에서 Full Port의 역할

  • 블록 간의 관계와 데이터 흐름 통합 표현: Block Definition Diagram(BDD)에서 Full Port는 블록 간 관계(Association, Composition)와 함께 데이터 흐름 및 상호작용을 시각화합니다. (예, 센서 블록과 제어 블록 간 물리적 연결과 데이터 흐름을 동시에 표현)
  • 인터페이스 정의와 역할 명시: BDD에서 Full Port는 Interface Block과 결합되어 데이터의 유형, 신호 흐름, 서비스 제공 및 요청을 정의합니다. (예, 블록의 경계에서 데이터 교환 규칙과 방향성을 정의하여 설계를 명확히 함)
  • 모듈화된 설계 지원: Full Port는 블록 간 상호작용을 모듈화하여 시스템 설계의 복잡성을 줄이고 재사용성을 높입니다. (예, 공통 인터페이스를 사용하는 여러 블록 설계)
  • 시스템 설계의 명확성 향상: Full Port는 데이터 흐름과 관계를 통합적으로 표현하여 설계 검증 및 커뮤니케이션을 용이하게 만듭니다. (예, 복잡한 데이터 흐름 및 물리적 연결을 명확히 시각화)

 

2. SysML::Proxy Port Node - 내부 서비스 호출을 표현

Proxy Port는 SysML에서 블록의 논리적 데이터 흐름서비스 호출을 나타내는 포트로, 블록의 내부 기능이나 속성을 외부로 노출하여 다른 블록과 상호작용할 수 있도록 합니다. Proxy Port는 논리적 연결을 모델링하는 데 중점을 두며, 블록 내부의 구현 세부사항을 캡슐화하면서 외부와의 인터페이스를 정의합니다.

 

2-1. 내부 속성 및 동작 노출

  • • Proxy Port는 블록 내부의 속성, 연산, 데이터 흐름을 외부로 노출하여 다른 블록과 상호작용할 수 있도록 합니다.
  • • 직접적인 물리적 연결보다는 블록 내부 기능에 대한 경로 역할을 수행합니다.

2-2. 인터페이스 정의를 통한 연결

  • • Interface Block 또는 Flow Specification을 기반으로 Proxy Port가 어떤 데이터와 신호를 교환할지 정의합니다.
  • • 데이터 흐름 방향(in, out, inout)과 데이터 유형을 명확히 표현할 수 있습니다.

2-3. 캡슐화와 추상화

  • • Proxy Port는 블록 내부의 세부 구현을 외부에서 숨기며, 필요한 기능만 노출합니다.
  • • 이를 통해 설계의 유연성과 보안성이 높아집니다.

2-4. 논리적 연결 모델링

  • • Proxy Port는 주로 논리적 데이터 흐름과 서비스 호출을 모델링하는 데 사용됩니다.
  • • 물리적 상호작용을 나타내는 Full Port와 구별됩니다.

2-5. SysML 1.3과의 연관성

  • • Proxy Port는 초기 SysML부터 지원되었으며, SysML 1.3에서는 더욱 명확한 기능 정의를 제공합니다.

2-6. Block Definition Diagram에서 Proxy Port의 역할

  • 논리적 데이터 흐름 시각화: Proxy Port는 블록 간의 데이터 흐름을 시각적으로 나타내어 시스템의 논리적 상호작용을 명확히 합니다. (예, 센서 블록에서 수집한 데이터를 제어 블록으로 전달하는 논리적 경로 모델링)
  • 인터페이스 명시: Proxy Port는 Interface Block과 결합하여 상호작용 규칙과 데이터 유형을 명시적으로 정의합니다. (예, 데이터 형식, 신호 방향, 서비스 호출 규칙을 정의하여 블록 간 연결을 명확히 함)
  • 캡슐화를 통한 설계 단순화: Proxy Port는 블록 내부의 세부 사항을 숨기면서, 외부와 필요한 연결만 유지합니다. (예, 복잡한 블록 내부의 알고리즘과 데이터를 외부에서는 단순한 API로 접근하도록 설계)
  • 시스템 설계의 모듈화 지원: Proxy Port는 블록 간 인터페이스를 모듈화하여 시스템 설계의 확장성과 유지보수성을 높입니다. (예, 동일한 Proxy Port를 가진 블록 간의 연결 구조를 재사용)
 
 

Proxy Port와 Full Port 비교

특징 Proxy Port Full Port
역할 내부 속성을 외부로 노출하여 논리적 데이터 흐름과 서비스 호출 지원 블록 간 물리적 상호작용과 데이터 흐름 표현
구조적 독립성 블록의 속성을 외부로 노출하는 논리적 경로 블록의 독립적인 구성 요소로 간주
물리적 연결 물리적 연결보다는 데이터 흐름과 서비스 호출에 중점 물리적 상호작용(전력, 유체 흐름 등)을 명확히 표현
인터페이스 정의 Interface Block 또는 Flow Specification을 통해 정의 Interface Block을 기반으로 데이터 흐름 및 방향 정의
SysML 도입 버전 초기 SysML부터 사용 가능 SysML 1.3에서 본격 도입

 

3. SysML::Proxy Port Node with Interface - 인터페이스 명확화

Proxy Port with Interface는 SysML에서 블록의 내부 속성을 외부와 연결하는 데 사용되며, Interface Block을 통해 명확한 상호작용 규칙과 데이터 교환 방식을 정의합니다. Proxy Port 자체는 블록 내부의 기능이나 속성을 외부로 노출하는 역할을 수행하며, 인터페이스를 활용해 데이터 흐름과 서비스 호출을 구체화합니다.

 

3-1. 블록 내부 기능의 추상화 및 노출:

  • Proxy Port는 블록 내부의 속성, 연산, 데이터 흐름을 외부로 노출합니다.
  • Interface Block과 연결하여 해당 포트가 지원하거나 요구하는 데이터 형식과 서비스 규칙을 정의합니다.

3-2. 데이터 흐름과 서비스 호출 규정:

  • Proxy Port는 데이터 흐름 방향(in, out, inout)과 데이터의 성격(예: 신호, 명령)을 명시적으로 나타냅니다.
  • Interface Block은 데이터와 서비스의 형식 및 규칙을 지정합니다.

3-3. 논리적 상호작용 모델링:

  • Proxy Port는 물리적 연결보다는 논리적 데이터 흐름과 서비스 호출에 초점을 둡니다.
  • Full Port와 달리 내부 속성이나 기능을 외부에 노출하지만, 물리적 연결을 직접 모델링하지는 않습니다.

3-4. 캡슐화 및 유연성 제공:

  • Proxy Port는 블록 내부 구현을 숨기면서 외부와 필요한 상호작용만 제공하여 설계의 유연성을 높입니다.

3-5. SysML 1.3와의 연관성:

  • Proxy Port는 초기 SysML부터 사용되었으며, SysML 1.3에서는 인터페이스와의 연계 및 사용이 더욱 명확히 정의되었습니다.

3-6. Block Definition Diagram에서 Proxy Port with Interface의 역할

  •  블록 간 데이터 흐름 명시: Proxy Port는 데이터 흐름과 서비스 호출 경로를 정의하며, Interface Block과 결합하여 상호작용 규칙을 명시합니다. (예, 차량 센서 블록에서 제어 시스템 블록으로 데이터를 전달하는 데이터 흐름 표현)
  • 인터페이스 정의와 캡슐화: Proxy Port는 내부 구현을 숨기면서 필요한 인터페이스만 노출하여 시스템 설계의 단순성과 명확성을 높입니다. (예, 차량 내 모든 센서와 ECU 간 통합된 인터페이스 제공)
  • 시스템 설계의 모듈화 및 재사용성 강화: Proxy Port는 공통 인터페이스를 통해 다양한 블록 간 상호작용을 지원하고, 설계 재사용성을 높입니다. (예, 블록 간 통합된 데이터 교환 규칙 정의)
  • 복잡한 상호작용의 단순화: 복잡한 블록 간 논리적 연결 관계를 단순화하여 설계의 이해도를 향상. (예, 자율주행 시스템의 여러 모듈 간 데이터 흐름 모델링)
728x90
반응형