Industrial Internet Connectivity Framework | Page 28

Connectivity Framework 4: Connectivity Framework Layer
4.1.1 DATA RESOURCE MODEL
Connectivity frameworks provide a way of representing data objects 1 that can change state over time. A data-object is a structured collection of fields, as in a programming language. It may be hierarchical and may be statically or dynamically typed.
A connectivity framework distributes changes to data-object amongst the participants.
Data models for different application areas or industries are usually mapped into the abstract data-objects provided by a connectivity framework.
4.1.2 ID AND ADDRESSING
A connectivity framework provides the means to identify and address each data object. The id is used to address a data object and read and write fields in the data-object representation. It could be:
• an explicit id field in the data-object representation, or
• an implicit id based on specially marked fields in the data object representation or
• a uniform resource identifier( URI) within the namespace of a device or application or network endpoint.
4.1.3 DATA TYPE SYSTEM
To ensure syntactic interoperability, a connectivity stack( see section 2.1) will provide a way to describe the data syntax. A data type is a syntactic constraint placed upon the interpretation of data. It is not possible to connect systems without sharing or mapping data types, either implicitly( e. g. in code) or explicitly.
A connectivity framework provides a data type system for representing data objects as structures in a programming environment and for formatting data to be communicated on the wire. The data type system may be object-oriented, like the data types found in statically-typed programming languages( e. g. C, C ++, C # or Java), or object-based like the dynamic data types found in dynamically-typed programming languages( e. g. JavaScript, Python, Lua).
The data type system should provide a means of managing the evolution of data types. This includes versioning and assignability rules across versions, so that applications using newer versions of a data type can communicate with applications using older versions of a data type to the maximum extent possible.
The data type system also defines the serialized data format in communication( in motion) and in storage( at rest), and operations to serialize from a programming language representation into the serialized format, and to de-serialize back into the programming language representation.
Requiring explicit data syntax definitions using a data type system enables functional standardized gateways( see section 3.2). Also, generic tools can collect and traverse syntactically
1 a. k. a. data resource or data item or data point or tag IIC: PUB: G5: V1.0: PB: 20170228- 28-