728x90
반응형
1. SysML::Full Port Node - 다른 블록과의 물리적 연결
SysML 블록 다이어그램에서 관계와 포트를 함께 사용하는 경우는 구조적 연결과 데이터 흐름을 통합적으로 표현해야 할 때 자주 발생합니다. 이는 복잡한 시스템 설계에서 중요한 상호작용을 명확히 시각화할 수 있어 설계 검증, 협업, 유지보수 효율성을 크게 높입니다.
포트와 관계의 동시 활용은 시스템 설계에서 복잡성을 관리하고, 설계 명확성을 높이는 강력한 도구입니다.
위 그림에 대한 설명은 다음과 같습니다.
- 먼저 <<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
반응형