Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | hannelore-evan |
View: | 27 times |
Download: | 0 times |
IPS: Implementation of Protocol Stacks for Embedded Systems
Yan Wang
Halmstad University, Sweden
The Second Internal EPC Workshop
IPS, Halmstad University, Yan Wang
Motivation
QoS
IPS, Halmstad University, Yan Wang
Protocol Stacks for Embedded Systems
Me
mo
ry
Energy
Develop Time
• Challenges– Difficult to program – Resource constraints
• Main concerns– Computer resources awareness– Programming efficiency
• Opportunity– A potentially large payoff for
investing in a tool to support protocol stack implementations
IPS, Halmstad University, Yan Wang
• A Domain Specific Language to facilitate Implementation of Protocol Stacks– Addressing the protocol
stack as a whole– Providing events & time
abstractions
• Evaluation– Performance of
compiled-code– Cost of development
process
IPS
OS/HW
IPS runtime system
IPS compiler
& other tools
Compiled C code
IPS source codeModular
architectureModular
architecture
Type system
Concurrency model
Memory management
Timer
IPS, Halmstad University, Yan Wang
Paddle
PADDLE: Motivation
• Processing packets– Tedious and error-prone– Difficult to be related to the
specification– Hard to debug and modify
• Solution– Describe packets by
dependent types– Compile type description to
packet processing functions
IPS, Halmstad University, Yan Wang
Parserstruct Ipv4_p Ipv4parser
( u8_t * buf, int offset)
struct Ipv4_p Ipv4parser
( u8_t * buf, int offset)
01001011 01011011
... ...
0x04
0x11
... ...
0x04
0x11
... ...
PADDLE: A Data Description Language
• Simple Packet Types
• Layered Packet Types
... ....
IPS, Halmstad University, Yan Wang
The Generated Library
In-memory representation
Parsing function
Writing function
PADDLE program
PADDLE compiler
IPS, Halmstad University, Yan Wang
Compact Packets
P_Type P_IDP_ IDP_Type Originator
addressOriginator address
We save two bytes
Byte Oriented Bit Oriented
IPS, Halmstad University, Yan Wang
PADDLE
• The contributions of PADDLE:– A rich language for describing packets– A tool that generates packet processing functions– Operations for layering packets– Optimizations suitable for Sensor Networks
IPS, Halmstad University, Yan Wang
Thanks for your attention!
IPS, Halmstad University, Yan Wang