1. SysML::Composite Association - 전체와 부분의 관계
Composite Association Path는 블록 간의 전체-부분 관계를 포함하는 강력한 소유 관계를 나타냅니다. 화살표가 없는 경우, 단순한 계층 구조를 표현하며, 화살표가 있는 경우, 데이터 또는 제어의 흐름과 의존성을 강조합니다. 이를 통해 시스템 설계의 계층 구조와 상호작용을 더욱 명확하고 정교하게 모델링할 수 있습니다.
1-1. 강한 소유권
- 전체 블록이 부분 블록을 소유하며, 부분 블록의 생명주기는 전체 블록에 종속됩니다.
- 전체 블록이 삭제되면, 부분 블록도 함께 삭제됩니다.
1-2. 다중도(Multiplicity)
- 전체와 부분 간의 포함 수를 정의합니다.
- 예: 1..*는 최소 하나 이상의 부분 블록을 포함함을 나타냅니다.
1-3. 방향성(Directionality)
- Composite Association은 양방향성을 가질 수 있지만, 명시적인 방향을 나타내기 위해 화살표를 사용할 수도 있습니다.
1-4. 전체-부분 관계
- 부분 블록은 독립적으로 존재할 수 없으며, 항상 전체 블록의 일부로 간주됩니다.
1-5. Composite Association에서 화살표가 있는 것과 없는 것의 차이점
특징 | 화살표 없는 Composite Association | 화살표 있는 Composite Association |
방향성 | 관계에 명시적 방향이 없으며, 전체-부분 관계를 일반적으로 표현함. | 관계에 명시적 방향이 있으며, 흐름 또는 의존성을 강조함. |
해석 | 단순히 전체가 부분을 포함한다는 계층적 구조를 나타냄. | 전체와 부분 간의 데이터 흐름, 제어 의존성 등을 표현. |
사용 사례 | 전체-부분 구조를 정의할 때 주로 사용. | 특정 관계의 흐름이나 종속성을 강조하고자 할 때 사용. |
예시 | Car가 Engine과 Wheel을 포함. | Car가 Engine으로 데이터를 전달하거나, 제어 흐름이 존재함. |
표현 방식 | 다이아몬드와 직선만으로 연결됨. | 다이아몬드와 화살표로 방향을 명시함. |
1-6. Composite Association의 활용
- 시스템 계층 구조 모델링: 전체-부분 관계를 명확히 정의하여 시스템의 계층 구조를 체계적으로 표현합니다.
- 의존성과 흐름 모델링: 화살표를 사용해 데이터 또는 제어 흐름을 명시적으로 모델링할 수 있습니다.
- 구성 요소 간 관계 명확화: 다중도를 통해 전체 블록이 포함하는 부분 블록의 수량과 범위를 정의합니다.
2. SysML::Reference Association Path - 참조 관계 표현
Reference Association Path는 블록 간의 느슨한 연결을 정의하고, 데이터 교환 및 의존성을 명확히 모델링합니다. 화살표가 없는 경우, 단순한 참조 관계를 나타내며, 화살표가 있는 경우, 관계의 방향성을 명확히 강조합니다. 이를 통해 시스템 설계에서 블록 간의 유연한 상호작용과 흐름을 체계적으로 표현할 수 있습니다.
2-1. 소유권 없음
- 블록 간의 참조 관계만 나타내며, 한 블록이 다른 블록을 소유하지 않습니다.
- 관계가 끊어지더라도 블록은 독립적으로 존재할 수 있습니다.
2-2. 독립성
- 연관된 블록은 독립적인 생명주기를 가지며, 서로의 존재에 영향을 받지 않습니다.
2-3. 다중도(Multiplicity)
- Reference Association은 양쪽 끝에 **다중도(Multiplicity)**를 명시하여 관계의 수량을 정의합니다.
- 예: 1..*는 최소 하나 이상의 참조 관계를 나타냅니다.
2-4. 방향성(Directionality)
- Reference Association은 양방향성을 가질 수 있으며, 화살표로 명시적으로 방향을 나타낼 수도 있습니다.
- 화살표 방향은 데이터나 제어 흐름이 전달되는 방향을 의미합니다.
2-5. Reference Association에서 화살표가 있는 것과 없는 것의 차이점
특징 | 화살표 없는 Reference Association | 화살표 있는 Reference Association |
방향성 | 양쪽 방향 모두를 암시하며, 명시적 방향 없음. | 관계에 명시적 방향이 있으며, 참조의 흐름 또는 의존성을 나타냄. |
해석 | 단순히 두 블록 간의 연결을 나타냄. | 데이터 흐름 또는 의존성의 방향을 강조함. |
사용 사례 | 단순 참조 관계를 정의할 때 사용. | 특정 관계의 흐름 또는 상호작용 방향을 강조할 때 사용. |
표현 방식 | 다이아몬드와 선만으로 연결. | 다이아몬드와 화살표를 통해 방향을 명시. |
2-6. Reference Association의 활용
- 시스템 간 참조 모델링: 블록 간의 느슨한 연결을 모델링하여 소유권과 무관하게 관계를 정의합니다.
- 데이터 또는 신호 교환: Reference Association은 블록 간의 데이터 또는 신호 교환을 명시적으로 나타냅니다.
- 의존성과 흐름 표현: 화살표를 사용하여 관계의 방향성을 강조하고, 데이터 흐름이나 제어 흐름을 명확히 표현할 수 있습니다.
- 다중도 정의: 관계의 수량을 다중도를 통해 명시하여 모델링의 세부사항을 체계적으로 정의합니다.
3. SysML::Association Block Path and Node - 블록간의 관계를 표현
Association Block은 블록 간의 관계(Association)를 더 구체적으로 모델링하기 위해 사용되는 구조적 요소입니다. Association Block은 단순한 연관 관계(Association)에 추가적인 속성(Properties), 동작(Operations), 및 내부 구조(Internal Structure)를 포함할 수 있어 관계를 더 세부적으로 정의할 수 있습니다.
3-1. 속성과 동작 추가
- Association Block은 관계 자체에 속성, 동작, 제약 조건을 추가할 수 있습니다.
- 예: 관계에 연결된 데이터 속성이나 수행해야 할 작업을 명시.
3-2. 내부 구조 정의
- Association Block은 내부적으로 다른 블록과의 관계를 정의하거나, 더 복잡한 상호작용을 모델링할 수 있습니다.
3-3. 연관 관계의 명확화
- 블록 간의 연관 관계를 더 세부적으로 정의하여, 단순 연결 이상의 정보를 제공.
3-4. 참가자 역할 정의
- Association Block은 관계의 양 끝에 참가자 역할(Participants)을 정의합니다.
4. SysML::Generalization Path - 블록간 일반화 관계 표현
Generalization Path는 SysML Block Definition Diagram에서 일반화 관계(Generalization)를 표현하는 경로로, 한 블록(Block)이 다른 블록의 특수화된 형태임을 나타냅니다. 이는 상속의 개념과 유사하며, 부모 블록(General Block)의 속성과 동작을 자식 블록(Specialized Block)이 물려받아 재사용하거나 확장할 수 있도록 합니다.
4-1. 일반화 관계:
- Generalization Path는 두 블록 간에 부모-자식 관계를 나타냅니다.
- 부모 블록(General Block)은 공통 속성과 동작을 정의하고, 자식 블록(Specialized Block)은 이를 상속받아 확장하거나 구체화합니다.
4-2. 상속 구조 모델링:
- Generalization Path는 상속 구조를 모델링하여 시스템 설계에서 재사용성과 유지보수성을 향상시킵니다.
4-3. 추상화와 구체화:
- 추상적인 부모 블록을 구체화한 자식 블록으로 연결하여 시스템 설계를 점진적으로 세부화할 수 있습니다.
4-4. UML과의 일관성:
- SysML의 Generalization Path는 UML의 일반화 관계와 동일한 방식으로 동작하며, 표준 모델링 개념을 따릅니다.