%0 Conference Proceedings %T Reference Variables for Dynamic, Reliable Packet Operations %+ SAIC %A Duncan, Ralph %A Jungck, Peder %A Ross, Kenneth %A Mulcahy, Dwight %Z Part 2: Network Architecture and Protocol Design %< avec comité de lecture %( Lecture Notes in Computer Science %B 9th International Conference on Network and Parallel Computing (NPC) %C Gwangju, South Korea %Y James J. Park %Y Albert Zomaya %Y Sang-Soo Yeo %Y Sartaj Sahni %I Springer %3 Network and Parallel Computing %V LNCS-7513 %P 48-60 %8 2012-09-06 %D 2012 %R 10.1007/978-3-642-35606-3_6 %Z Computer Science [cs]Conference papers %X A classic ‘reference’ variable provides an indirect way to access a variable or aggregate. packetC, [1] a language for network packet processing, has specialized requirements for references that apply to aggregates, based on domain-specific, extended data types. The primary functional requirement is to defer selecting particular aggregates until runtime. In addition, requirements for high program reliability and security are paramount. Thus, packetC reference constructs must guarantee that a selected aggregate (i.e., the value of a runtime dereference) always constitutes a legal aggregate for the involved operation. Both reliability concerns and current domain implementation practice discourage references based on addresses (detailed below). A secondary requirement is to support chaining aggregate operations, where the aggregate used in an operation depends on the result of the previous operation. Our design and implementation of packetC references provides a useful case study in how secure, reliable references can meet these requirements by combining strong typing features (e.g., declaration rules), simple mechanics (encoded ordinal values) and appropriate technical attributes for references, such as reseatability and non-nullability. %G English %Z TC 10 %Z WG 10.3 %2 https://inria.hal.science/hal-01551376/document %2 https://inria.hal.science/hal-01551376/file/978-3-642-35606-3_6_Chapter.pdf %L hal-01551376 %U https://inria.hal.science/hal-01551376 %~ IFIP-LNCS %~ IFIP %~ IFIP-AICT %~ IFIP-TC %~ IFIP-TC10 %~ IFIP-NPC %~ IFIP-WG10-3 %~ IFIP-LNCS-7513