2017-10-21 1 views
0

Castalia의 일반적인 관례는 센서 매니저가 처리하는 requestsensorreading() 함수를 사용하여 어플리케이션 모듈이 센서 읽기를 요청한다는 것입니다. 센서 관리자는 요청을 실제 프로세스로 전달하고 실제 프로세스는 해당 값으로 응답합니다.Castalia에서 물리적 프로세스를위한 타이머를 설정하는 방법은 무엇입니까?

내가 원하는 것은 물리적 인 프로세스가 정해진 시간 간격으로 값을 방송하기를 원합니다. 센서 장치는 0보다 큰 감도를 가지며 값을받는 노드는 거의 없습니다. 내가 어떻게이 일을 할 수 있니? 실제 프로세스 내에서 timerFiredCallback 함수와 BROADCAST_NETWORK_ADDRESS를 사용할 수 있습니까?

답변

0

Castalia의 기본 모델에 대해 혼란스러워합니다. 물리적 프로세스는 네트워크 브로드 캐스트 메시지를 전송하는 센서 노드가 아닙니다. 센서 노드의 센서가 샘플링하는 실제 프로세스를 으로 모델링하는 모듈입니다. 또한 실제 프로세스에는 하나의 값이 없습니다. 값은 공간과 시간 및 정의한 특정 모델에 따라 달라집니다 (매뉴얼에는 물리적 프로세스를 정의하는 방법에 대한 많은 정보가 있습니다). 공간의 모든 점에 대해 하나의 값만 반환하는 물리적 프로세스를 정의 할 수 있습니다. 모든 시점에서, 그러나 나는 왜 당신이 시뮬레이션에서 그런 과정을 사용하기를 원합니까.

물리적 프로세스가 "해당 값을 브로드 캐스팅"하지 않습니다. 센서 노드는 실제 프로세스를 샘플링하고 프로세스의 공간, 시간 및 특정 모델을 기반으로 값을 다시 얻습니다. 다른 센서 노드가 다른 값을 반환 할 수 있습니다. 원하는 것을 얻으려면 모든 센서 노드가 주기적으로 물리적 프로세스를 샘플링하도록 만듭니다. 이를 수행하는 애플리케이션의 몇 가지 예가 있습니다.

요약 : 물리적 프로세스의 동작 방식을 정의한 다음 센서 노드에서 샘플로 만듭니다 (이미 알고있는대로 requestSensorReading() 메서드를 사용하여 응용 프로그램 모듈에서 샘플링 함).

+0

예 이해합니다. 내 의심을 해결해 주셔서 감사합니다. –

관련 문제