Skip to main content

modulo

Drive-by sensing is a popular upcoming approach for monitoring large geographic areas using a fleet of vehicles equipped to sense relevant quantities. Prior research has shown the efficacy of drive-by sensing in monitoring air pollution, detecting potholes, recognizing unsafe pedestrian movement, etc.

Assume a scenario in which a sensor network administrator decides to install 10 sensors on vehicles to sense a quantity. The administrator may have a much larger fleet of vehicles, say 100 vehicles, to choose these 10 vehicles from. How does the administrator decide which 10 of the 100 available vehicles to choose, such that his/her choice maximizes the spatiotemporal coverage? We introduce Modulo --- a system for vehicle selection in drive-by sensing.

Installation and Pre-requisites

Modulo is primarily written in Python and supports Python version >=3.6. You can install Modulo using:

pip3 install pymodulo

Modulo also has a few other non-Python dependencies:

  1. MongoDB Please ensure you have access to a MongoDB server (local or remote). If you prefer a quick and simple remote MongoDB server, you can try out MongoDB Atlas. Instead, if you prefer installing a local server, you can do so from here. If you choose to install it locally, we also suggest installing a MongoDB GUI like MongoDB Compass.
  2. Node.js and NPM Modulo uses Turf.js, a JavaScript library available on NPM. You can download the package.json available in this repository, place it in the root of your project, and simply do:
    npm init
    npm install
    
    Please ensure that the Node.js is accessible as the node command on the terminal.

How to Run

Please follow the iPython notebook available in this repository (example.ipynb).

The code is well-documented using Python docstrings. Hence, you can use Python's help() feature on any class or method to know more about what it does.

Citing this work

If you find Modulo useful for your research work, please cite us as follows:

Dhruv Agarwal, Srinivasan Iyengar, et al. Modulo: Drive-by sensing at city-scale on the cheap. InProceedings of the 3rd ACM SIGCAS Conference on Computing and Sustainable Societies 2020.

@inproceedings{agarwal2020modulo,
  title={Modulo: Drive-by sensing at city-scale on the cheap},
  author={Agarwal, Dhruv and Iyengar, Srinivasan and Swaminathan, Manohar and Sharma, Eash and Raj, Ashish and Hatwar, Aadithya},
  booktitle={Proceedings of the 3rd ACM SIGCAS Conference on Computing and Sustainable Societies},
  year={2020}
}

Release files for pymodulo 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymodulo 0.1.0
File Size Uploaded
pymodulo-0.1.0.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymodulo 0.1.0
File Interpreter ABI Platform
pymodulo-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size:33.1 kB

Release files / pymodulo-0.1.0.tar.gz

Download URL pymodulo-0.1.0.tar.gz
Size 14.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dcb44a75017263a681bb9862c96c2550caf2c32e353401fad2635612fbf68025
BLAKE2b-256 checksum
How to use checksums
c692b21638c54168ecf697e553a85563e60d2b045207241d01cee1e0d22fd0d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release files / pymodulo-0.1.0-py3-none-any.whl

Download URL pymodulo-0.1.0-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
820d60dc20adea0137fa382e3b4a66d3da6e474ec992573a959a490cfbeb34dc
BLAKE2b-256 checksum
How to use checksums
d528b2b525dbcb306d7864abc7807ca2c26ee235b04803c0d10677a009161f98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page