hh.sePublications
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
An embedded language for programming protocol stacks in embedded systems
Halmstad University, School of Information Science, Computer and Electrical Engineering (IDE), Halmstad Embedded and Intelligent Systems Research (EIS), Centre for Research on Embedded Systems (CERES).
Halmstad University, School of Information Science, Computer and Electrical Engineering (IDE), Halmstad Embedded and Intelligent Systems Research (EIS), Centre for Research on Embedded Systems (CERES).
2011 (English)In: PEPM '11: proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, January 24, 2011, Austin, Texas, USA, New York, NY, USA: ACM Press, 2011, p. 63-72Conference paper, Published paper (Refereed)
Abstract [en]

Protocol stack specifications are well-structured documents that follow a number of conventions and notations that have proven very useful for the design and dissemination of communication protocols. Protocol stack implementations on the other hand, are done in low-level languages, using error-prone programming techniques resulting in programs that are difficult to relate to the specifications, difficult to maintain, modify, extend and reuse. To overcome these problems we propose a domain-specific language that provides abstractions close to the notations used in protocol specifications. From descriptions in our language we generate C programs that can be integrated with other systems software. The language provides constructs to describe packet formats, including physical layout, constraints and dependencies. It also provides constructs for state machines and for layering protocols into stacks. Experiments show that the C programs we generate are comparable in performance and binary size to hand-crafted C programs.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Press, 2011. p. 63-72
Keywords [en]
domain-specific language, embedded compilation, embedded network software
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:hh:diva-14589DOI: 10.1145/1929501.1929511Scopus ID: 2-s2.0-79952120257ISBN: 978-1-4503-0485-6 OAI: oai:DiVA.org:hh-14589DiVA, id: diva2:404633
Conference
PEPM'11
Available from: 2011-03-17 Created: 2011-03-17 Last updated: 2018-03-23Bibliographically approved
In thesis
1. A Domain-Specific Language for Protocol Stack Implementation in Embedded Systems
Open this publication in new window or tab >>A Domain-Specific Language for Protocol Stack Implementation in Embedded Systems
2011 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Embedded network software has become increasingly interesting for both research and business as more and more networked embedded systems emerge. Well-known infrastructure protocol stacks are reimplemented on new embedded hardware and software architectures. New requirements of modern applications and devices require to implement newly designed or revised protocols. However, implementing protocol stacks for embedded systems remains a time-consuming and error-prone task due to the complexity and performancecritical nature of network software. It is even more so when targeting resource constrained embedded systems: implementations have to minimize energy consumption, memory usage etc., while programming efficiency is needed to improve on time-to-market, scalability, maintainability and product evolution. Therefore, it is worth researching on how to make protocol stack implementations for embedded systems both easier and more likely to be correct within the resource limits.

In the work presented in this thesis, we take a language-based approach and aim to facilitate the implementation of protocol stacks while realizing performance demands and being aware of energy consumption and memory usage within the constraints imposed by embedded systems. We give background on DSL implementation techniques, investigate common practices in network protocol development to determine the potential of domain-specifi languages (DSLs) for embedded network software, and propose a domain-specifi embedded language (DSEL), Protege (Protocol Implementation Generator), for declaratively describing overlaid protocol stacks. In Protege, a high-level packet specification is dually compiled into an internal data representation for protocol logic implementation, and packet processing methods which are then integrated into the dataflow framework of a protocol overlay specification. Constructs for finite state machines allow to specify protocol logic in a concise manner, close to the protocol specification style. Protege specifications are compiled to highly portable C code for various architectures.

Four attached scientific papers report our main results in more detail: an embedded implementation of the data description calculus in Haskell, a compilation framework for generating packet processing code with overlays, the domain-specific language Protege in overview (including embedding techniques and runtime system features), and a real-world case study implementing an industrial application protocol.

Place, publisher, year, edition, pages
Örebro: Örebro universitet, 2011. p. 82
Series
Örebro Studies in Technology, ISSN 1650-8580 ; 49
National Category
Computer Sciences
Identifiers
urn:nbn:se:hh:diva-16156 (URN)978-91-7668-795-6 (ISBN)
Public defence
2011-06-08, Wigforssalen, Högskolan i Halmstad, Halmstad, 10:15 (English)
Opponent
Supervisors
Available from: 2011-09-09 Created: 2011-09-06 Last updated: 2018-03-22Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Wang, YanGaspes, Veronica

Search in DiVA

By author/editor
Wang, YanGaspes, Veronica
By organisation
Centre for Research on Embedded Systems (CERES)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 279 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