{"title":"ProtoML:用于Google协议缓冲区的基于规则的验证语言","authors":"Miklós Kálmán","doi":"10.1109/ICITST.2013.6750189","DOIUrl":null,"url":null,"abstract":"We live in an information age where massive amounts of data are being transferred across multiple platforms. Cross-platform formats are constantly evolving to aid the communication between machines running different backends. There are text-based (e.g.: XML, JSON) and binary (e.g.: BSON, bXML, Google Protocol Buffers) formats that can provide the basis of common communication. In this article we will be focusing on a widely used binary-format: Google Protocol Buffers. This format has support for various languages. One caveat of this format is that although the structure of the messages is defined by the “.proto” file the validation and sanitization of the transmitted messages have to be implemented by the developer. We introduce a new metalanguage called ProtoML that serves as a solid foundation for the definition of validation and constraint rules for Protocol Buffer messages. The ProtoML rules can easily be extended using additional validation functions and have the added benefit of providing a way to correct messages on the fly prior to transmission. We will also demonstrate a draft implementation of the ProtoML language to showcase its potential.","PeriodicalId":246884,"journal":{"name":"8th International Conference for Internet Technology and Secured Transactions (ICITST-2013)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"ProtoML: A rule-based validation language for Google Protocol Buffers\",\"authors\":\"Miklós Kálmán\",\"doi\":\"10.1109/ICITST.2013.6750189\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We live in an information age where massive amounts of data are being transferred across multiple platforms. Cross-platform formats are constantly evolving to aid the communication between machines running different backends. There are text-based (e.g.: XML, JSON) and binary (e.g.: BSON, bXML, Google Protocol Buffers) formats that can provide the basis of common communication. In this article we will be focusing on a widely used binary-format: Google Protocol Buffers. This format has support for various languages. One caveat of this format is that although the structure of the messages is defined by the “.proto” file the validation and sanitization of the transmitted messages have to be implemented by the developer. We introduce a new metalanguage called ProtoML that serves as a solid foundation for the definition of validation and constraint rules for Protocol Buffer messages. The ProtoML rules can easily be extended using additional validation functions and have the added benefit of providing a way to correct messages on the fly prior to transmission. We will also demonstrate a draft implementation of the ProtoML language to showcase its potential.\",\"PeriodicalId\":246884,\"journal\":{\"name\":\"8th International Conference for Internet Technology and Secured Transactions (ICITST-2013)\",\"volume\":\"22 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"8th International Conference for Internet Technology and Secured Transactions (ICITST-2013)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICITST.2013.6750189\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"8th International Conference for Internet Technology and Secured Transactions (ICITST-2013)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICITST.2013.6750189","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
摘要
我们生活在一个信息时代,大量的数据在多个平台上传输。跨平台格式正在不断发展,以帮助运行不同后端的机器之间的通信。有基于文本的(例如:XML, JSON)和二进制(例如:BSON, bXML, Google Protocol Buffers)格式可以提供通用通信的基础。在本文中,我们将重点介绍一种广泛使用的二进制格式:Google Protocol Buffers。这种格式支持多种语言。这种格式需要注意的一点是,尽管消息的结构是由“。“原型”文件必须由开发人员实现传输消息的验证和处理。我们引入了一种名为ProtoML的新元语言,它为协议缓冲区消息的验证和约束规则的定义提供了坚实的基础。ProtoML规则可以使用额外的验证函数轻松地进行扩展,并且还有一个额外的好处,即在传输之前提供一种动态纠正消息的方法。我们还将演示ProtoML语言的一个草案实现,以展示其潜力。
ProtoML: A rule-based validation language for Google Protocol Buffers
We live in an information age where massive amounts of data are being transferred across multiple platforms. Cross-platform formats are constantly evolving to aid the communication between machines running different backends. There are text-based (e.g.: XML, JSON) and binary (e.g.: BSON, bXML, Google Protocol Buffers) formats that can provide the basis of common communication. In this article we will be focusing on a widely used binary-format: Google Protocol Buffers. This format has support for various languages. One caveat of this format is that although the structure of the messages is defined by the “.proto” file the validation and sanitization of the transmitted messages have to be implemented by the developer. We introduce a new metalanguage called ProtoML that serves as a solid foundation for the definition of validation and constraint rules for Protocol Buffer messages. The ProtoML rules can easily be extended using additional validation functions and have the added benefit of providing a way to correct messages on the fly prior to transmission. We will also demonstrate a draft implementation of the ProtoML language to showcase its potential.