핵심 개념: 행위 세그먼트와 인과 그래프
Project
└── System[]
├── Flow[] (논리적 공정 그룹)
├── Work[] (실행 단위 = 행위 세그먼트 집합)
│ ├── Call[] (API 호출 노드)
│ │ └── ApiCall[] → ApiDef (디바이스 인터페이스)
│ └── Arrows (인과 연결: DAG)
└── Arrows (Work 간 연결: 순환 허용)
행위 세그먼트 (Behavior Segment)
- 스케줄 가능하고 실행 가능한 최소 단위 동작
- 예: "실린더 전진", "벨트 구동", "바코드 판독"
- 입·출력, 조건, 이벤트 포트 보유
인과 그래프 (Causal Graph)
- 세그먼트 간 "원인–결과" 관계 표현
- Flow / Task / System 모델 구성
- 명시적 연결 → 검증/시뮬레이션 가능
이중성(Duality) 설계 원리
| Case | 이중성 | 설명 |
|---|---|---|
| 1 | System ⊕ Device | 호출 방향에 따라 능동/수동 역할 동적 전환 |
| 2 | Instance ⊕ Reference | 설계-실행 분리, 물리 트윈 연동 |
| 3 | 원인 ⊕ 결과 (Bit) | Arrow 흐름 내 인과 관계 해석 |
| 4 | ReadTag ⊕ WriteTag | 맥락에 따른 읽기/쓰기 해석 |
| 5 | R ⊕ G ⊕ F ⊕ H (WorkBit) | FSM 기반 상태 표현 (Ready→Going→Finish→Homing) |
저장 구조의 표준화 (Triple Type System)
Runtime Type
메모리 실행 객체 (Project, DsSystem, Flow, Work, Call)
↕
JSON Type
직렬화 객체 (NjProject, NjSystem, ...) ↔ *.json / AASX
↕
ORM Type
DB 매핑 객체 (ORMProject, ORMSystem, ...) ↔ SQLite / PostgreSQL
↕
AAS (Asset Administration Shell)
Industry 4.0 표준 호환
인과 언어의 핵심 가치
- 특허 보호: 인과 언어(causal language)와 세그먼트 기반 모델링
- 벤더 중립: 하나의 인과 그래프 안에 여러 PLC(메이커 불문), 로봇, 센서 네트워크 포함
- 검증 가능: 그래프 구조로 Deadlock, Resource Conflict, Safety 규칙 검증
- 시뮬레이션 가능: 이산 이벤트 시뮬레이션에 적합한 구조