SimEvents 의 이산 이벤트 시뮬레이션 엔진과 구성요소 라이브러리를 사용하여 Simulink나 기타 이벤트 기반 프로세스에서 메시지 기반 통신을 모델링하여 이벤트 기반 시스템 모델을 분석하고 지연 시간, 처리량 및 패킷 손실과 같은 성능 특성을 최적화할 수 있습니다. 큐, 서버, 스위치와 같은 미리 정의된 블록을 사용하여 스케줄링 및 통신을 위한 라우팅, 처리 지연 및 우선 순위 지정을 모델링할 수 있습니다.
SimEvents를 사용하면 분산 제어 시스템, 소프트웨어 및 하드웨어 아키텍처, 통신 네트워크의 성능에 작업 타이밍과 리소스 사용량이 미치는 영향을 살펴볼 수 있습니다. 예측, 생산능력 계획 및 공급망 관리 관련 의사결정을 위한 운용 과학도 실시할 수 있습니다.
시작하기:
이 통합 모델링 및 데이터 분석 환경에서 다음을 수행할 수 있습니다.
- 항공우주, 자동차, 전자 응용 분야에 쓰이는 분산 제어 시스템, 하드웨어 아키텍처, 센서 및 통신 네트워크 설계
- 제조 및 운영의 프로세스 흐름 모델링, 생산능력 계획 수행 및 공급망 최적화
- 통신 네트워크의 종단간 지연 시간, 처리량, 패킷 손실 및 기타 성능 특성 분석 및 최적화
- 큐, 라우팅 알고리즘, 처리 지연 및 우선 순위 지정 체계 사용자 지정
- 시간 기반, 이벤트 기반 및 에이전트 기반 구성요소를 포함하는 하이브리드 시스템 시뮬레이션
- 자율 에이전트를 통한 임무 계획, 또는 제조 공정의 단계와 같은 이벤트 기반 프로세스 시뮬레이션
엔터티와 메시지
SimEvents를 사용하면 통신 시스템의 패킷, 공항 활주로의 비행기와 같은 관심 이산 항목을 나타내는 엔터티나 메시지를 생성할 수 있습니다. 시스템의 메시지 또는 엔티티를 생성, 이동 및 처리하는 과정에서 패킷 도착, 비행기 출발과 같은 이벤트가 발생합니다. 결과적으로 이러한 이벤트는 시스템의 상태를 변경하여 시스템 동작에 영향을 줍니다.
특성 및 리소스
대상 주소, 처리 시간, 서버 지연과 같은 특성을 사용하여 엔터티를 특성화할 수 있습니다. 엔터티는 리소스를 수집 및 해제할 수도 있는데, 이는 엔터티가 작업이나 이벤트를 완료하는 데 사용하는 비품, 기계, 사람을 나타낼 수 있습니다.
다음과 같이 이벤트 동작 및 메시지 또는 엔티티를 프로그래밍 방식으로 제어할 수 있습니다.
- Generator, Queue, Server 블록과 같은 여러 블록에서 발생하는 엔터티 이벤트에 대해 MATLAB 코드를 작성할 수 있습니다. 이러한 이벤트 동작을 사용하여 엔터티 특성과 우선 순위를 조작할 수 있습니다.
- 이벤트 동작 내에서, 엔터티를 수정하고 통상적인 시간 기반 실행을 시작할 수 있는 Simulink 함수를 호출할 수 있습니다.
- Stateflow Discrete-Event Chart 블록을 사용하여 사용자 지정 큐를 정의하고, 엔티티를 라우팅하고, 사용자 지정 엔터티 조작 알고리즘을 생성할 수 있습니다.
- MATLAB Discrete Event System 블록을 사용하여 이산 이벤트 모델을 위한 새로운 이산 이벤트 구성요소와 블록을 작성할 수 있습니다.
SimEvents는 시스템에서 메시지 또는 엔터티와 그 리소스를 생성, 처리, 저장 및 이동할 수 있는 블록을 제공합니다.
- 큐와 서버로 구성된 간단한 네트워크와 복잡한 네트워크를 모델링할 수 있습니다.
- 게이트와 스위칭 블록을 연결하여, 엔터티가 이벤트에 반응하여 이동할 경로를 설정할 수 있습니다. 경로에는 지연 및 선택적 스위칭 기준이 포함될 수 있습니다.
- SimEvents의 여러 파라미터를 프로그래밍 방식으로 결정하여 시스템의 확률적 변동을 모델링할 수 있습니다.
- Stateflow Discrete-Event Chart 또는 MATLAB Discrete-Event System 블록을 사용하여 자신만의 도메인 특정 블록을 빌드할 수도 있습니다.
- 또한 서브시스템 마스킹, 라이브러리 생성과 같은 Simulink 기능을 사용하여 SimEvents 서브시스템을 구성요소 블록으로 빌드하고 다른 사용자와 공유하거나 재사용할 수 있습니다.
SimEvents Design Patterns 라이브러리는 일반적인 설계 패턴을 위한 미리 정의된 블록(예: 생성 시 엔터티에 타임스탬프 적용, Simulink에서 엔터티의 속성을 신호로 추출)을 포함합니다.
애니메이션
내장된 엔터티 애니메이션을 통해 모델의 엔터티 이동을 관측할 수 있습니다. 모델의 엔터티 및 이벤트를 위해 만든 사용자 지정 관측기를 통해 사용자 자신의 MATLAB 애니메이션을 생성할 수도 있습니다.
통계량 및 스코프
대부분의 SimEvents 블록은 평균 서비스 시간, 대기 길이, 서버 사용률과 같이 집계 측정값을 모니터링할 수 있는 통계량을 생성합니다. 사용자 지정 스코프를 사용하여 익숙한 계단 플롯과 줄기 플롯으로 이러한 신호를 시각화할 수 있습니다.
SimEvents Debugger
SimEvents Debugger는 각 단계에서 시뮬레이션을 일시 중지하여 모델을 디버깅하거나 중단점을 설정하여 시뮬레이션 동작을 쿼리하는 데 사용할 수 있는 독립형 툴입니다. 디버거는 시뮬레이션에서 곧 일어날 일이나 방금 일어난 일에 대한 상세한 정보와 함께 시뮬레이션 로그를 생성합니다. 이 로그를 살펴보고 이산 이벤트와 하이브리드 시뮬레이션을 디버깅할 수 있습니다.