How to use a petri net template.
- 01스케줄링 요소 식별하기 (Place)
'작업 준비 완료', '기계 유휴 상태', '버퍼 가득 참'처럼 스케줄링 프로세스가 의존하는 상태, 자원 또는 조건을 정의합니다.
- 02작업 또는 이벤트 정의하기 (Transition)
'처리 시작', '작업 완료', '자원 해제'처럼 진행을 유발하는 요소를 지정합니다.
- 03Arc로 place와 transition 연결하기
작업이 자원을 소비하거나 생성하는 방식을 나타내도록 방향성 arc를 그리고, 수량을 표시하기 위해 가중치를 지정합니다.
- 04초기 marking 설정하기 (Token)
스케줄의 초기 상태를 나타내도록 관련 시작 place에 token을 배치합니다(예: '작업 대기열'에 token 하나).
- 05시뮬레이션하고 개선하기
다이어그램 도구의 시뮬레이션 모드로 transition을 단계별 실행하고, 교착 상태나 병목을 찾은 뒤 net을 반복적으로 조정합니다.
Questions about petri net templates
스케줄링에서 Petri net은 어디에 사용하나요?
Petri net은 동시 및 분산 시스템을 모델링하므로 공유 자원, 선행 제약, 동기화가 필요한 작업의 스케줄링에 적합합니다. 의존성을 시각화하고 교착 상태를 감지하며 성능을 분석하는 데 도움이 됩니다.
Petri net에서 자원 제약을 어떻게 모델링하나요?
자원을 나타내는 place(예: '사용 가능한 기계')를 만들고 자원 수만큼 token을 추가합니다. 자원이 필요한 transition은 실행될 때 token을 소비하고, 자원이 해제되면 token이 place로 돌아옵니다.
Petri net 스케줄링 다이어그램에 시간을 포함할 수 있나요?
예. timed Petri net은 transition에 지속 시간이나 실행 지연을 연결해 기본 모델을 확장합니다. 이를 통해 실시간 스케줄링을 시뮬레이션하고 makespan이나 지연 시간을 분석할 수 있습니다.
Place invariant란 무엇이며 왜 유용한가요?
Place invariant는 place 사이의 token 수 관계를 나타내는 보존 방정식입니다. boundedness와 일관성 같은 시스템 속성을 검증하는 데 도움이 되며, 시간 제약이 있는 스케줄링 모델에서 중요하게 사용됩니다.
이 다이어그램 도구는 교착 상태를 방지하는 데 어떻게 도움이 되나요?
token 흐름을 시뮬레이션하면 어떤 transition도 실행할 수 없는 상황인 교착 상태를 도구가 즉시 보여 줍니다. 이후 inhibitor arc, 우선순위 규칙을 추가하거나 자원 할당을 조정해 교착 상태를 방지할 수 있습니다.