Architectural considerations for a new generation of protocols
SIGCOMM '90 Proceedings of the ACM symposium on Communications architectures & protocols
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
A language-based approach to protocol implementation
IEEE/ACM Transactions on Networking (TON)
Region-based memory management
Information and Computation
Packet types: abstract specification of network protocol messages
Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication
Journal of Functional Programming
Correct implementation of network protocols
Correct implementation of network protocols
Computer Networks: A Systems Approach, 3rd Edition
Computer Networks: A Systems Approach, 3rd Edition
Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors
LCN '04 Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks
PADS: a domain-specific language for processing ad hoc data
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Full TCP/IP for 8-bit architectures
Proceedings of the 1st international conference on Mobile systems, applications and services
Protocols and Architectures for Wireless Sensor Networks
Protocols and Architectures for Wireless Sensor Networks
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Network Algorithmics,: An Interdisciplinary Approach to Designing Fast Networked Devices (The Morgan Kaufmann Series in Networking)
The emergence of networking abstractions and techniques in TinyOS
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
An adaptive communication architecture for wireless sensor networks
Proceedings of the 5th international conference on Embedded networked sensor systems
TinyTimber, reactive objects in C for real-time embedded systems
Proceedings of the conference on Design, automation and test in Europe
The next 700 data description languages
Journal of the ACM (JACM)
A domain-specific language approach to protocol stack implementation
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
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.