Data · dataset · 2021
Source code of the PRSS and CWSS applications
Listed in DANS Data Station Physical and Technical Sciences
Source code accompanying the paper: M. Lubbers, P. Koopman, A. Ramsingh, J. Singer, and P. Trinder, ‘Tiered versus Tierless IoT Stacks: Comparing Smart Campus Software Architectures’, presented at the 10th International Conference on the Internet of Things, Malmö, 2020, doi: 10.1145/3410992.3411002.
Description
Abstract
Internet of Things (IoT) software stacks are notoriously complex, conventionally comprising multiple tiers/components and requiring that the developer not only uses multiple programming languages, but also correctly interoperate the components. A novel alternative is to use a single tierless language with a compiler that generates the code for each component, and for their correct interoperation. We report the first ever systematic comparison of tiered and tierless IoT software architectures.
Read the rest (5 more)
The comparison is based on two implementations of a non-trivial smart campus application. PRSS has a conventional tiered Python-based architecture, and Clean Wemos Super Sensors (CWSS) has a novel tierless architecture based on Clean and the iTask and mTask embedded DSLs. An operational comparison of CWSS and PRSS demonstrates that they have equivalent functionality, and that both meet the University of Glasgow (UoG) smart campus requirements.
Crucially, the tierless CWSS stack requires 70% less code than the tiered PRSS stack. We analyse the impact of the following three main factors. (1) Tierless developers need to manage less interoperation: CWSS uses two DSLs in a single paradigm where PRSS uses five languages and three paradigms.
(2) Tierless developers benefit from automatically generated, and hence correct, communication. (3) Tierless developers can exploit the powerful high-level abstractions such as Task Oriented Programming (TOP) in CWSS. Contents: - README.md: this readme containing information about both applications - cwss.tgz: source code for the mTask based smart campus applications dubbed CWSS.
It consists of:
- A snapshot of the mTask git repository: gitlab.science.ru.nl/mlubbers/mTask
- A Clean programming language compiler.
- The source code for the CWSS application. - prss.zip: source code for the anyscale sensor based smart campus application dubbed PRSS. It consists of:
- A snapshot of the anyscale-sensors git repository: bitbucket.org/jsinger/anyscale-sensors Zip file unpacked by DANS.
Links
Where it is published
- Dataverse dataset page phys-techsciences.datastations.nl/dataset.xhtml?persistentId=doi%3A10.17026%2FDANS-ZVF-4P9M ↗
landing page · from phys techsciences datastations nl
- DOI doi.org/10.17026/dans-zvf-4p9m ↗
DOI / persistent id · from phys techsciences datastations nl
Catalogue records · 1
- Dataverse API phys-techsciences.datastations.nl/api/datasets/:persistentId/?persistentId=doi%3A10.17026%2FDANS… ↗
metadata API · from phys techsciences datastations nl
Topics
- Stated by source
- Computer and Information Science
- From keywords
- Computer Science & AI · Cyberphysical systems and internet of things · Humanities
Provenance · 1 source records, 9 field assertions
| Source | Key | Last seen | Raw |
|---|---|---|---|
| DANS Data Station Physical and Technical Sciences | doi:10.17026/DANS-ZVF-4P9M | 8 d ago | JSON v1 |
| Field | Assertion | Extractor | Evidence |
|---|---|---|---|
| concepts[field].dataverse_subject:computer-and-information-science | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | /subjects |
| concepts[field].local:field:computer-science-ai | mapping · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | /subjects |
| concepts[field].local:field:humanities | mapping · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | /subjects |
| created_date | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | |
| description | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | /description |
| publication_date | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | |
| title | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | /name |
| updated_date | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 | |
| version_label | source · phys techsciences datastations nl | connector:phys_techsciences_datastations_nl@1.0.0 |