Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Design and compilation of an object-oriented macroprogramming language for wireless sensor networks
Graz University of Technology, Austria.
Graz University of Technology, Austria.
RISE, Swedish ICT, SICS. Politecnico di Milano, Italy; .ORCID iD: 0000-0003-4560-9541
University of Trento, Italy.
Show others and affiliations
2014 (English)In: Proceedings - Conference on Local Computer Networks, LCN, IEEE Computer Society , 2014, no November, p. 574-582Conference paper, Published paper (Refereed)
Abstract [en]

Wireless sensor network (WSN) programming is still largely performed by experts in a node-centric way using low-level languages such as C. Although numerous higher-level abstractions exist, each simplifying a specific aspect of distributed programming, real applications often require to combine multiple abstractions into a single program. Using current programming frameworks, this represents a difficult task. In previous work, we therefore defined a conceptual framework that facilitates abstraction composition by defining sound compositional rules among few fundamental abstraction categories. The framework is extensible: programmers can add new abstractions within the boundaries determined by the compositional rules. In this paper we describe the design of a language - called MPL - that instantiates this conceptual framework. To support the extensible nature of the framework, the language is object-oriented, which allows programmers to add new abstractions by inheriting from existing classes that implement predefined interfaces. We modeled the syntax after Java, to make it more palatable to inexperienced embedded programmers. Compared to Java, we modified the language to enable efficient execution on WSN devices. We designed and implemented a compiler that translates MPL language into executable C code, which spares the overhead of a virtual machine. By comparing MPL implementations against functionally-equivalent Contiki/C implementations of several benchmark applications, we determined that the performance overhead of MPL is limited, and yet the programming task is simplified.

Place, publisher, year, edition, pages
IEEE Computer Society , 2014. no November, p. 574-582
Keywords [en]
Compilers, Java, object-oriented languages, wireless sensor networks, Abstracting, Application programs, Benchmarking, Computational linguistics, Computer networks, Computer systems programming, Distributed computer systems, Java programming language, Object oriented programming, Program compilers, Sensor nodes, Benchmark applications, Conceptual frameworks, Current programming, Distributed programming, Higher-level abstraction, Programming tasks, Real applications, C (programming language)
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:ri:diva-45597DOI: 10.1109/LCNW.2014.6927705Scopus ID: 2-s2.0-84932599752OAI: oai:DiVA.org:ri-45597DiVA, id: diva2:1456778
Conference
39th Annual IEEE Conference on Local Computer Networks, LCN 2014, 8 September 2014 through 11 September 2014
Note

Conference code: 112575

Available from: 2020-08-06 Created: 2020-08-06 Last updated: 2023-05-25Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Mottola, Luca

Search in DiVA

By author/editor
Mottola, Luca
By organisation
SICS
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 28 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf