User Tools

Site Tools

Site » About 
en:about

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:about [2017/02/13 22:09]
hajdam
en:about [2017/07/08 12:43] (current)
hajdam
Line 1: Line 1:
 ====== Project Introduction ====== ====== Project Introduction ======
  
-TODO+XBUP is binary data protocol and file format for communication,​ data storage and application interfaces.
  
-  * **Advanced Data Structures** - Unified structure should allow to combine various types of data together +===== Key Features =====
-  * **Flexibility** - General framework should provide data transformations/​processing and compatibility issues solving capability +
-  * **Comprehensibility** - Catalog of data types, metadata, relations and abstraction should allow better understanding of data +
-  * **Efficiency** - Optional compression and encryption on multiple levels should allow effective representation of binary data+
  
-Some of the design principles:+  * **Unified block-tree structure** - Allows to combine different data together into single unit 
 +  * **Build-in and custom data types** - Catalog ​of types and support for external definitions 
 +  * **Transformations framework** - Data processing for compression,​ encryption, compatibility and data handling
  
-  * Flexibility over efficiency +===== Motivation =====
-  * Abstraction over compactness +
-  * Evolving over simplified+
  
-Meaning / Strongly typed +Project ​should ​provide universal protocol as a more feature-rich alternative ​to currently used binary protocols. It should provide general methods for handling various types of data including:
-  * Data should ​allow to define type, including: +
-  * number -> length in meters (unit)+
  
-Language ​Independent+  * **Multimedia files** - Audio, Video, Animation 
 +  * **Filesystem structure** - Allow to represent data in the form of filesystem or as compressed archive 
 +  * **Application API** - Remote or local methods execution supporting parameters and result passing 
 +  * **Serialization protocol** - Provide ability to serialize structured data 
 +  * **Long-term data storage** - Provide way to define data with separate or integrated specification 
 +  * **Huge data** - Use dynamic numeric values to allow support for data in terabytes range or more 
 +  * **Representation of segmented, fragmented or indexed data** 
 + 
 +The protocol is also intended to bring advantages of modern markup languages like XML into binary world. It's a ground-up designed alternative focused on binary data, yet providing similar techniques like XML Schema, XML Namespaces, XSLT and so on. 
 + 
 +Where applicable, project should also include concepts from other similar protocols, like for example: 
 + 
 +  * **RIFF** - Resource Interchange File Format 
 +  * **HDF5/​CDF** - Hierarchical Data Format / Common Data Format 
 +  * **ASN.1** - Abstract Syntax Notation One 
 +  * **Matroska/​EBML** - Extensible Binary Meta Language 
 +  * **Protocol Buffers** - Serialization protocol for binary data exchange 
 + 
 +===== Design Principles ===== 
 + 
 +Project is using bottom-up approach with layers building on top of each other adding gradually new functionality. 
 + 
 +Some of the design principles:
  
 +  * **Small steps** - Project should be build and evolve by adding small and independent functionality
 +  * **Universaility first** - Focus should be on support of wide range of use-cases and provide extensibility instead of fixed and compact structure
 +  * **Abstraction** - Data should be defined using abstraction instead of vague description only
  
-==== Next Sections ​====+===== More =====
  
-You can learn more about this project by reading ​next sections ​about the project.+You can learn more about this project by reading ​following ​sections:
  
-  * [[en:​about:​motivation|Motivation]] 
   * [[en:​about:​use_cases|Use Cases]]   * [[en:​about:​use_cases|Use Cases]]
   * [[en:​about:​goals|Goals]]   * [[en:​about:​goals|Goals]]
   * [[en:​about:​project_scope|Scope]]   * [[en:​about:​project_scope|Scope]]
 +  * [[en:​about:​logo|Project Logo]]
  
en/about.1487020163.txt.gz · Last modified: 2017/02/13 22:09 by hajdam