Noah W. Scott, D. Hodson, Richard Dill, M. Grimaila
{"title":"使用Serde对DIS pdu进行序列化和反序列化","authors":"Noah W. Scott, D. Hodson, Richard Dill, M. Grimaila","doi":"10.1109/CSCI51800.2020.00266","DOIUrl":null,"url":null,"abstract":"Serialization is the process of translating a data structure into a format that can be stored and/or transmitted, and then subsequently reconstructed at a later time to create an identical clone of the original. The use of data serialization assures data objects can be transmitted, stored, and reliably reconstructed across differing computer architectures, even with different data type sizes or endianness, with no additional effort.Serializing the data in an architecture-independent format prevents the problems of byte ordering, memory layout, or representing data structures in different programming languages. This is especially important in the context of live, virtual, and constructive (LVC) simulation environments where multiple geographically separated computers, each with many independent threads, are connected and must communicate with as little latency as possible to remain near \"real-time\" like in terms of responsiveness.In this paper, we demonstrate the use of Serde, a Rust-based systems programming language crate, to serialize and deserialize IEEE standard Distribute Interactive Simulation (DIS) Protocol Data Units (PDUs) to support DIS-based network interoperability. The results show that Serde is an efficient mechanism for serialization/deserialization when using the inherently safe Rust programming language.","PeriodicalId":336929,"journal":{"name":"2020 International Conference on Computational Science and Computational Intelligence (CSCI)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Using Serde to Serialize and Deserialize DIS PDUs\",\"authors\":\"Noah W. Scott, D. Hodson, Richard Dill, M. Grimaila\",\"doi\":\"10.1109/CSCI51800.2020.00266\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Serialization is the process of translating a data structure into a format that can be stored and/or transmitted, and then subsequently reconstructed at a later time to create an identical clone of the original. The use of data serialization assures data objects can be transmitted, stored, and reliably reconstructed across differing computer architectures, even with different data type sizes or endianness, with no additional effort.Serializing the data in an architecture-independent format prevents the problems of byte ordering, memory layout, or representing data structures in different programming languages. This is especially important in the context of live, virtual, and constructive (LVC) simulation environments where multiple geographically separated computers, each with many independent threads, are connected and must communicate with as little latency as possible to remain near \\\"real-time\\\" like in terms of responsiveness.In this paper, we demonstrate the use of Serde, a Rust-based systems programming language crate, to serialize and deserialize IEEE standard Distribute Interactive Simulation (DIS) Protocol Data Units (PDUs) to support DIS-based network interoperability. The results show that Serde is an efficient mechanism for serialization/deserialization when using the inherently safe Rust programming language.\",\"PeriodicalId\":336929,\"journal\":{\"name\":\"2020 International Conference on Computational Science and Computational Intelligence (CSCI)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 International Conference on Computational Science and Computational Intelligence (CSCI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSCI51800.2020.00266\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 International Conference on Computational Science and Computational Intelligence (CSCI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSCI51800.2020.00266","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Serialization is the process of translating a data structure into a format that can be stored and/or transmitted, and then subsequently reconstructed at a later time to create an identical clone of the original. The use of data serialization assures data objects can be transmitted, stored, and reliably reconstructed across differing computer architectures, even with different data type sizes or endianness, with no additional effort.Serializing the data in an architecture-independent format prevents the problems of byte ordering, memory layout, or representing data structures in different programming languages. This is especially important in the context of live, virtual, and constructive (LVC) simulation environments where multiple geographically separated computers, each with many independent threads, are connected and must communicate with as little latency as possible to remain near "real-time" like in terms of responsiveness.In this paper, we demonstrate the use of Serde, a Rust-based systems programming language crate, to serialize and deserialize IEEE standard Distribute Interactive Simulation (DIS) Protocol Data Units (PDUs) to support DIS-based network interoperability. The results show that Serde is an efficient mechanism for serialization/deserialization when using the inherently safe Rust programming language.