IDTA 02008-2-0 : Time Series Data

Imprint

Publisher

Industrial Digital Twin Association
Lyoner Strasse 18
60528 Frankfurt am Main
Germany
https://www.industrialdigitaltwin.org/

Version history

Date

Version

Comment

2021-11-01

1.0

Used for development only. No official version published.

2023-03-01

1.1

Release of the official Submodel template published by IDTA.

2024-04-06

2.0

Changes in:

- Timestamp: Only One Timestamp is Mandatory

- Merge of LinkedSegment to ExternalSegment

1. General

1.1. About this document

This document is a part of a specification series. Each part specifies the contents of a Submodel template for the Asset Administration Shell (AAS). The AAS is described in [1], [2], [3] and [6]. First exemplary Submodel contents were described in [4], while the actual format of this document was derived by the "Administration Shell in Practice" [5]. The format aims to be very concise, giving only minimal necessary information for applying a Submodel template, while leaving deeper descriptions and specification of concepts, structures and mapping to the respective documents [1] to [6].

1.2. Scope of the Submodel

In Industrie 4.0, the ubiquity of data sources and sensors and low costs of storage has resulted in increasing amounts of time series data being captured – not only during the operational phase of an asset. A time series is a series of data points in time order over a period of time. Time Series can represent raw data, but can also represent main characteristics, textual descriptions or events in a concise way. This Submodel template aims at an interoperable description of time series data in industrial automation for the complete asset lifecycle. The focus of this Submodel template is on the semantic information of time series data. The Submodel claims to integrate time series data within the AAS itself, but also from external data sources. Figure 1 shows the use cases, such as sensor data from real and virtual sensors, and their technical storage options inside or outside the AAS that were taken into account in the creation of this specification.

Figure 1
Figure 1. Scope and use cases for time series data

1.3. Relevant standards for the Submodel template

  • ISO 8601 “Data elements and interchange formats – Information interchange – Representation of dates and times” was integrated for definition of time scales and time stamps

  • JSON Time Series Format [7] was considered to add structure and metadata.

  • ECLASS & IEC CDD was included to use semantic IDs for properties and qualifiers.

  • ISO/IEC 18014-1:2008 Information technology — Security techniques — Time-stamping services is referenced to make a boundary with this specification regarding the time synchronization of various data sources.

  • IEEE/IEC 61588-2021“Precision Clock Synchronization Protocol for Networked Measurement and Control Systems” [8] is referenced to make a boundary with this specification regarding the time synchronization of various data sources.

  • OPC Foundation: OPC Unified Architecture Part 11“Historical Access” has been considered to provide the outlook on the methods for querying time series.

1.4. Use cases and requirements

In creating this specification, the following use cases were contributed by participants. General requirements were derived from the use cases and design decisions were made.

1.4.1. Time series data with passive AAS and passive Assets

The cold chain of an adhesive must be maintained from production to consumption. For this purpose, multiple distributed sensors monitor the ambient temperature and store this data in the AAS of the adhesive. Regardless of whether the data is synchronized continuously or at specific time intervals, a consistent time series for the asset is available throughout the entire lifecycle and across different stakeholders. For this use case a passive AAS whithout computing capacity is sufficient.

Figure 2
Figure 2. Use case of time series data along the value chain of an adhesive

1.4.2. Time Series Data within the engineering phase of an Asset

In the design of power drive systems, information on the motion sequence is exchanged between different partners. User defined timestamps (for instance acceleration time in seconds) are usually used to describe motion sequences. The following example shows a motion sequence of a rotary table in a sizing tool during the engineering phase of a machine.

Figure 3
Figure 3. Use case of time series data in engineering – Motion Profiles

1.4.3. Time Series Data during usage phase – smart Sensor

This example gives an overview of how sensor telemetry data is stored in a file (e. g.CSV or BLOB in JSON Encoding). In this example a temperature Sensor and a 3-axis acceleration sensor was used to record a period of 5 seconds.

Note - In the example data set, an ISO 8601-compliant timestamp ending with "Z" was selected to indicate that the time is given in Coordinated Universal Time (UTC). Without "Z", this normally means that the time is given in a specific time zone, e.g. "2024-04-09T12:30:00+02:00" (for the time zone UTC+02:00).

Table 1. Use case of time series data during usage - smart Sensor

Index

timestamp

Temperature (°C)

RMS of Acceleration x-axis (m/s2)

RMS of Acceleration y-axis (m/s2)

RMS of Acceleration z-axis (m/s2)

0

2020-01-22T16:38:09Z

23.400

0.60

0.65

0.90

1

2020-01-22T16:38:10Z

23.415

0.61

0.80

1.00

2

2020-01-22T16:38:11Z

23.420

0.62

0.85

0.90

3

2020-01-22T16:38:12Z

23.405

1.60

5.00

1.25

4

2020-01-22T16:38:13Z

23.405

5.65

6.15

1.20

5

2020-01-22T16:38:14Z

23.390

6.00

6.50

2.05

2. Submodel Template Time Series Data

