Files
2nd/10_Wiki/Topic_General/From_Topics_Root/Data Twins.md
T
Antigravity Agent 9148c358d0 docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
2026-07-05 00:33:48 +09:00

5.9 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-data-twins Data Twins (Digital Twins) 10_Wiki/Topics verified self
Digital Twin
Cyber-Physical Twin
Virtual Replica
none A 0.88 applied
digital-twin
iot
simulation
industry-4-0
modeling
2026-05-10 pending
language framework
Python/C++ Azure Digital Twins / Omniverse / Modelica

Data Twins (Digital Twins)

매 한 줄

"매 digital twin 의 핵심: live data binding + physics-aware simulation + bidirectional sync". 매 2002 Michael Grieves 의 PLM 컨셉 으로 시작, 매 NASA Apollo 13 의 ground simulation 이 ancestor. 매 2026 현재 NVIDIA Omniverse, Azure Digital Twins, AWS IoT TwinMaker, 매 LLM-grounded 산업 simulation 으로 manufacturing / smart-city / healthcare 의 mainstream.

매 핵심

매 3 fidelity levels

  • Descriptive twin: 매 static data + dashboard.
  • Predictive twin: 매 ML / physics simulation — 매 forecast.
  • Prescriptive twin: 매 optimize + actuate back to physical asset.

매 components

  • Sensor layer: 매 IoT (MQTT, OPC UA, CAN bus).
  • Time-series store: 매 InfluxDB, Timescale, AWS Timestream.
  • Twin graph: 매 ontology (DTDL, asset hierarchy).
  • Simulation kernel: 매 Modelica, Omniverse PhysX, OpenFOAM.
  • Closed-loop controller: 매 actuator command back.

매 응용

  1. Manufacturing (Siemens, GE Predix — turbine twin).
  2. Smart city (Singapore Virtual Singapore, Shanghai twin).
  3. Healthcare (heart twin for surgery planning).
  4. Supply chain (warehouse / fleet simulation).
  5. Building / HVAC optimization (BIM + live sensor).

💻 패턴

DTDL (Digital Twins Definition Language)

{
  "@context": "dtmi:dtdl:context;3",
  "@id": "dtmi:com:example:Turbine;1",
  "@type": "Interface",
  "displayName": "Turbine",
  "contents": [
    { "@type": "Telemetry", "name": "rpm", "schema": "double" },
    { "@type": "Telemetry", "name": "tempC", "schema": "double" },
    { "@type": "Property", "name": "model", "schema": "string" },
    { "@type": "Command", "name": "shutdown" }
  ]
}

Azure Digital Twins (Python SDK)

from azure.digitaltwins.core import DigitalTwinsClient
from azure.identity import DefaultAzureCredential

client = DigitalTwinsClient(url, DefaultAzureCredential())
twin = {
  "$metadata": {"$model": "dtmi:com:example:Turbine;1"},
  "rpm": 3500.0, "tempC": 78.5, "model": "T-900"
}
client.upsert_digital_twin("turbine-42", twin)
# Query
for t in client.query_twins("SELECT * FROM digitaltwins WHERE tempC > 80"):
    print(t)

MQTT ingestion → twin update

import paho.mqtt.client as mqtt, json

def on_message(client, userdata, msg):
    data = json.loads(msg.payload)
    update_twin(data["device_id"], {"rpm": data["rpm"]})

c = mqtt.Client()
c.on_message = on_message
c.connect("broker.local", 1883)
c.subscribe("plant/+/telemetry")
c.loop_forever()

Physics simulation (FMU via Modelica)

from fmpy import simulate_fmu
result = simulate_fmu("turbine.fmu",
                      start_time=0, stop_time=60, step_size=0.01,
                      input=[("inlet_pressure", input_signal)])

NVIDIA Omniverse (USD asset twin)

import omni.usd
from pxr import UsdGeom, Gf
stage = omni.usd.get_context().get_stage()
turbine = UsdGeom.Xform.Define(stage, "/World/Turbine")
turbine.AddRotateYOp().Set(Gf.Vec3f(0, rpm * dt * 6, 0))  # live RPM

Anomaly-driven actuation (closed loop)

def control_loop(twin):
    if twin.tempC > 95:
        send_command(twin.id, "reduce_load", value=20)
        log(f"Twin {twin.id} thermal protection triggered")

LLM-augmented twin Q&A

import anthropic
client = anthropic.Anthropic()
def ask_twin(twin_state, question):
    return client.messages.create(
        model="claude-opus-4-7-20260101",
        max_tokens=512,
        system="You are an expert in industrial twin diagnostics.",
        messages=[{"role": "user",
                   "content": f"State: {twin_state}\nQ: {question}"}]
    ).content[0].text

매 결정 기준

상황 Approach
Asset monitoring only Descriptive (dashboard)
Predictive maintenance Predictive (ML on telemetry)
Autonomous operation Prescriptive (closed-loop)
3D / VR walkthrough Omniverse / USD
Cloud-managed Azure Digital Twins / AWS TwinMaker
Edge constraints Local twin + sync (KubeEdge)

기본값: 매 industrial use 의 Azure Digital Twins + DTDL ontology, 매 3D viz 의 Omniverse.

🔗 Graph

🤖 LLM 활용

언제: 매 twin schema (DTDL) drafting, 매 anomaly explanation, 매 operator natural-language query, 매 simulation scenario generation. 언제 X: 매 hard-real-time control loop — 매 LLM latency 의 unfit. 매 deterministic control 은 PID / MPC.

안티패턴

  • Twin = dashboard 의 단순 rebrand: 매 simulation / closed-loop 없으면 그냥 monitoring.
  • No data quality validation: 매 garbage sensor → garbage twin.
  • Twin without versioning: 매 schema drift / model evolution 의 disaster.
  • Tight coupling to vendor: 매 vendor lock — 매 DTDL / OPC UA 같은 standards 사용.
  • Ignoring security: 매 closed-loop = attacker 의 actuation = physical damage.
  • One twin for everything: 매 hierarchical decomposition (asset → system → plant) 의 사용.

🧪 검증 / 중복

  • Verified (Grieves 2002, NASA twin paradigm, Microsoft DTDL spec, ISO 23247, NVIDIA Omniverse docs 2025).
  • 신뢰도 B+ (terminology / scope 의 industry variation).

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — Digital twin patterns + Omniverse / DTDL