EXI Decoder Compiler Using Grammar-Based Skip Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing EXI decoders require complex interpretation and increased processing load due to the need for interpreting XML schema and document structure, making them unsuitable for resource-constrained devices and complicating decoder coding.
Innovation Solution
A decoder compiler generates a dedicated EXI decoder that selectively reads and outputs only relevant information from an EXI stream, using a grammar-based approach to skip unnecessary data, thereby simplifying processing and reducing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional EXI decoder interprets all XML schema and document structure information, then complete decoding accuracy is achieved, but processing load and memory usage increase significantly
Solution Approach 1:
The patent extracts only the necessary decoding logic from the complete XML schema by identifying target elements through XPath expressions. The decoder compiler generates code that selectively processes only the required elements, ignoring unnecessary schema information. This extraction approach maintains decoding accuracy for target elements while significantly reducing processing load by avoiding interpretation of irrelevant schema portions.
Solution Approach 2:
The patent segments the XML schema interpretation process into distinct components: XPath expression parsing, element selection, and decoding code generation. By dividing the complex schema interpretation into manageable segments handled by specialized modules, the system achieves complete decoding capability for target elements while avoiding the computational burden of processing the entire schema structure.
2Loss of information
If a traditional EXI decoder processes all XML document structure, then complete information is obtained, but decoder coding complexity increases
Solution Approach 1:
The patent introduces a decoder compiler as an intermediary tool between the XML schema and the final decoder code. This compiler automatically translates XPath expressions and schema definitions into optimized decoding code, eliminating the need for manual coding of complex schema interpretation logic. The intermediary compiler handles the complexity of schema processing while generating simple, efficient decoder code that maintains information completeness.
Solution Approach 2:
The patent replaces manual decoder coding with an automated code generation system. Instead of mechanically writing complex decoding code for each element, the system uses a compiler that automatically generates optimized code from schema definitions and XPath expressions. This substitution of manual coding with automated generation significantly reduces decoder coding complexity while maintaining complete information extraction capability.
3Reliability
If EXI decoding interprets all XML schema information, then correct decoding is achieved, but memory usage increases
Solution Approach 1:
The patent extracts only the necessary decoding information required for target elements by parsing XPath expressions and identifying relevant schema portions. The decoder compiler generates code that loads and processes only the minimum necessary schema information, discarding irrelevant data from memory. This extraction approach maintains decoding correctness for required elements while significantly reducing memory consumption by avoiding loading of complete schema information.
Solution Approach 2:
The patent applies partial action by processing only the portion of the XML schema necessary for decoding target elements, rather than loading the entire schema into memory. The decoder compiler calculates and loads only the minimal required schema information based on XPath expressions, avoiding excessive memory usage while maintaining sufficient information for correct decoding of required elements.
Data Source
AI summary
Information that maps a point in XML document structure to a name of a variable and an EXI grammar form that includes grammars each defining relationship among an event representative of an element in the XML document structure, an EXI event code, and a next grammar for use are read. A selecting unit selects grammars in the EXI grammar form such that the grammars are traced in sequence. A determining unit updates a grammar stack which identifies a current position in the XML document structure each time a grammar is selected. If the updated stack does not indicates the point, a function setting unit sets a skip function for skipping a corresponding value in an EXI stream, otherwise, sets a read function for reading and providing the corresponding value to a corresponding variable. A composer generates an EXI decoder including skip and read functions set for individual grammars.