2.1. Approach

This Submodel represents an approach for the semantic description of time series along the entire asset life cycle in the AAS. Since there are many optimized database systems for time series data, this specification defines the integration of external data sources, as well as the storage of time series in the AAS itself. Furthermore, operations are specified with which time series data can be queried and inserted.

Time Series Data throughout the asset lifecycle

The Time Series Data Submodel can cover different phases of a product life cycle. As shown in Figure 4, the usage of Time Series Data Submodel starts during the Engineering Phases (Development of a type). During this phase, the Template of Time Series Data Submodel is created based on the Metadata of the corresponding product “type”. The focus of the Time Series Data Submodel, however, is after the product is instantiated and starts to store the record data that the product is generating. Note – an asset type can also have a Submodel-instance with type-related time series data containing segments and records, e. g. time series from simulations or calculations during the design phases.

Figure 4
Figure 4. AAS Time Series Data Submodel within the product life cycle

2.1.1. Generic Structure of Time Series

A time series consists of data points in time order. Timestamped data is the most basic type of time series that associates values with points in time. An example of time series is shown in Table 2.

Figure 5
Figure 5. Time series structure designations

A timestamp is used to assign a time to a data point or event. Data points (variables) can be measurement data, events, or even textual descriptions. Segments (subsequences) of a time series divide a time series into logical sections, which can be labelled and be described by further semantics. For an interoperable exchange of time series data structure, timestamps, data points and operations are defined in more detail in chapter 2.2. This specification focuses on these core elements of a time series. Depending on the application and technology used, the times series model should be extended by further properties and qualifier.

2.2. Definitions within the Submodel template specification

2.2.1. Notions of Time

A timestamp is used to assign various events and data to a unique point in time. The ISO 8601 standard can be used for an unambiguous and well-defined method of presenting date, time of day, date and time, time intervals and recurring time intervals. For a common interpretation of the timestamp, it is also indicated with its time scale. In contrast to these international specified time scales are relative time measurements - e.g., with a stopwatch - where the zero point can be arbitrary because of the mere measurement of a time difference. For these time series the ISO 8601 timestamp is not appropriate and user-defined time formats and values are used (see Figure 5).

Figure 6
Figure 6. Classification of time specifications

To describe the timeline of a custom time scale, the time unit such as hours, minutes, seconds, milliseconds, or microseconds must be determined. Due to the SI (Système International) base unit, seconds are the preferred time unit in this specification. In addition, it must be determined whether these are time points or durations. A time point is one point on the time axis, whereas duration describe the length of a time interval. Time intervals are limited by two points in time. Usually and if not explicitly stated, time points refer to the starting point of the time scale, whereas time durations build on each other (see Figure 6). To clearly identify the measurement model (absolute or incremental), this can be done via a qualifier. Note – data points (variables) of a measurement series can also be absolute or incremental.

Figure 7
Figure 7. Classification of time specifications

Based on these explanations, the requirement for the following AAS Submodel Elements were determined:

  • Time [Property] with its corresponding semantic ID for eg. TAI, UTC or custom time scales:

    • UtcTime [ConceptDescription]

    • Time << ConceptDescription >> in seconds, due to the SI base unit

    • MeasurementModelQualifier [Qualifier] with value list [absolute, incremental]

Note – Other timestamp formats and scales, such as Unix Time, Ephemeris Time (ET) or Barycentric Dynamical Time (TBD) can be defined as Concept Description with corresponding semantic IDs.

Note – A time series can contain several timestamps, for example a timestamp from the sensor and a timestamp from superior instances or in different timescales. Within the time series, there is only one primary timestamp with idShort "time".

Data points and Segments

Data points (variables) can be measurement data, events, or even textual descriptions. A data point has several values X1, X2, X3, Xn with correspondending units (e. g. °C, m/s2, rpm, V, A, …). Depending on the number of data points, a time series can have simple or complex structures (e. g. X1, Y1, Z1, X2, Y2, Z2, X3, Y3, Z3, Xn, Yn, Zn,).

This specification does not define semantic IDs of time series variables. The semantic IDs of the data points depend on the measured variables and their applications and should be chosen accordingly.

Record IDs - Within a time series timestamps and associated values are linked in a record via by an Identifier (ID). The record ID must be unique within a time series. For simple time series, the record ID could be handled like an index of integers and start with 0. For mass data and harmonizations from distributed data sources, the ID in the form of a GUID is more appropriate.

A time series segment is a subsequence of values from the variables within a time series. Different techniques for segmentation during data processing and analysis can be used. A segment has a name, a description, the number of records, a start time, and an end time. Other information such as the sampling rate, the sampling interval or additional user-defined properties may be contained. In addition, the status of a time series segment can be important for users, in the meaning that the segment is completed (status = completed) or is still subject to ongoing changes (status = in progress). For this requirement, a last updated property can also be set.

