Return to search

Ada code generation support for Google Protocol Buffers

We now live in an information society where increasingly large volumes of data are exchanged between networked nodes in distributed systems. Recent years have seen a multitude of dierent serialization frameworks released to efficiently handle all this information while minimizing developer effort. One such format is Google Protocol Buers, which has gained additional code generation support for a wide variety of programming languages from third-party developers. Ada is a widely used programming language in safety-critical systems today. However, it lacks support for Protocol Buffers. This limits the use of Protocol Buffers at companies like Saab, where Ada is the language of choice for many systems. To amend this situation Ada code generation support for Protocol Buffers has been developed. The developed solution supports a majority of Protocol Buffers' language constructs, extensions being a notable exception. To evaluate the developed solution, an artificial benchmark was constructed and a comparison was made with GNATColl.JSON. Although the benchmark was artificial, data used by the benchmark followed the same format as an existing radar system. The benchmark showed that if serialization performance is a limiting factor for the radar system, it could potentially receive a significant speed boost from a substitution of serialization framework. Results from the benchmark reveal that Protocol Buffers is about 6 to 8 times faster in a combined serialization/deserialization performance comparison. In addition, the change of serialization format has the added benefit of reducing size of serialized objects by approximately 45%.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-102688
Date January 2013
CreatorsEkendahl, Niklas
PublisherLinköpings universitet, Databas och informationsteknik, Linköpings universitet, Tekniska högskolan
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0015 seconds