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
A Library for Processing Ad hoc Data in Haskell: Embedding a Data Description Language
Halmstad University, School of Information Technology, Halmstad Embedded and Intelligent Systems Research (EIS), Embedded Systems (CERES).
Halmstad University, School of Information Technology, Halmstad Embedded and Intelligent Systems Research (EIS), Embedded Systems (CERES).
2011 (English)In: Implementation and application of functional languages / [ed] Scholz, SB; Chitil, O, Springer, 2011, , p. 16p. 174-191Conference paper, Published paper (Refereed)
Abstract [en]

Ad hoc data formats, i.e. semistructured non-standard dataformats, are pervasive in many domains that need software tools—bioinformatics,demographic surveys, geophysics and network software are justa few. Building tools becomes easier if parsing and other standard inputoutputprocessing can be automated. Modern approaches for dealingwith ad hoc data formats consist of domain specific languages based ontype systems. Compilers for these languages generate data structures andparsing functions in a target programming language in which tools andapplications are then written. We present a monadic library in Haskellthat implements a data description language. Using our library, Haskellprogrammers have access to data description primitives that can be usedfor parsing and that can be integrated with other libraries and applicationprograms without the need of yet another compiler.

Place, publisher, year, edition, pages
Springer, 2011. , p. 16p. 174-191
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 5836
Keywords [en]
Ad hoc Data, Haskell
National Category
Natural Language Processing
Identifiers
URN: urn:nbn:se:hh:diva-95ISI: 000307082400010Scopus ID: 2-s2.0-80053964182ISBN: 978-3-642-24451-3 (print)OAI: oai:DiVA.org:hh-95DiVA, id: diva2:235614
Conference
20th International Symposium, Implementation and Application of Functional Languages, IFL 2008
Projects
IPSAvailable from: 2009-10-05 Created: 2009-09-17 Last updated: 2025-02-07Bibliographically approved
In thesis
1. A Language-Based Approach to Protocol Stack Implementation in Embedded Systems
Open this publication in new window or tab >>A Language-Based Approach to Protocol Stack Implementation in Embedded Systems
2009 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Embedded network software has become increasingly interesting for both researchand business as more and more networked embedded systems emerge.Well-known infrastructure protocol stacks are reimplemented on new emergingembedded hardware and software architectures. Also, newly designed orrevised protocols are implemented in response to new application requirements.However, implementing protocol stacks for embedded systems remains a timeconsumingand error-prone task due to the complexity and performance-criticalnature of network software. It is even more so when targeting resource constrainedembedded systems: implementations have to minimize energy consumption,memory usage and so on, while programming efficiency is needed toimprove on time-to-market, scalability, maintainability and product evolution.Therefore, it is worth researching on how to make protocol stack implementationsfor embedded systems both easier and more likely to be correct withinthe resource limits.In the work we present in this thesis, we take a language-based approachand aim to facilitate the implementation of protocol stacks while realizingperformance demands and keeping energy consumption and memory usagewithin the constraints imposed by embedded systems. Language technologyin the form of a type system, a runtime system and compiler transformationscan then be used to generate efficient implementations. We define a domainspecificembedded language (DSEL), Implementation of Protocol Stacks (IPS),for declaratively describing overlaid protocol stacks. In IPS, a high-level packetspecification is dually compiled into an internal data representation for protocollogic implementation, and packet processing methods which are thenintegrated into the dataflow framework of a protocol overlay specification.IPS then generates highly portable C code for various architectures from thissource. We present the compilation framework for generating packet processingand protocol logic code, and a preliminary evaluation of our compiled code.

Place, publisher, year, edition, pages
Örebro: Örebro University, 2009. p. 90
Series
Studies from the School of Science and Technology at Örebro University ; 9
National Category
Embedded Systems
Identifiers
urn:nbn:se:hh:diva-94 (URN)
Presentation
(English)
Supervisors
Projects
IPS
Available from: 2010-09-27 Created: 2009-09-17 Last updated: 2020-05-12Bibliographically approved
2. 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

summary(73 kB)200 downloads
File information
File name SUMMARY01.pdfFile size 73 kBChecksum SHA-512
bc06ec187a75bd75a93e6d1a176ffb892818212bca8c16e6688ae23aa9ad3559074aa54f13a1b57f8b50aa6c5ac0ffdc05a110aaee3104026a218d6d3cd8d581
Type summaryMimetype application/pdf

Scopus

Authority records

Wang, YanGaspes, Veronica

Search in DiVA

By author/editor
Wang, YanGaspes, Veronica
By organisation
Embedded Systems (CERES)
Natural Language Processing

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

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