Note - Sampling rate refers to the number of samples per second. It is usually measured in hertz (Hz) and is often expressed as a frequency. For example, a sampling rate of 44.1 kHz means that 44,100 samples are taken per second. The sampling interval refers to the time between successive records. It is usually measured in seconds and is the inverse of the sampling rate. For example, if the sampling rate is 44.1 kHz, the sampling interval is approximately 22.68 microseconds (1/44100 seconds).

In practice, not every time series can be seamlessly integrated into the internal schema of the AAS time series SMT. This may be due to different data formats, storage requirements or the dynamics of the data source. To meet this challenge, the SMT offers the option of using an "external segment". These flexible structures make it possible to access data stored outside the primary data model, whether in external files or via third-party APIs.

External segments therefore act as bridges or references to external data sources that are not stored directly in the internal data model. They can be implemented in different ways, such as

  • References to external files (e.g. CSV, JSON, XML),

  • URLs to APIs that provide access to dynamic data sources,

This specification defines three types of time series segments (Internal, Linked and External), which can be used according to the requirements of the use cases. Table 1 provides an overview of these.

Table 2. Types of time series segments
Figure 8 1
Figure 8 2
Figure 8 3

InternalSegment

ExternalSegment

Description

InternalSegments allow an I4.0 application (defined in [7]) to manage the Time Series Data structure and content directly in the AAS.

API Endpoint allow an I4.0 application to read out the endpoint and query to an external system to manage time series without the AAS.

File allow an I4.0 application to find a data or BLOB file within which time series data is stored.

Suitable for

  • Few data points

  • handover of data points

  • Permissions managed within the AAS

  • Brownfield integration

  • Mass data

  • Permissions managed in external system

  • dynamic time series without continuous update of AAS

  • Brownfield integration

  • Static time Series

  • Handover of time Series

  • Few accesses

Implications

dynamic time series require continuous updating of the AAS

I4.0 application must be able to work with endpoint and query Data semantics and payload separated from each other

I4.0 application must be able to handle different file formats Data semantics and payload separated from each other

The metadata record contains all datapoint-properties of the time series in addition to the timestamp and is identical to the internal record. However, it does not contain any property values. To ensure the integrity and usability of time series data in external segments and their formats such as external data files (e.g. CSV, Excelö) or structured data formats from APIs (e.g. JSON, XML), it is crucial that the records and properties defined in the metadata match the column headings in data files or the key values in JSON objects exactly.

Qualifier (e. g. from ECLASS, IEC CDD or OPC UA) can be used to express further semantics in conjunction with a defined data element type or a defined data value. Therefore, Qualifier can be used in all those cases where existing definitions of data element types are not sufficiently specified.

