{"id":15398551,"url":"https://github.com/jryans/compass-dsr-tinyos","last_synced_at":"2025-07-04T22:32:30.783Z","repository":{"id":137561992,"uuid":"130402120","full_name":"jryans/compass-dsr-tinyos","owner":"jryans","description":"The COMPASS Multihop Framework for TinyOS (DSR Routing)","archived":false,"fork":false,"pushed_at":"2022-06-13T13:30:20.000Z","size":24369,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T04:31:34.544Z","etag":null,"topics":["dsr","mote","routing","tinyos","wireless-sensor-network"],"latest_commit_sha":null,"homepage":"https://convolv.es/compass-dsr-tinyos/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jryans.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/make/sim-c.extra","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-20T18:51:20.000Z","updated_at":"2022-06-13T13:30:30.000Z","dependencies_parsed_at":"2023-04-20T10:15:49.436Z","dependency_job_id":null,"html_url":"https://github.com/jryans/compass-dsr-tinyos","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"17281eedc7efdcf5e442db3ba2a6459186264684"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jryans/compass-dsr-tinyos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jryans%2Fcompass-dsr-tinyos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jryans%2Fcompass-dsr-tinyos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jryans%2Fcompass-dsr-tinyos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jryans%2Fcompass-dsr-tinyos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jryans","download_url":"https://codeload.github.com/jryans/compass-dsr-tinyos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jryans%2Fcompass-dsr-tinyos/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263628013,"owners_count":23490894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dsr","mote","routing","tinyos","wireless-sensor-network"],"created_at":"2024-10-01T15:44:34.752Z","updated_at":"2025-07-04T22:32:30.748Z","avatar_url":"https://github.com/jryans.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv class=\"maketitle\"\u003e\n\n## The COMPASS Multihop Framework for TinyOS\n\n\u003cdiv class=\"author\"\u003e\n\n\u003cspan class=\"cmr-12\"\u003eJ. Ryan Stinnett\u003c/span\u003e  \n\u003cspan class=\"cmr-9\"\u003eECE Department\u003c/span\u003e  \n\u003cspan class=\"cmr-9\"\u003eRice\nUniversity\u003c/span\u003e  \n\u003cspan class=\"obeylines-h\"\u003e[\u003cspan class=\"cmtt-9\"\u003ejryans@rice.edu\u003c/span\u003e](mailto:jryans@rice.edu)\u003c/span\u003e\n\n\u003c/div\u003e\n\n  \n  \n[Overview](#x1-10001) - [Code and Documentation](#downloads) -\n[References](#x1-110003.3)\n\n\u003c/div\u003e\n\n### Overview\n\nTinyOS 2.x supplies a well-designed single hop messaging layer for\napplications, but there is no standardized multihop framework. To\naddress this issue, we surveyed a large number of applications\n\u003cspan class=\"cite\"\u003e\\[[1](#Xsurvey)\\]\u003c/span\u003e to determine the addressing\ntechniques and messaging stack features used in sensor networks. From\nthe results of this survey, we designed a multihop networking API\n\u003cspan class=\"cite\"\u003e\\[[2](#Xapi)\\]\u003c/span\u003e to address the needs of\napplication designers at the messaging layer in a unified way.\n\nThis framework intends to implement that API. The key goals of this\ninclude:\n\n  - Multihop routing with several addressing modes based on:\n      - Node address (single node, multiple nodes, or a list of nodes)\n      - Geographical region\n      - Device hierarchy\n  - Intercept messages to be forwarded\n  - Control transmission effort\n  - Congestion management\n  - Support self-organized device hierarchies\n\nOur design allows application designers to focus on the application\nlayer without being bogged down by the details of routing protocol\nimplementation. Similarly, routing protocol designers can make their\nimprovements more accessible to the rest of the community since only a\nfew wiring changes are needed to alter the routing protocol used by a\ngiven addressing mode, leaving application code untouched.\n\nIn its current form, the framework implementation supports addressing\nand multihop routing by a single node address. Our version of Dynamic\nSource Routing (DSR) \u003cspan class=\"cite\"\u003e\\[[3](#Xdsr-rfc)\\]\u003c/span\u003e\nmodified for TinyOS is used as the routing layer.\n\n### \u003cspan id=\"downloads\"\u003e\u003c/span\u003eCode and Documentation\n\n  - [**Fundamentals**](https://convolv.es/compass-dsr-tinyos/framework.pdf) - describes framework goals and\n    overall structure\n  - [**Installation**](https://convolv.es/compass-dsr-tinyos/install.txt) - guide to getting started with the\n    framework\n  - [**Application Examples**](https://convolv.es/compass-dsr-tinyos/apps/) - demo applications that use the\n    framework\n  - [**Framework Extension Examples**](https://convolv.es/compass-dsr-tinyos/exts/) - skeleton protocols that\n    can be used as building blocks to expand the framework\n  - [**Source Code**](https://github.com/jryans/compass-dsr-tinyos)\n  - [**Source Code Documentation**](https://convolv.es/compass-dsr-tinyos/nesdoc/) - generated from the\n    framework code with nesdoc\n\n### \u003cspan id=\"x1-110003.3\"\u003e\u003c/span\u003eReferences\n\n\u003cdiv class=\"thebibliography\"\u003e\n\n1. \u003cspan id=\"Xsurvey\"\u003e\u003c/span\u003eR. Wagner,\nM. Duarte, J. R. Stinnett, T. S. E. Ng, D. B. Johnson, and R. Baraniuk,\n“A network API-driven survey of communication requirements of\ndistributed data processing algorithms for sensor networks,” Rice\nUniversity, Tech. Rep., 2006. \\[Online\\]. Available:\n\u003cspan class=\"obeylines-h\"\u003e[http://www.ece.rice.edu/˜rwagner/IPSN-API-survey.pdf](http://www.ece.rice.edu/~rwagner/IPSN-API-survey.pdf)\u003c/span\u003e\n2. \u003cspan id=\"Xapi\"\u003e\u003c/span\u003eR. Wagner,\nJ. R. Stinnett, M. Duarte, R. Baraniuk, D. B. Johnson, and T. S. E. Ng,\n“A Network Application Programming Interface for Data Processing in\nSensor Networks,” Rice University, Tech. Rep. TREE0705, Jan. 2007.\n\\[Online\\]. Available:\n\u003cspan class=\"obeylines-h\"\u003e[http://www.dsp.rice.edu/˜rwagner/docs/wagnerTREE0705.pdf](http://www.dsp.rice.edu/~rwagner/docs/wagnerTREE0705.pdf)\u003c/span\u003e\n3. \u003cspan id=\"Xdsr-rfc\"\u003e\u003c/span\u003eD. Johnson,\nY. Hu, and D. Maltz, \u003cspan class=\"cmti-10\"\u003eThe Dynamic Source\nRouting\u003c/span\u003e \u003cspan class=\"cmti-10\"\u003eProtocol (DSR) for Mobile Ad Hoc\nNetworks for IPv4\u003c/span\u003e, IETF RFC 4728, Feb. 2007.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjryans%2Fcompass-dsr-tinyos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjryans%2Fcompass-dsr-tinyos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjryans%2Fcompass-dsr-tinyos/lists"}