> For the complete documentation index, see [llms.txt](https://dualsoft-1.gitbook.io/dualsoft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dualsoft-1.gitbook.io/dualsoft/manual/ds-modeling/case2-instance-reference.md).

# Case2 : Instance ⊕ Reference

#### 1. 개념 소개

DS 시스템은 실제 물리 시스템과 1:1로 연결되는 디지털 트윈 구조를 갖습니다. 이 설계 원칙에 따라 DS는 동일한 시스템 정의라도 **생성 방식**에 따라 두 가지 형태로 구분합니다:

* **Instance**: 새로운 프로젝트에서 `new`로 직접 생성된 시스템. 물리 시스템과 연동되지 않은 상태에서 정의되며, 내부 구성과 실행 로직을 포함하고 있어 Active 모드일 경우 직접 실행이 가능합니다.
* **Reference**: 기존에 정의된 Instance를 참조하는 시스템. 기존 물리 시스템과 연동하기 위해 사용되며, 항상 Passive로 동작하며 직접 실행은 불가능합니다.

> 하나의 시스템 정의는 최초 생성 시 Instance로 시작하고, 이후 다른 프로젝트에서는 해당 시스템을 Reference로 참조함으로써 **재사용**과 **물리적 연결 보존**을 동시에 실현합니다.

#### 2. 이중성 구조 해석 <a href="#user-content-2" id="user-content-2"></a>

| 항목     | Instance            | Reference            |
| ------ | ------------------- | -------------------- |
| 정의 방식  | new로 생성된 시스템        | 기존 시스템을 참조           |
| 실행 가능성 | ✅ Active 설정 시 실행 가능 | ❌ 항상 Passive (읽기 전용) |

#### 3. 트윈 시스템 연동 관점 <a href="#user-content-3" id="user-content-3"></a>

DS 시스템은 현실 물리 시스템과 가상 그래프 시스템을 각각 쌍(Pair)으로 구성합니다. 이로 인해:

* **Reference 구조**는 이미 존재하는 물리 시스템과 DS 트윈을 연결할 때 필요합니다.
* 시스템을 직접 생성하여 새로운 설비를 정의하는 경우에는 **Instance 구조**를 사용합니다.

#### 4. 설계 및 운영 가이드 <a href="#user-content-4" id="user-content-4"></a>

* 새로운 프로젝트에서는 반드시 시스템을 Instance로 정의해야 함
* 동일한 물리 시스템을 참조하고자 할 경우 Reference 구조 사용
* 시스템 정의 변경은 Instance를 통해서만 가능하며, Reference는 읽기 전용
* 순환 참조 및 동일 시스템의 중복 연결은 사전에 방지해야 함

#### 5. 정리 <a href="#user-content-5" id="user-content-5"></a>

**Instance ⊕ Reference 이중성**은 DS 시스템의 물리-가상 일체형 설계에서 중요한 원리입니다.

* 시스템은 최초 정의 시 Instance, 이후 재사용 시 Reference로 분기됨
* Instance는 정의와 실행이 가능하며, Reference는 실행은 불가능하지만 실제 물리 시스템과의 연동에 핵심 역할을 수행
* 이중성 구조는 DS의 확장성과 트윈 시스템 구성에 유연성을 제공합니다.