Possible relevant qualifiers for time series data are:

  • ValueQualityQualifier (IEC CDD 0112/2///61360_4#ADA350) [good, bad, uncertain]: The quality of the data values can be of value in a time series analysis. This allows bad data values to be omitted from aggregations or calculations.

  • ValueOriginQualifier (IEC CDD 0112/2///61360_4#AAF582) [calculated, estimated, measured, set]: Information about the type of data collection or generation for the value provided.

  • ValueProcessingQualifier (IEC CDD 0112/2///61360_4#AAF583#002) [arithmetic mean, median, root mean square, …]: Information about the method of preprocessing the value provided.

  • MeasurementModelQualifier (defined in this Submodel specification) [absolute, incremental]: Information about whether there is an absolute measurement, or whether the value is to be seen as additive to the previous measurement.

Note - The scope of a qualifier depends on its application. For example, the ValueOriginQualifier can be applied to a single data element, to an entire record, or to the data element in the metadata collection.

2.2.2. AAS Modelling of Time Series

The preceding considerations and definitions are applied to the Time Series Submodel in Figure 8.

Figure 8
Figure 8. Time Series Data UML Diagram
Figure 9
Figure 9. Time Series Data UML Diagram

The metadata record contains all datapoint-properties of the time series in addition to the timestamp and is identical to the internal record. However, it does not contain any property values. To ensure the integrity and usability of time series data in external segments and their formats such as external data files (e.g. CSV, Excel) or structured data formats from APIs (e.g. JSON, XML), it is crucial that the records and properties defined in the metadata match the column headings in data files or the key values in JSON objects exactly.

Qualifiers (e.g. from ECLASS, IEC CDD or OPC UA) can be used to express further semantics in conjunction With a defined data element type or a defined data value. Therefore, Qualifier can be used in all those cases where existing definitions of data element types are not sufficiently specified.

Possible relevant qualifiers for time series data are:

  • ValueQualityQualifier (IEC CDD 0112/2///61360_4#ADA350) [good, Bad, uncertain]: The quality of the data values can be of value in a time series analysis. This allows bad data values to be omitted from aggregations or calculations.

  • ValueOriginQualifier (IEC CDD 0112/2///61360_4#AAF582) [calculated, estimated, measured, set]: Information about the type of data collection or generation for the value provided.

  • ValueProcessingQualifier (IEC CDD 0112/2///61360_4#AAF583#002) [arithmetic mean, median, root mean square, …​l: Information about the method of preprocessing the value provided.

  • MeasurementModelQualifier (defined in this Submodel specification) [absolute, incremental]: Information

2.3. Relevant information

Table 3. Table for elements of Submodel itself

idShort:

TimeSeries

Class:

Submodel

semanticId:

https://admin-shell.io/idta/TimeSeries/2/0

Parent:

-

Explanation:

Contains time series data and references to time series data to discover and semantically describe them along the asset lifecycle.

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[SMC]

Metadata

https://admin-shell.io/idta/TimeSeries/Metadata/2/0

A set of data describing and providing information about the time series

[]

3 elements

1

[SMC]

Segments

https://admin-shell.io/idta/TimeSeries/Segments/2/0

Contains segments of a time series

[]

2 elements

1

Note – see 2.6 “Outlook on Time Series Operations – not normative yet” for further SMEs in TimeSeries Submodel

Table 4. Specification of SMC Metadata

idShort:

Metadata

Class:

SubmodelElementCollection

semanticId:

https://admin-shell.io/idta/TimeSeries/Metadata/2/0

Parent:

TimeSeries

Explanation:

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[MLP]

Name

https://admin-shell.io/idta/TimeSeries/Metadata/Name/2/0

Meaningful name for labeling

[]

1

[MLP]

Description

https://admin-shell.io/idta/TimeSeries/Metadata/Description/2/0

Short description of the time series

[]

0..1

[SMC]

Record

https://admin-shell.io/idta/TimeSeries/Record/2/0

A time series record is unique by its ID within the time series and contains the timestamps and variable values referenced to the ID. Similar to a row in a table

[]

5 elements

1

Table 5. Specification of SMC Record

idShort:

Record

Class:

SubmodelElementCollection

semanticId:

https://admin-shell.io/idta/TimeSeries/Record/2/0

Parent:

Metadata

Explanation:

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[Prop]

Time

https://admin-shell.io/idta/TimeSeries/RelativePointInTime/2/0

Point of Time in seconds. Time points refer to the start time of the time series segment.

[Long]

1

[Prop]

AnyFurtherTimeStamp

+

[String]

[Prop]

sampleAccelerationX

https://sample.com/AccelerationX/2/0

[Long]

0..1

[Prop]

sampleAccelerationY

https://sample.com/AccelerationY/2/0

[Long]

0..1

[Prop]

sampleAccelerationZ

https://sample.com/AccelerationZ/2/0

[Long]

0..1

Table 6. Specification of SMC Segments

idShort:

Segments

Class:

SubmodelElementCollection

semanticId:

https://admin-shell.io/idta/TimeSeries/Segments/2/0

Parent:

TimeSeries

Explanation:

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[SMC]

ExternalSegment

https://admin-shell.io/idta/TimeSeries/Segments/ExternalSegment/2/0

Reference to a file of data points in sequential order over a period of time

[]

14 elements

0..*

[SMC]

InternalSegment

https://admin-shell.io/idta/TimeSeries/Segments/InternalSegment/2/0

Grouped sequence of data points in successive order over a specified period of time

[]

11 elements

0..*

Table 7. Specification of SMC InternalSegment

idShort:

InternalSegment

Class:

SubmodelElementCollection

semanticId:

https://admin-shell.io/idta/TimeSeries/Segments/InternalSegment/2/0

Parent:

Segments

Explanation:

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[MLP]

Name

https://admin-shell.io/idta/TimeSeries/Segment/Name/2/0

Meaningful name for labeling.

[]

0..1

[MLP]

Description

https://admin-shell.io/idta/TimeSeries/Segment/Description/2/0

Short description of the time series segment.

[]

0..1

[Prop]

RecordCount

https://admin-shell.io/idta/TimeSeries/Segment/RecordCount/2/0

Indicates how many records are present in a segment.

[Long]

0..1

[Prop]

StartTime

https://admin-shell.io/idta/TimeSeries/Segment/StartTime/2/0

Contains the first recorded timestamp of the time series segment and thus represents the beginning of a time series. Time format and scale corresponds to that of the time series.

[String]

0..1

[Prop]

EndTime

https://admin-shell.io/idta/TimeSeries/Segment/EndTime/2/0

Contains the last recorded timestamp of the time series segment and thus represents the end of a time series. Time format and scale corresponds to that of the time series.

[String]

0..1

[Prop]

Duration

https://admin-shell.io/idta/TimeSeries/Segment/Duration/2/0

Period covered by the segment, represented according to ISO 8601 by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S

[String]

0..1

[Prop]

SamplingInterval

https://admin-shell.io/idta/TimeSeries/Segment/SamplingInterval/2/0

The time period between two time series records (Length of cycle).

[Long]

0..1

[Prop]

SamplingRate

https://admin-shell.io/idta/TimeSeries/Segment/SamplingRate/2/0

Defines the number of samples per second for a regular time series in Hz.

[Long]

0..1

[Prop]

State

https://admin-shell.io/idta/TimeSeries/Segment/State/2/0

State of the time series related to its progress

[String]

0..1

[Prop]

LastUpdate

https://admin-shell.io/idta/TimeSeries/Segment/LastUpdate/2/0

Time of the last chance

[String]

0..1

[SML]

Records

https://admin-shell.io/idta/TimeSeries/Records/2/0

Group of data points in successive order over a specified period of time

[]

0 elements

Table 8. Specification of SMC ExternalSegment

idShort:

ExternalSegment

Class:

SubmodelElementCollection

semanticId:

https://admin-shell.io/idta/TimeSeries/Segments/ExternalSegment/2/0

Parent:

Segments

Explanation:

Element details:

-

[SME type]

idShort

semanticId

Description@en

[valueType]

example

card.

[MLP]

Name

https://admin-shell.io/idta/TimeSeries/Segment/Name/2/0

Meaningful name for labeling.

[]

0..1

[MLP]

Description

https://admin-shell.io/idta/TimeSeries/Segment/Description/2/0

Short description of the time series segment.

[]

0..1

[Prop]

RecordCount

https://admin-shell.io/idta/TimeSeries/Segment/RecordCount/2/0

Indicates how many records are present in a segment.

[Long]

0..1

[Prop]

StartTime

https://admin-shell.io/idta/TimeSeries/Segment/StartTime/2/0

Contains the first recorded timestamp of the time series segment and thus represents the beginning of a time series. Time format and scale corresponds to that of the time series.

[String]

0..1

[Prop]

EndTime

https://admin-shell.io/idta/TimeSeries/Segment/EndTime/2/0

[String]

0..1

[Prop]

Duration

https://admin-shell.io/idta/TimeSeries/Segment/Duration/2/0

Period covered by the segment, represented according to ISO 8601 by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S

[String]

0..1

[Prop]

SamplingInterval

https://admin-shell.io/idta/TimeSeries/Segment/SamplingInterval/2/0

The time period between two time series records (Length of cycle).

[Long]

0..1

[Prop]

SamplingRate

https://admin-shell.io/idta/TimeSeries/Segment/SamplingRate/2/0

Defines the number of samples per second for a regular time series in Hz.

[Long]

0..1

[Prop]

State

https://admin-shell.io/idta/TimeSeries/Segment/State/2/0

State of the time series related to its progress

[String]

0..1

[Prop]

LastUpdate

https://admin-shell.io/idta/TimeSeries/Segment/LastUpdate/2/0

Time of the last chance

[String]

0..1

[File]

File

https://admin-shell.io/idta/TimeSeries/File/2/0

Sequence of data points in sequential order over a period of time within a paged data file

[]

0..1

[Prop]

Endpoint

https://admin-shell.io/idta/TimeSeries/Endpoint/2/0

Specifies a location of a resource on an API server through which time series can be requested

[String]

0..1

[Prop]

Query

https://admin-shell.io/idta/TimeSeries/Query/2/0

generic query component to read time series data from an API

[String]

0..1

[Blob]

Blob

+

[]

0 bytes

0..1

2.4. Example Timestamp definitions

Table 9. Example Timestamp definitions

[SME type] 001

semanticId = [idType]value

[valueType]

idShort

Description@en

example

[[Property] UtcTime

[IRI] https://admin-shell.io/idta/TimeSeries/UtcTime/1/1 or [IRDI] 0112/2///61360_4#ADA387#001 preferredName @de: Zeitstempel UTC preferredName @en: Timestamp UTC definition @de: Zeitstempel nach ISO 8601 auf der Zeitskala der koordinierten Weltzeit (UTC). definition@en: Timestamp according to ISO 8601 on the timescale ccordinated universal time (UTC).

[xs:dateTimeTIMESTSAMP]

2020-09-19T14:40:38.318

[Property] TaiTime

[IRI] https://admin-shell.io/idta/TimeSeries/TaiTime/1/1 or [IRDI] 0112/2///61360_4#ADA386#001 preferredName @de: Zeitstempel TAI preferredName @en: Timestamp TAI definition @de: Zeitstempel nach ISO 8601 auf der Zeitskala internationale Atomzeit (TAI). definition@en: Timestamp according to ISO 8601 on the timescale international atomic time (TAI).

[xs:dateTimeTIMESTSAMP]

2020-09-19T14:40:38.318

[Property] RelativeTimePoint

[IRI] https://admin-shell.io/idta/TimeSeries/RelativeTimePoint/1/1 preferredName @de: Zeitstempel preferredName @en: Timestamp definition @de: Zeitpunktangabe in Sekunden. Zeitpunkte referenzieren auf die Startzeit des Zeitreihensegments. definition@en: Point of Time in seconds. Time points refer to the start time of the time series segment.

[REAL_MEASURE]

5 s

[Property] RelativeTimeDuration

[IRI] [IRI] https://admin-shell.io/idta/TimeSeries/RelativeTimeDuration/1/1 or [IRDI] 0112/2///61360_4#AAE028#001 preferredName @de: Zeitdauer preferredName @en: Timeduration definition @de: Angabe der zeitlichen Dauer in Sekunden (Anzahl der Sekunden). Zeitdauern referenzieren auf den jeweils vorangegangenen Eintrag im Zeitreihensegment. definition@en: Time duration specification in seconds (number of seconds). Time durations refer to the previous entry in the time series segment.

[REAL_MEASURE]

5 s

2.5. Example qualifiers

Table 10. Example Qualifiers

Qualifier/type

Qualifier/semanticId

Qualifier/value

[[Property] ValueQualityQualifier

[IRDI] 0112/2///61360_4#ADA350 qualifier that specifies the quality of the value of a data element type Notice - The quality of the data values can be of value in a time series analysis. This allows bad data values to be omitted from aggregations or calculations.

0112/2///61360_7#CTA052 - good 0112/2///61360_7#CTA053 - bad 0112/2///61360_7#CTA054 - uncertain 0112/2///61360_7#CTA000 - others

ValueOriginQualifier

[IRDI] 0112/2///61360_4#AAF582 qualifier that specifies the type of data capturing or generation for the provided value Notice - Information about the type of data collection or generation for the value provided.

0112/2///61360_7#CTA004 - calculated 0112/2///61360_7#CTA005 - estimated 0112/2///61360_7#CTA006 - measured 0112/2///61360_7#CTA007 - set 0112/2///61360_7#CTA000 - others

ValueProcessingQualifier

[IRDI] 0112/2///61360_4#AAF583#002qualifier that specifies a method of selecting or computing a representative value from more than one valueNotice - Information about the method of preprocessing the value provided.

0112/2///61360_7#CTA008 - arithmetic mean 0112/2///61360_7#CTA009 - geometric mean 0112/2///61360_7#CTA010 - harmonic mean 0112/2///61360_7#CTA011 - median 0112/2///61360_7#CTA012 - mode 0112/2///61360_7#CTA013 - root mean square 0112/2///61360_7#CTA014 - weighted arithmetic mean 0112/2///61360_7#CTA015 - weighted geometric mean 0112/2///61360_7#CTA000 - others

[Qualifier] MeasurementModelQualifier

[IRI] https://admin-shell.io/idta/TimeSeries/Qualifier/MeasurementModel/1/1 qualifier that specifies whether there is an absolute measurement, or whether the value is to be seen as additive to the previous measurement Notice - Information about whether there is an absolute measurement, or it must be considered additive.

https://admin-shell.io/idta/TimeSeries/Qualifier/MeasurementModel/Absolute/1/1 - absolute https://admin-shell.io/idta/TimeSeries/Qualifier/MeasurementModel/Incremental/1/1 - incremental

2.6. Outlook on Time Series Operations – not normative yet

The defined Submodel offers more flexibility due to the different modeling approaches for time series segments, but this can lead to limitations in interoperability. I4.0 applications (defined in [7]) that access time series data may have to deal with proprietary systems and data formats (Figure 9).

Figure 10
Figure 10. Data access without operations

Asset Administration Shells and Submodels offer Operations to specify a generic way to describe functional interfaces. This allows implementations of the AAS/SM to provide, as in this case, convenience operations or additional business functionality.

In our case we would like to simplify the identification of the data of interest:

  • ReadSegments, ReadRecords provide access to physically existing data by filtering Segments / Records by time range.

  • DeriveSegment perform additional computation by rearranging / aggregating existing data to meet the use case needs.

Since Operations may operate in many Segments, we decided to model them directly on the entry point of the time series Submodel. This additionally simplifies access since no navigation to child elements is required. Implementations should hide the complexity of combining data from different source aka. Segment types (Internal, Linked, External).

This approach enables I4.0 applications to access Time Series Data interoperably, regardless of storage location and format. However, the mapping and access must be programmed in the AAS for this (see Figure 10).

Figure 11
Figure 11. Data access with operations
Table 11. Outlook on Submodel Template TimeSeries with Operations

idShort:

TimeSeries

Class:

Submodel

semanticId:

[IRI] https://admin-shell.io/idta/TimeSeries/1/1

Parent:

Explanation:

@de: Enthält Zeitreihendaten und Referenzen auf Zeitreihendaten, um diese entlang des Asset Lebenszyklus aufzufinden und semantisch zu beschreiben.

@en: Contains time series data and references to time series data to discover and semantically describe them along the asset lifecycle.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[SMC] Metadata

[IRI] https://admin-shell.io/idta/TimeSeries/Metadata/1/1 preferredName @de: Zeitreihen Metadaten

preferredName @en: time series metadata

definition @de: Eine Reihe von Daten, welche die Zeitreihe beschreiben und über sie Auskunft geben

definition @en: A set of data describing and providing information about the time series

n/a

1

[SMC] Segments

[IRI] https://admin-shell.io/idta/TimeSeries/Segments/1/1 preferredName @de: Zeitreihensegmente

preferredName @en: time series segments

definition @de: Enthält Segmente einer Zeitreihe

definition @en: Contains segments of a time series

n/a

1

[Opr] DeriveSegments

[IRI] https://admin-shell.io/idta/TimeSeries/DeriveSegments/1/1

Computes a Segment containig all the Records from all Segments of the given timespan. Optionally, the Records can be aggregated in different ways to reduce the amount of data.

n/a

0..1

[Opr] ReadRecords

[IRI] https://admin-shell.io/idta/TimeSeries/ReadRecords/1/1

n/a

0..1

[Opr] ReadSegments

[IRI] https://admin-shell.io/idta/TimeSeries/ReadSegments/1/1

n/a

0..1

Table 12. Outlook on Submodel Template TimeSeries with Operations

idShort:

DeriveSegment

Class:

Operation

semanticId:

[IRI] https://admin-shell.io/idta/TimeSeries/DeriveSegment/1/1

Parent:

Submodel TimeSeries

Explanation:

@de: Berechnet ein Segment, das alle Datensätze aus allen Segmenten der angegebenen Zeitspanne enthält. Optional können die Datensätze auf verschiedene Arten aggregiert werden, um die Datenmenge zu reduzieren.

@en: Computes a Segment containig all the Records from all Segments of the given timespan. Optionally, the Records can be aggregated in different ways to reduce the amount of data.

[Variable kind / Variable value type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[IN / Range] Timespan

[IRI] https://admin-shell.io/idta/TimeSeries/Timespan/1/1

preferredName @de: Zeitspanne

preferredName @en: Timespan

@de: Der valueType der übergebenen Zeitspanne muss mit dem valueType der Time Properties der Segemente übereinstimmen.

@en: The valueType of the given timespan must match the valueType of the time properties of the segments.

n/a

1

[IN / Property] SamplingInterval

[IRI] https://admin-shell.io/idta/TimeSeries/Segment/SamplingInterval/1/1

Note: A different semantic ID is to be used to select the appropriate scale and format (eg. min, s, ms, Hz, …).

preferredName @de: Abtastintervall

preferredName @en: Sampling Interval

definition @de: Der zeitliche Abstand zwischen zwei Datenpunkten (Länge eines Zyklus).

definition @en: The time period between two time series records (Length of cycle).

long

5 Hz

0..1

[IN / Property] AggregationMethod

[IRI] https://admin-shell.io/idta/TimeSeries/AggregationMethod/1/1

@de: Methode zur Aggregation der Daten. Muss zusammen mit SampleInterval übergeben werden.

@en: Method to aggregate data. Only valid in combination with SamplingInterval.

Value List:

- Max (Selects the largest data points) - Min (Selects the smallest data points) - Avg (Averages the data points) - Sum (Adds the data points together) - Count (The number of raw data points in the set)

Note – for documentation and further value lists see http://opentsdb.net/docs/build/html/user_guide/query/aggregators.html

n/a

0..1

[OUT / SMC] Segment

[IRI] https://admin-shell.io/idta/TimeSeries/Segments/InternalSegment/1/1

Note – Record IDs must be unique across segments.

n/a

1

Table 13. Outlook on Submodel Template TimeSeries with Operations

idShort:

ReadRecords

Class:

Operation

semanticId:

[IRI] https://admin-shell.io/idta/TimeSeries/ReadRecords/1/1

Parent:

Submodel TimeSeries

Explanation:

@de: Liefert alle Records über alle Segmente, die innerhalb der übergebenen Zeitspanne liegen. Etwaige Unterschiede bzgl. Abtastrate, Zeitintervallen, etc. werden nicht berücksichtigt.

@en: Returns all records of all segments that are within the given time span. Any differences in sampling rate, time intervals, etc. are not considered.

[Variable kind / Variable value type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[IN / Range] Timespan

[IRI] https://admin-shell.io/idta/TimeSeries/Timespan/1/1

preferredName @de: Zeitspanne

preferredName @en: Timespan

@de: Der valueType der übergebenen Zeitspanne muss mit dem valueType der Time Properties der Records übereinstimmen.

@en: The valueType of the given timespan must match the valueType of the time properties of the Records.

n/a

1

[OUT] Records

[IRI] https://admin-shell.io/idta/TimeSeries/Records/1/1

@de: Records, die innerhalb der übergebenen Zeitspanne liegen.

@en: Segments that overlap with the passed period.

n/a

0..*

Table 14. Outlook on Submodel Template TimeSeries with Operations

idShort:

ReadSegments

Class:

Operation

semanticId:

[IRI] https://admin-shell.io/idta/TimeSeries/ReadSegments/1/1

Parent:

Submodel TimeSeries

Explanation:

@de: Liefert alle Segmente, deren Zeitspanne sich mit der übergebenen Periode überschneiden, ohne die enthaltenen Records zu filtern. Getroffene Segmente werden komplett zurückgegeben.

@en: Returns all segments whose timespan overlaps the given period without filtering the records contained. Hit segments are returned in full.

[Variable kind / Variable value type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[IN / Range] Timespan

[IRI] https://admin-shell.io/idta/TimeSeries/Timespan/1/1

preferredName @de: Zeitspanne

preferredName @en: Timespan

@de: Der valueType der übergebenen Zeitspanne muss mit dem valueType der Time Properties der Segemente übereinstimmen.

@en: The valueType of the given timespan must match the valueType of the time properties of the Segments.

n/a

1

[OUT / SMC] Segments

[IRI] https://admin-shell.io/idta/TimeSeries/Segments/1/1

preferredName @de: Segments

preferredName @en: Segments

@de: Enthält Segmente, die sich zumindest teilweise mit der übergebenen Periode überschneiden.

@en: Contains segments that at least partially overlap with the passed period.

n/a

0..*

Annex A. Explanations on used table formats

1. General

The used tables in this document try to outline information as concise as possible. They do not convey all information on Submodels and SubmodelElements. For this purpose, the definitive definitions are given by a separate file in form of an AASX file of the Submodel template and its elements.

2. Tables on Submodels and SubmodelElements

For clarity and brevity, a set of rules is used for the tables for describing Submodels and SubmodelElements.

  • The tables follow in principle the same conventions as in [5].

  • The table heads abbreviate 'cardinality' with 'card'.

  • The tables often place two informations in different rows of the same table cell. In this case, the first information is marked out by sharp brackets [] form the second information. A special case are the semanticIds, which are marked out by the format: (type)(local)[idType]value.

  • The types of SubmodelElements are abbreviated:

SME type SubmodelElement type

Property

Property

MLP

MultiLanguageProperty

Range

Range

File

File

Blob

Blob

Ref

ReferenceElement

Rel

RelationshipElement

SMC

SubmodelElementCollection

  • If an idShort ends with '_00_', this indicates a suffix of the respective length (here: 2) of decimal digits, in order to make the idShort unique. A different idShort might be choosen, as long as it is unique in the parent’s context.

  • The Keys of semanticId in the main section feature only idType and value, such as: https://admin-shell.io/vdi/2770/1/0/DocumentId/Id. The attribute "type" (typically "ConceptDescription" and "(local)" or "GlobalReference") need to be set accordingly; see [6].

  • If a table does not contain a column with "parent" heading, all represented attributes share the same parent. This parent is denoted in the head of the table.

  • Multi-language strings are represented by the text value, followed by '@'-character and the ISO 639 language code: example@EN.

  • The [valueType] is only given for Properties.

Bibliography

[1]

“Recommendations for implementing the strategic initiative INDUSTRIE 4.0”, acatech, April 2013. [Online]. Available https://www.acatech.de/Publikation/recommendations-for-implementing-the-strategic-initiative-industrie-4-0-final-report-of-the-industrie-4-0-working-group/

[2]

“Implementation Strategy Industrie 4.0: Report on the results of the Industrie 4.0 Platform”; BITKOM e.V. / VDMA e.V., /ZVEI e.V., April 2015. [Online]. Available: https://www.bitkom.org/noindex/Publikationen/2016/Sonstiges/Implementation-Strategy-Industrie-40/2016-01-Implementation-Strategy-Industrie40.pdf

[3]

“The Structure of the Administration Shell: TRILATERAL PERSPECTIVES from France, Italy and Germany”, March 2018, [Online]. Available: https://www.plattform-i40.de/I40/Redaktion/EN/Downloads/Publikation/hm-2018-trilaterale-coop.html

[4]

“Beispiele zur Verwaltungsschale der Industrie 4.0-Komponente – Basisteil (German)”; ZVEI e.V., Whitepaper, November 2016. [Online]. Available: https://www.zvei.org/presse-medien/publikationen/beispiele-zur-verwaltungsschale-der-industrie-40-komponente-basisteil/

[5]

“Verwaltungsschale in der Praxis. Wie definiere ich Teilmodelle, beispielhafte Teilmodelle und Interaktion zwischen Verwaltungsschalen (in German)”, Version 1.0, April 2019, Plattform Industrie 4.0 in Kooperation mit VDE GMA Fachausschuss 7.20, Federal Ministry for Economic Affairs and Energy (BMWi), Available: https://www.plattform-i40.de/PI40/Redaktion/DE/Downloads/Publikation/2019-verwaltungsschale-in-der-praxis.html

[6]

IDTA 01001-3-0: “Specification of the Asset Administration Shell; Part 1 (Version 3.0)”, March 2023, [Online]. Available: https://industrialdigitaltwin.org/wp-content/uploads/2023/06/IDTA-01001-3-0_SpecificationAssetAdministrationShell_Part1_Metamodel.pdf

[7]

“Semantic interoperability: challenges in the digital transformation age”; IEC, International Electronical Commission; 2019. [Online]. Available: https://basecamp.iec.ch/download/iec-white-paper-semantic-interoperability-challenges-in-the-digital-transformation-age-en/

[8]

Common terms and abbreviations according to VDI FA 7.21 Wiki; Available: http://i40.iosb.fraunhofer.de/

[9]

United States: US Code of Federal regulations, see https://www.ecfr.gov/current/title-22/chapter-I/subchapter-M/part-120/subpart-C/section-120.42