System and method for interoperable communication between entities having different structures
The interoperability problem caused by format differences between real-world entities is solved by automatically generating digital twin maps, and robust communication and cross-platform data exchange are achieved, which simplifies the adjustment of format changes.
Patent Information
- Application Number
- CN202080020540.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-11
- Filing Date
- 2020-03-11
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-03-11
AI Technical Summary
In the prior art, digital twin format mapping between real-world entities needs to be created manually, error-prone and inconvenient for interoperability, especially in data exchange between multiple IoT platforms, the lack of standards leads to cross-platform interoperability. obstacle.
Create mappings between digital twins through an automatic generation process, use the analyzer module to evaluate predefined sets of mapping strategies, select appropriate mapping strategies to generate target data models, thereby enabling robust communication between digital representations and when format changes Make simple adjustments.
Achieve robust interoperable communication between digital twins, reduces mapping errors, allows reliable data exchange between real-world entities of different formats, and makes simple adjustments when format changes, improving cross-platform data-intensive use cases Interoperability.
Smart Images

Figure CN113557505B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to electronic data processing and, more particularly, to methods, computer program products, and systems for interoperable communications between real-world entities. Background Art
[0002] In the process of digital transformation, many real-world entities (such as, for example, companies, factories, cities, etc.) have digital representations that are often referred to as digital twins. This digital representation is a virtual entity that replicates the data, structure, and functionality associated with the real-world entity (and sometimes other related real-world entities). There may be multiple digital twins of a real-world entity, each covering certain aspects of the real-world entity. Typically, multiple real-world entities use digital twins in their own (proprietary) formats. If such real-world entities want to exchange digital data, they need to be able to map their own digital twin formats to those of other real-world entities that are desired communication partners.
[0003] Until now, creating such mapping rules has been a manual task that requires engineers to have a good understanding of the source and target formats. As a result, creating such mappings is tedious and error-prone. Errors in the mappings are an obstacle to interoperable communication between real-world entities. Summary of the invention
[0004] Therefore, it is necessary to provide a system and method for interoperable data exchange between two real-world entities through a communication network, which use digital representations in different formats to allow robust interoperable communication between real-world entities. Therefore, data exchange is defined as the process of obtaining data structured in a source mode and transforming it into data structured in a target mode so that the target data is an accurate representation of the source data. Data exchange allows data to be shared between different computer programs. Different formats can differ in the syntax of the corresponding data model or the semantics of the corresponding data model, or in syntax and semantics. The embodiment of the present invention as disclosed in the independent claim solves the technical problem by generating the required mapping using an automatic generation process. As a result, the mapping between digital representations (digital twins) becomes less error-prone, thereby achieving more stable (robust) communication between real-world entities. In some embodiments, the generated mapping can be stored in a corresponding separate mapping model, thereby allowing users with specific domain knowledge to subsequently customize the mapping. Therefore, the separate mapping model completely separates the customization step from the real-world entity with a proprietary format, especially when the source format and the target format change over time.
[0005] Many real-world entities (e.g., automation companies) have so-called Internet of Things (IoT) platforms. For example, such platforms provide information models to store and access information about the characteristics and behaviors of devices in automation systems. Such information models can be used to define digital twins of devices for desired use cases. Typically, each IoT platform uses its proprietary format to describe the information model of the digital twin. In other words, each digital representation uses a data model defined in its own proprietary format, providing the flexibility to describe information about the device in a separate manner for the corresponding real-world entity, for example, customized for the use case of the corresponding entity. However, this also hinders interoperability across multiple IoT platforms and is therefore an obstacle to advanced cross-entity data-intensive use cases that improve the performance and / or reliability of devices. An example use case is predictive maintenance, which merges information from devices running at a first entity and engineering details available at a site of a second entity.
[0006] For robust interoperable communication, it is advantageous to share at least parts of the digital twin between different entities for this purpose. For example, each company needs to be able to understand and handle the proprietary formats of other companies. Since there are currently no available standards, each company tries to map its digital twin to another (e.g., commonly agreed) format that the target company can use with. Creating such mapping rules is typically a manual task that requires engineers to have a good understanding of the source and target formats, which makes it prone to errors, especially when a large number of different data objects are involved. Furthermore, whenever the source or target format changes, engineers have to manually adjust the mapping, which is another error-prone process.
[0007] The embodiments according to the independent claims propose a way to automatically create a mapping required to transform a digital representation of a real-world entity (digital twin) from its proprietary format to the format of another real-world entity to achieve interoperability through a generative process. This approach can also be used in digital twins where there are multiple standard definitions to perform transformations from one standard to another.
[0008] In one embodiment, a computer-implemented method for interoperable data exchange between a first real-world entity and a second real-world entity is provided. Both real-world entities are connected to the same communication network. The first real-world entity and the second real-world entity have corresponding first digital representations and second digital representations. Each digital representation is a virtual entity that replicates data, structure, and functionality associated with the real-world entity in the real-world entity. That is, the digital representation of the real-world entity may also include data originating from other real-world entities. The first digital representation and the second digital representation have different formats (i.e., the data models used by the digital representations are different). The method described below is performed by the second real-world entity. That is, the method is described from the perspective of one of the communication partners.
[0009] The second real-world entity has an interface for receiving a request to provide data of the second digital representation to the first digital representation. For example, the request may be associated with a data request of an application that queries the digital representation of the first real-world entity to provide data originating from the second real-world entity. In another embodiment, the request may be triggered at runtime by a change in the data value of the second digital representation. In this context, at runtime refers to a time during which a real-world component is operated and generates data that causes the data value in the second digital representation to change.
[0010] An analyzer module for the second real-world entity evaluates a set of predefined mapping strategies. Thus, each mapping strategy is associated with a target model template. The target model template indicates the structure and semantics of a target data model into which a corresponding source data model can be transformed by a corresponding mapping strategy. The analyzer determines a mapping similarity metric for each mapping strategy based on the structural and semantic similarities between the corresponding data models of the first digital representation and the second digital representation and the corresponding target model template. In more detail, each mapping strategy is associated with a set of mapping rules that reflect potential target data models that can be generated using the rules. For each mapping strategy, a corresponding mapping rule is applied to one or more source data models of the second representation, thereby generating a corresponding target model template.
[0011] The similarity module determines a similarity measure for each target model template by evaluating the structure and semantics of the corresponding target model template using the structure of the one or more data models of the first digital representation (i.e., the expected structure to which the data model needs to be mapped) and semantics. After this evaluation step, the analyzer can provide information on which of the mapping strategies may result in a mapping that allows exchanging data so as to minimize errors and information losses.
[0012] In one embodiment, the analyzer can determine partial similarity measures of different sub-models of the data model. For example, a specific mapping strategy may result in a higher similarity measure for a subset of sub-models. However, this specific mapping strategy may not be applicable to other sub-models at all. In this case, the analyzer can generate multiple target model templates for different sub-models, each of which is based on the rules of different mapping strategies. The determined mapping similarity measure provides a quantitative measure of the similarity between the metadata of the structure and / or characteristics of one or more data models of the first digital representation and the second digital representation and the corresponding target model template, and thus provides a measure of the applicability of the corresponding mapping strategy to generate an appropriate mapping for the desired model transformation. The data model has a specific structure, and the leaves of the model structure have metadata, such as, for example, the name of the leaf element, the unit of measurement, the semantic annotation, etc. The similarity measure can be determined based on the similarity of the structure of the corresponding data model alone, based on the similarity of certain metadata of the characteristics (leaves) alone, or based on a combination thereof, according to the corresponding mapping strategy to be evaluated. The mapping module of the second real-world entity generates a mapping between the format of the first digital representation and the format of the second digital representation. To generate the mapping, the mapping module selects at least one mapping strategy from a predefined set of mapping strategies based on a previously determined mapping similarity measure. The predefined set of mapping strategies may be part of the mapping module, or may be stored in a second real-world entity, or may even be stored externally on a remote data storage device that is accessible via the digitally represented interface.
[0013] The predefined mapping strategy set includes at least two strategies from the following strategies:
[0014] - A structure preserving mapping strategy, suitable for generating a mapping when the structure of the first digital representation is similar to the structure of the second digital representation, the structure of the second digital representation being similar to the corresponding mapping model template of the mapping strategy. For example, the structure preserving mapping strategy may be selected when the structure of the first digital representation contains the same number of models resulting in a high structural similarity score, and when leaves of the source model have a corresponding relationship in the leaves of the target model template. If the models contain even the same number of leaves, an even higher structural similarity score may be determined, resulting in the selection of this strategy.
[0015] - A minimization mapping strategy adapted to generate a mapping of the second digital representation data models to a minimum number of first digital representation data models. For example, if the structure of the target digital representation has a minimum number of models (e.g., only one model), this strategy may be selected according to its target model template to aggregate all features from multiple models of the second digital representation into a single model of the first digital representation without any additional structure.
[0016] - A maximizing mapping strategy, adapted to generate a mapping of the second digital representation data model to a maximum number of first digital representation data models. This strategy is a strategy corresponding to the previous strategy, in that the structure of the target digital representation has a maximum number of models (e.g., one model per model leaf). That is, according to the target model template of the mapping strategy, each leaf element of the second digital representation model is mapped to a separate model of the first digital representation.
[0017] - a name-based heuristic mapping strategy adapted to generate a mapping to the first digital representation based on domain-specific, customizable heuristics about the naming of elements in the second digital representation. To select this strategy, similarities between model elements are detected at the metadata level of the model properties. For example, source model elements that start with the same character sequence can be mapped to corresponding target models. Based on these similarities, a target model template can be created and used to evaluate a mapping similarity measure between the target model template and the first digital representation.
[0018] - a semantic reference based mapping strategy adapted to generate a mapping to the first digital representation based on a heuristic regarding semantic references assignable to elements in the second digital representation. To evaluate the strategy, an analyzer identifies similarities between model elements based on semantic references of annotated model elements. Such annotations point to a classification that allows grouping similar source model elements into respective target models according to corresponding target model templates.
[0019] Those skilled in the art may add other mapping strategies to the predefined mapping strategy set.
[0020] The mapping module performs mapping at the instance level of mapping by executing the selected mapping strategy. That is, one or more source data models associated with the request data of the second digital representation are correspondingly mapped to the corresponding one or more target data models of the first digital representation.
[0021] After the mapping is generated according to the selected policy, the request data is provided to the first real-world entity via the mapping in the format of the first digital representation.
[0022] The analysis and generation steps of the disclosed method can be iteratively repeated to subsequently try multiple mapping strategies until a mapping strategy that produces the best mapping between the source format and the target format is identified. The best mapping is defined by showing the highest correspondence between the source model and the target model. In one embodiment, the pre-defined mapping strategies are part of a knowledge base, and after each mapping generation, the knowledge base is optimized by using a machine learning method that incorporates mapping knowledge learned from previously generated mappings. The optimized knowledge base facilitates the selection of the best mapping strategy when the mapping situation corresponds to a situation that has been learned earlier.
[0023] In one embodiment, the mapping is retained in a separate mapping model that is independent of the different formats used for the digital representation. If a change in the format of the first digital identifier or the second digital representation is detected, the retained mapping can be adjusted. In other words, the separate mapping model decouples the source (original) digital representation and the target (transformed) digital representation, thereby allowing simple adjustments in the event that the source format and / or the target format evolve.
[0024] In one embodiment, custom input may be received for the persisted mapping, and the persisted mapping may be adjusted according to the custom input. This allows the persisted mapping to be enhanced later with specific domain knowledge.
[0025] In one embodiment, the generated mapping may be bi-directional and suitable for application to an export request from a first digital representation to push data of the first digital representation to a second digital representation.
[0026] In one embodiment, a request is received from a first digital representation as a request for the first digital representation to import data from a second digital representation into the first digital representation. This embodiment can be viewed as a pull model, where a first entity asks a second entity for specific data.
[0027] In another embodiment, the request may be triggered at runtime by a change in the data value of the second digital representation. This may result in the mapping being automatically re-executed in accordance with the change. The second digital representation may then notify the first digital representation of the change and provide the corresponding updated data. This embodiment may be viewed as a push mode, where the second entity learns of the data that the first entity is interested in and automatically provides notification of any changes to the data that the first entity had earlier "subscribed" to by initiating a corresponding request.
[0028] In one embodiment, a computer program product is provided with instructions which, when loaded into a memory of a computing device and executed by at least one processor of the computing device, perform the method steps of the computer-implemented method according to any of the preceding claims. For example, the computer program is loaded into a memory component of a second real-world entity and executed by one or more processors of said entity.
[0029] In one embodiment, a computer system is provided for interoperable data exchange between a first real-world entity and a second real-world entity. Both real-world entities are connected to the same communication network. The first real-world entity and the second real-world entity have a first digital representation and a second digital representation, respectively. Each digital representation is a virtual entity that replicates data, structure, and functionality associated with either of the real-world entities. The first digital representation and the second digital representation have different formats.
[0030] The computer system includes an interface for receiving a request to provide data of a second digital representation to a first digital representation and providing the requested data to a first real-world entity in a format of the first digital representation via a mapping.
[0031] Further, an analyzer module of the system determines a similarity measure between metadata of the structure and / or characteristics of one or more data models of the first digital representation and metadata of the structure and / or characteristics of one or more data models of the second digital representation by applying the similarity measure to the data models.
[0032] The mapping module of the system generates a mapping between the format of the first digital representation and the format of the second digital representation. To do this, it first selects a mapping strategy from a predefined set of mapping strategies based on a similarity measure. Second, it maps one or more data models associated with the request data of the second digital representation to the corresponding one or more data models of the first digital representation by executing the selected mapping strategy.
[0033] The computer system is also configured to perform the functions as disclosed in the context of the disclosed methods.
[0034] Other aspects of the invention are realized and attained by means of the elements and combinations particularly described in the appended claims.It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention described. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 A block diagram including a computer system for interoperable data exchange between two real-world entities according to an embodiment;
[0036] Figure 2 is a simplified flow chart of a computer-implemented method for interoperable data exchange between two real-world entities, according to an embodiment;
[0037] Figure 3A and Figure 3B illustrates an example of a detailed implementation for exchanging data between two entities according to various embodiments;
[0038] Figure 4 is a simplified flow chart of steps for generating a mapping between different formats of two real-world entities according to an embodiment;
[0039] FIG. 5A to FIG. 5E illustrates concepts of various mapping strategy examples according to various embodiments;
[0040] FIG. 6A to FIG. 6D Specific mapping examples using various mapping strategies are illustrated;
[0041] Figure 7 is a diagram illustrating examples of a general purpose computer device and a general purpose mobile computer device that may be used with the techniques described herein. DETAILED DESCRIPTION
[0042] Figure 1 10 is a block diagram of an example embodiment including a computer system 100 for interoperable data exchange between a first real-world entity 101 and a second real-world entity 102 . Figure 2 is a simplified flow chart of a computer-implemented method 1000 for interoperable data exchange between two real-world entities, according to an embodiment. Figure 2 The method 1000 is performed by a computer system 100 associated with a second real-world entity 102. Figure 1 The description refers to Figure 2 To this end, in the following description, reference is made to Figure 1 and Figure 2 's reference numerals.
[0043] Both real-world entities are connected to the same communication network. For example, the real-world entities may be two companies, each of which operates its own intranet. Communication between real-world entities is usually carried out via a wide area network such as the Internet. Communication within such real-world entities can be based on proprietary data models and / or proprietary communication protocols, which are referred to herein as proprietary formats of such real-world entities. The first real-world entity and the second real-world entity have a first digital representation 111 and a second digital representation 112, respectively. Such digital representations are usually referred to as digital twins of entities because they are virtual entities that replicate the data, structure, and functions associated with any of the real-world entities 101 and 102. It should be noted that a real-world entity may include multiple models that may cover different aspects of the entity, such as, for example, operational data, engineering data, etc. Digital twins of different real-world entities usually have different formats F1, F2 because each entity uses its own (usually, proprietary) data model and communication protocol. In the following, the term "entity" is used as an abbreviation for the term real-world entity.
[0044] In this example, the first entity 101 receives a query from an application 200. The application 200 may be any application that is interested in receiving data provided by the first entity and / or the second entity. For example, the application 200 may be an application that manages the maintenance of certain devices (e.g., DEV1) operating within the intranet of the second entity 102. The application may require actual operating data of the device and historical data associated with the device as input to a predictive maintenance algorithm. The first entity 101 may only have historical data available in its own digital representation 111, which can be sent directly to the application as a response to the query. However, the first entity does not have information about the actual device operating data of the device DEV1 operated by the second entity 102 in its own digital representation 111. The digital representation 112 can provide such current operating data D1 of the device DEV1. For example, the device DEV1 may be a device (e.g., a controller or sensor) of an automation system operated by the second entity 102 via an edge 122 on a private IoT platform. The device DEV1 can automatically push its actual operating data to the digital representation 112. Unfortunately, the format F2 of the digital representation 112 of the second entity 102 is different from the format of the first representation. Therefore, since the data model DM1 of the digital representation of the first entity 101 is different from the data model DM2 of the digital representation of the second entity, the second entity cannot understand any request R1 sent by the first entity 101 to the second entity 102 via the appropriate interface to the wide area network.
[0045] In order to be able to respond to the request R1, the second entity 102 must perform a corresponding mapping, which allows the data D1 to be mapped to the data D1 'to be transformed into a format that the first entity 101 can understand. The mapping function is performed by a computer system 100 associated with the second entity 102. In this example, the computer system 100 is shown as a component of the second entity. However, it should be noted that the system 100 can also be operated outside the physical intranet of the second entity (for example, through an external service provider in the form of a remote service). In the case where the computer system 100 is operated by the second entity 102 itself, the digital representation 112 is advantageously an integral part of the computer system 100. However, in the remote service scenario, the digital representation 112 is advantageously stored within the physical network of the second company 102, but the computer system 100 may access the digital representation via a corresponding interface.
[0046] Once the second entity 102 has received 1100 a request IR1 for data D1, which is provided by the second digital representation 112 to the first digital representation 111, the computer system 100 generates 1300 an appropriate mapping M1 to provide the requested data D1 to the first entity 101 via the mapping M1 in the format F1 of the first digital representation 111 (as data D1'). In more detail, the computer system 100 has an analyzer module 142 to evaluate 1200 a set of predefined mapping strategies 133 and ultimately select 1320 one or more appropriate mapping strategies to generate 1300 the mapping. Each mapping strategy 133 is associated with a target model template 133-T. The target model template describes a target model to which a source model can be mapped by a corresponding mapping strategy. A mapping similarity measure SM1 to SMn for each mapping strategy 133 is determined based on the structural and semantic similarity between the corresponding data models DM1, DM2 of the first digital representation and the second digital representation and the corresponding target model template 133.
[0047] In more detail, each mapping strategy 133 is associated with a set of mapping rules that reflect potential target data models that can be generated using said rules. Such mapping rules are now applied to one or more source data models DM2 of the second entity 102. That is, for each mapping strategy 133, a corresponding mapping rule is applied to one or more data models DM2 of the second representation 112, which are related to the request data D1, thereby generating a corresponding target model template 133-T for each mapping strategy. For some mapping strategies, when generating the target model template, the similarity of individual model elements of the data model DM1 of the first digital representation can be evaluated (for example, for example, for the similarity of the target model template as described later in Figure 5D , evaluating their names). Such similarity between data elements can be expressed as an element similarity measure.
[0048] The similarity module SM determines the similarity measures SM1 to SMn (i.e., the values representing the similarity) of each target model template by evaluating the structure and semantics of the corresponding target model template (i.e., the expected structure to which the one or more data models DM2 need to be mapped) and the semantics using the structure and semantics of the one or more data models DM1 represented by the first digit. After this evaluation step, the analyzer 142 can provide information about the following mapping strategies, i.e., which mapping strategies can result in a mapping that allows the data D1 to be exchanged without any error or loss. Multiple mapping strategies may result in the same similarity measure. In this case, the computer system can determine any one of such strategies.
[0049] The analyzer may also determine partial similarity measures for different sub-models of the data models DM1, DM2. That is, DM2 may include multiple sub-models for which a specific mapping strategy results in a high similarity measure. However, this specific mapping strategy may not be applicable to other sub-models of DM2 at all. In this case, the analyzer may generate multiple target model templates for different sub-models, each of which is based on the rules of a different mapping strategy. That is, the analyzer may try various mapping strategies for different sub-models, which may produce a higher similarity measure than applying a single mapping strategy to the entire data model DM2.
[0050] The decision about which mapping strategies to use for the computer system 100 is ultimately made by the mapping module 132. The mapping module 132 generates a mapping M1 between the formats F1 and F2. First, the mapping module selects at least one mapping strategy from a predefined mapping strategy set 133 based on the determined similarity metrics SM1 to SMn. In a simple example, the analyzer provides a set of similarity metrics, in which one of the metrics clearly indicates the maximum value of a particular mapping strategy. In this case, the mapping module simply selects the strategy associated with the highest similarity metric. In the case where multiple strategies are evaluated with the same high similarity metric, the mapping module can simply select any of these strategies because they appear to be equally suitable for mapping generation. In the case where the analyzer provides multiple similarity metrics for various sub-models, where such similarity metrics involve different mapping strategies for one or more of the same source models, the mapping module selects multiple mapping strategies. In general, the mapping strategy is selected 1320 by the mapping module so that the overall similarity of the mapping between the source model and the target model is maximized. In other words, the mapping strategy that causes the model element to have the highest similarity with the target model is selected by the mapping module. Once one or more mapping strategies are selected, the mapping module 132 maps 1340 one or more data models DM2 associated with the request data D1 of the second digital representation 112 to the corresponding one or more data models DM1 of the first digital representation by executing the one or more selected mapping strategies. In other words, the actual mapping between the data models is performed at the model element instance level. This final mapping 1340 allows the definition of mapping links between the model elements of DM1 and DM2. Once the mapping is generated, the computer system 100 can provide the transformed data D1 'in the format F1 of the first representation to provide 1400 the request data D1 to the first entity in a format understood by the first representation 111.
[0051] The first representation now has all the data needed to respond to the query application 200. Figure 1The scenario disclosed in the context of is explained only in that a request R1 is sent by the first entity in response to an application query. Other embodiments are possible, such as e.g. Figure 3B , wherein the request is actually triggered by the second entity itself in response to detecting a change in the structure or data of the second representation 112. The disclosed mechanism allows two real-world entities with different formats to exchange data without any human interaction. Due to the flexible selection of mapping strategies for dynamically generated response mappings that quickly take into account the actual data models of the different formats, the data exchange is reliable and robust (i.e., the possibility of data exchange errors is low).
[0052] Figure 3A A specific embodiment 301 with two companies A and B as real-world entities is illustrated, which exchange data between digital twins (i.e., their respective digital representations) representing their respective IoT platforms. Each company operates its own IoT platform. In company A, devices are connected to the IoT platform via edge nodes to provide device-specific data for company A's digital twin. In general, the purpose of edge computing is to bring intelligence, analysis, computing, communication, etc. very close and increasingly into other more powerful and smaller devices such as programmable logic controllers and edges, and after analysis, etc., into appropriate systems or clouds. Device data can be static data, such as, for example, serial number or device type, and can also include operational data, such as sensor values or other technical parameter values reflecting the internal state of the device. Company B can run various application systems, such as, for example, engineering systems and maintenance systems linked to company B's IoT platform. The engineering system can provide engineering data related to company A's equipment to company B's digital twin via an engineering server. Similarly, the maintenance application of the maintenance system can provide data associated with the maintenance of the equipment. For example, by enabling data exchange between Company A’s and Company B’s digital twins, the data available in the content of Company B’s digital twin can be automatically enriched with operational equipment data provided by Company A’s digital twin, even though the two digital twins use different formats.
[0053] Figure 3B A push scenario 302 is illustrated in which company A can actively push data from its own original digital twin to company B to update company B's digital twin. Figure 1 and Figure 3A However, in this embodiment, the IoT platform of company A has a monitoring module that is configured to detect changes in the structure or data values of the data model DM* relative to its original digital twin. In this push embodiment, the request that triggers the mapping and transformation steps (see Figure 1The request R1) is not received from company B, but is initiated by the monitoring module when such a change is detected. It is assumed that the mapping between A's original digital twin and B's digital twin is retained in A's IoT platform as a separate mapping model independent of the format of the two digital twins. In the event that a change is detected in the structure of company A's original twin, the retained mapping model is adjusted, which has been applied to the mapping rules of the original digital twin. It should be noted that the monitoring module can also be configured to receive such changes in B's digital twin via a corresponding interface. In this case, the mapping request may also be triggered by detecting a structural change in B. For example, the adjustment of the mapping rules may be driven by an artificial intelligence component AI, which is configured to learn new mappings over time when changes occur. This knowledge can then be applied to adjust the previously retained model rules according to the detected changes.
[0054] In an alternative embodiment, the mapping can be adjusted, for example, via a human-machine interface of Company A's IoT platform, by receiving customized input for the stored mapping model, which allows the user to edit and adjust the stored mapping, for example based on corresponding domain knowledge.
[0055] The adjusted mapping is interpreted 2 by the analyzer and applied 3 to the digital twin of Company A (i.e., the second representation) to generate an adjusted target model template, and to redetermine the corresponding similarity measure. The mapping module can then select one or more mapping strategies again based on the redetermined similarity measure, ultimately completing 4 as shown in FIG. Figure 1 The data of company A's digital twin is now available in a format that is compatible with company B's digital twin and can be provided to company B for update in a push operation 5, regardless of whether company A or B undergoes structural changes.
[0056] Alternatively or in addition to detecting structural changes, the monitoring module can detect changes in data (i.e., values) provided by the device to company A's digital twin at runtime. In this case, the request may also be triggered by a value change. When a change in the data value is detected, there is no need to adjust the mapping rules. Instead, the existing mapping rules can be re-executed according to the changes, and when the updated data is provided to company B, company B's digital twin data changes are notified.
[0057] Figure 4Additional views 400 are provided regarding the steps leading to the generation of a mapping between the data models of two entities. Therefore, the steps within the dashed box are considered optional steps. As previously explained, generating a mapping begins with analyzing the data model of the digital twin, which provides input to the intended transformation, and the digital twin is the output (target) of the transformation. One or more mapping strategies are selected based on a pre-existing knowledge base that includes domain knowledge related to the two digital twins DT. The relevant mapping rules can be stored as templates for future mappings between the corresponding data models. Finally, the last strategy selected is executed, resulting in a transformed digital twin. Optionally, the computer system can allow a user to edit the mapping rules via a human-machine interface and augment such rules by adding manual rules, which can further improve the final mapping, thereby enhancing the transformed digital twin.
[0058] In the following FIG. 5A to FIG. 5E In the description of , various examples of mapping strategies are discussed, wherein the left side of the arrow symbolizing the corresponding format transformation illustrates one or more source data models of the second digital representation, and the right side of the arrow illustrates one or more target data models of the first digital representation. It should be noted that the predefined mapping strategy set includes at least two of the mapping strategies, and the mapping module ultimately selects one or more mapping strategies from the predefined mapping strategy set.
[0059] Figure 5A An example of a structure-preserving mapping strategy 501 is illustrated, which is suitable for generating a mapping according to a corresponding target model template when the structure of a first digital representation is similar to the structure of a second digital representation. When the analyzer module evaluates the structure-preserving strategy, the relevant mapping rules are applied to the source data model. In example 501, the source data model includes two sub-models, wherein the upper sub-model includes two leaf elements and the lower sub-model includes one leaf element. Therefore, a target model template is generated, as shown in the right figure, which fully retains the structure of one or more source data models. Then, the target model template is compared with the structure of one or more target models of the first entity (not shown here). If the structure of the generated target model template is similar to the structure of one or more target models, the structure-preserving strategy may be a good candidate for generating the expected mapping between the corresponding (digital twin) formats. However, in order to evaluate the degree of similarity, the analyzer also considers the semantics of the leaf elements. Even in the case of a perfect match at the structural level, if there is no similarity at the semantic leaf element level, it is also possible to determine only a low similarity measure. However, if there is also high similarity between the semantics of the leaf elements, the analyzer determines a high similarity metric for the strategy.
[0060] For example, a digital twin of a drive may include three models in the source data model (e.g., one model including operational data, one model containing links to documentation material, and one model describing maintenance data). This source model may be transformed into a digital twin target format, where the source model structure is maintained so that the target digital twin also contains exactly three models with the same content as the original digital twin. The way the source and target models and their content are modeled may differ depending on the concept of the target format. For example, different attributes may be used to describe the nature of the content.
[0061] Figure 5B An example of a minimization mapping strategy 502 is illustrated, which is suitable for generating a mapping of a second digital representation data model to a minimum number of first digital representation data models according to a corresponding target model template. Figure 5A The first representation is the same source data model as in the first representation. However, the format of the expected target model only includes a single sub-model with three leaves. That is, the format of the first representation includes the minimum number of models with a flat list of leaf elements. In order to evaluate the minimization strategy, the analyzer applies the mapping rules associated with the mapping strategy to one or more source data models and generates a target model template with only one sub-model and a flat list of leaf elements. The target model template is then compared again with the expected target model and a corresponding similarity measure is determined.
[0062] For example, a digital twin with a second representation consisting of three models needs to be transformed into a target digital twin with one model that aggregates all the features from the three source models without any additional structure. This strategy is useful in cases where, for example, the use case of the source digital twin is very different from that of the target digital twin. Typically, in such scenarios, the structure of the source digital twin does not add value to the target digital twin.
[0063] Figure 5C An example of a maximization mapping strategy 503 is shown, which is suitable for generating a mapping of a second digital representation data model to a maximum number of first digital representation data models according to a corresponding target model template. The maximization strategy 503 can be viewed as Figure 5B In example 503, the minimization strategy 502 is opposite to Figure 5AThe same source data model. However, the format of the expected target model includes a single sub-model for each leaf element. That is, the format of the first representation includes a maximum number of models corresponding to multiple leaf elements of one or more source data models. In order to evaluate the maximization strategy, the analyzer applies the mapping rules associated with the mapping strategy to one or more source data models and generates a target model template with as many sub-models as leaf elements. The target model template is then compared again with the expected target model and a corresponding similarity measure is determined.
[0064] This strategy may be useful, for example, in cases where the target digital twin is used as the basis for many models foreseen by engineers. Typically, mappings generated based on a maximization mapping strategy require further customization at a later stage of the mapping process, either by the user or by a machine learning algorithm.
[0065] Figure 5D An example of a name-based heuristic mapping strategy 504 is illustrated, which is suitable for generating a mapping to a first digital representation according to a corresponding target model template based on a domain-specific, customizable heuristic about the naming of elements in a second digital representation. In example 504, the mapping rules for generating the target model template analyze the source model with respect to leaf model elements, which are related to element naming. For example, there are two model leaf elements, which include "a.". The mapping rules implement the following assumption: leaf elements that show such name-based similarities can be grouped into corresponding sub-models of the target model template. In this example, sub-model "a" is generated using leaf element "a.". For a leaf element named "b." in the source model, a corresponding sub-model "b" with a corresponding leaf element "b." is generated in the target model template. In the next step, a similarity measure of the similarity between the generated target model template and one or more actual data models of the first digital representation is determined.
[0066] For example, there may be rules like "model elements of the source data model whose names begin with 'Motor*' are always assigned to the 'Motor' model of one or more target data models" or "source data model elements whose names contain the string '*Service*' are always mapped to the 'Maintenance Model'" or "source model elements named 'Serial Number' are always mapped to the 'Identification' model (if present). Different sets of such rules can be added to the mapping rules as custom input received from engineers and then loaded into the mapping module at runtime.
[0067] Figure 5EAn example of a mapping strategy 505 based on semantic references is illustrated, which is suitable for generating a mapping to a first digital representation based on a heuristic about semantic references that can be assigned to elements in a second digital representation model according to a corresponding target model template. In other words, the target model template of the digital twin of the first entity is generated based on a heuristic about semantic references of model elements of one or more data models assigned to the second digital representation (i.e., the source digital representation). In example 505, the model element of the first sub-model has an annotation "x...". Further, the second leaf element of the sub-model has the same annotation "x...". The mapping rules associated with the mapping strategy generate a corresponding sub-model in the target model template, which groups all model elements annotated as "x...", wherein at least the structure of the source model is retained, because the model element (node) representing the sub-model also causes the sub-model node to stay in the target model template, and the model leaf element of the source model causes the model leaf element to stay in the target model template. Example 505 further illustrates a mapping rule for a mapping strategy based on semantic references, where a model leaf element of a source model is annotated with "y...", but there is no corresponding annotation for a sub-model element of the source model. In this case, the mapping rule generates a corresponding sub-model node with the annotation "y..." in the target model template, and groups all model leaf elements with the annotation "y..." under the sub-model. For example, model elements in the source model / target model can be annotated with a semantic reference that contains a link to a global dictionary (e.g., eClass), thereby attaching semantics to the elements. Based on these semantic references, the elements are grouped into corresponding sub-models of the target model template. Furthermore, the similarity between the generated target model template and the target digital twin (first representation) is determined.
[0068] Finally, after evaluating all mapping strategies available in the predefined set of mapping strategies, the system can select at least one of the evaluated strategies for the actual data transformation. Advantageously, the mapping strategy with the highest similarity measure is selected. In the event that multiple mapping strategies produce the same similarity measure value, any one of such strategies can be selected (e.g., randomly). Fig.6D An example of selecting a mix of mapping strategies is described in more detail in the context of .
[0069] Fig. 6AAn example 601 is illustrated in which a digital representation of a digital twin of a drive in the format of entity A is transformed into a digital twin of entity B in the format of entity B reflecting the drive. The source data model of A is shown above with an arrow 504 representing the selected mapping strategy (name-based heuristic mapping strategy). For example, the evaluation of mapping strategies is discussed only by looking at the structure-preserving strategy and the name-based heuristic mapping strategy. When the target model template is generated for the structure-preserving strategy, the "motor model" of the source data model is indeed mapped to the "motor model" of the target digital twin. However, for the remaining sub-models "engineering model" and "operation model", the target model template may not be similar to the target data model of B. Therefore, since only two-fifths of the model leaf elements of the source may be mapped to the corresponding elements of the target, the similarity measure may be less than 50%.
[0070] When the name-based strategy is evaluated, the mapping of "motor model" is almost as good as the mapping of the structure-preserving strategy. The corresponding mapping rule is to group all model elements that contain "motor" as part of their name into the corresponding "motor model" of the target. No common naming elements are found for the remaining leaf elements "serial number", "maximum frequency" and "voltage". The rules of the mapping strategy deal with this situation by grouping all elements without a common naming part into a sub-model "other". This sub-model is like a collector execution for all elements whose names do not have a common string with other names. The target model template generated based on this strategy has a very high (e.g., 100%) match with the data model of B's target digital twin. Therefore, the mapping module selects the name-based mapping strategy 504 and performs a mapping for transforming the source format into the target format. More generally, similarity metrics can be calculated by different algorithms and different implementations. The common feature of these algorithms is that they compare two elements or two (structured) element groups based on the characteristics of the elements (e.g., name, position within the structure, other types of metadata), and determine an ordinal score, e.g., a percentage value. The higher the similarity, the higher the score returned.
[0071] Figure 6BAn example 602 is illustrated in which a mapping strategy 505 based on semantic references is selected. When evaluating the structure-retaining strategy, the source format and the target format are indeed similar when only the pure structure of the models is compared. On both sides, there are three sub-models, two of which have two leaf elements and one has a single leaf element. However, when the semantics of the source model leaf elements and the target model leaf elements are now checked, there is no match at all. In other words, the grouping of the source model cannot be mapped to the grouping of the target model. Therefore, regardless of the initial similarity when viewing the model structure alone, the similarity measure of the structure-retaining strategy in this example may be very low, for example, "0", depending on how the similarity score is implemented. Those skilled in the art can calculate the similarity measure (i.e., a value or score reflecting the degree of similarity) in various ways. For example, the score can consider the percentage of all matching elements at the model element leaf level, or it can consider similarities related to parts of one or more data models.
[0072] In this example 602, some source model leaf elements have semantic annotations indicating references to some standard classifications. The annotation "0173-1#02-AAE229#004" for "maximum frequency" indicates that there is a reference to a model with the "AAE" classification. The same is true for the annotation "0173-1#02-AAE229#005" for "voltage". As a result, the mapping rules of the mapping strategy 505 based on semantic references group such model leaf elements into the "AAE model" of the target model template. Similarly, by evaluating the annotation "0173-1#02-AAG321#002" of the corresponding source leaf element using the corresponding mapping rule, the source leaf element "motor temperature" is assigned to the "AAG model" of the target model template. The corresponding mapping rules in this example analyze the semantic references of the string parts corresponding to the predefined target model. For example, such a predefined target model can be the target of a leaf element, where a portion of the semantic reference string indicates the association of the corresponding model element with a certain technical specification (e.g., AAE, AAG, etc.). Similar to the name-based mapping strategy, the semantic reference-based strategy source leaf elements without annotations can be grouped into the "Other" sub-model of the target model template. When the generated target model template is now compared with the format of B's digital twin, there is a 100% match (i.e., similarity measure = 1). That is, according to the two mapping strategies in question, the mapping module clearly selected the semantic reference-based mapping strategy that produced the highest similarity measure.
[0073] Figure 6C An example 603 is illustrated in which the maximization mapping strategy 503 is selected. The digital representation of source A (ie, the corresponding data model) is compared with Fig. 6AThe numbers in represent the same. Assuming that all other mapping strategies in the predefined mapping strategy set result in a very low similarity metric, the mapping rules of the maximization strategy can provide a fallback mapping strategy to be used as an intermediate step in model mapping between different digital twin formats. In example 603, each source leaf element is simply assigned to a separate sub-model in the target model template as a single target leaf element. This single model leaf element needs to be merged into the corresponding sub-model at a later point in time. The merging step can be performed in response to receiving a corresponding mapping input from a human domain expert, or can be performed by a machine learning algorithm, a custom application, or other appropriate rule set. If all other mapping strategies fail to generate a target model template with a similarity metric indicating substantial similarity with the target format of the digital twin of the target entity, the mapping module can select a maximization mapping strategy. In this case, a strategy is selected to generate an intermediate format B', which serves as the basis for further customizing mapping rules to improve future automated mappings, which can ultimately be used to map the source model to the data model of the target entity.
[0074] Fig.6D An example 604 is illustrated in which two mapping strategies are partially applied to generate a target model template by combining a maximization mapping strategy 503 with a second mapping strategy (e.g., structure-preserving mapping or name-based mapping 504). In the example 604, the evaluation of the name-based strategy results in a 100" similarity measure for the "motor model," while the overall similarity measure of the name-based strategy is lower (e.g., 40% because only two-fifths of the model leaf elements can be mapped). In this case, the mapping module can still select a mapping strategy for a portion of the digital twins that determine a high degree of similarity for one or more sub-models. For the remaining nodes, the maximization strategy 503 can be selected to generate an intermediate format B' as a basis for further customization, such as Figure 6C Explained.
[0075] Figure 7 is a diagram illustrating examples of a general purpose computer device 900 and a general purpose mobile computer device 950 that may be used with the techniques described herein. Computing device 900 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. General purpose computer device 900 may be used with Figure 1The computing device 950 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. For example, the computing device 950 can be used as a GUI front end for user-customized mapping rules. The components shown in this article, their connections and relationships, and their functions are only intended to be exemplary and are not meant to limit the implementation of the invention described and / or claimed in this document.
[0076] The computing device 900 includes a processor 902, a memory 904, a storage device 906, a high-speed interface 908 connected to the memory 904 and a high-speed expansion port 910, and a low-speed interface 912 connected to low-speed buses 914 and 910 and the storage device 906. Each of the components 902, 904, 906, 908, 910 and 912 is interconnected using various buses and can be installed on a common motherboard or otherwise, as appropriate. The processor 902 can process instructions for execution within the computing device 900, including instructions stored in the memory 904 or on the storage device 906 to display graphical information of a GUI on an external input / output device (such as a display 916 coupled to the high-speed interface 908). In other implementations, multiple processing units and / or multiple buses and multiple memories and memory types can be used, as appropriate. In addition, multiple computing devices 900 can be connected, each of which provides a portion of the necessary operations (for example, as a server group, a blade server group, or a processing device).
[0077] The memory 904 stores information within the computing device 900. In one implementation, the memory 904 is one or more volatile memory units. In another implementation, the memory 904 is one or more non-volatile memory units. The memory 904 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.
[0078] The storage device 906 can provide mass storage for the computing device 900. In one implementation, the storage device 906 can be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or a device array, which includes a device in a storage area network or other configuration. A computer program product can be tangibly embodied in an information carrier. The computer program product can also include instructions that, when executed, perform one or more methods, such as the methods described above. The information carrier is a computer-readable medium or a machine-readable medium, such as a memory 904, a storage device 906, or a memory on a processor 902.
[0079] The high-speed controller 908 manages bandwidth-intensive operations of the computing device 900, while the low-speed controller 912 manages less bandwidth-intensive operations. This functional allocation is exemplary only. In one implementation, the high-speed controller 908 is coupled to the memory 904, the display 916 (e.g., through a graphics processor or accelerator), and the high-speed expansion port 910, which can accept various expansion cards (not shown). In this implementation, the low-speed controller 912 is coupled to the storage device 906 and the low-speed expansion port 914. The low-speed expansion port can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) and can be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a networking device (such as a switch or a router), for example, through a network adapter.
[0080] As shown, computing device 900 can be implemented in a variety of different forms. For example, it can be implemented as a standard server 920 or multiple times in a group of such servers. It can also be implemented as a part of a rack server system 924. In addition, it can be implemented in a personal computer such as a laptop computer 922. Alternatively, components from computing device 900 can be combined with other components (not shown) in a mobile device such as device 950. Each device in such a device can contain one or more computing devices in computing devices 900, 950, and the entire system can be composed of multiple computing devices 900, 950 that communicate with each other.
[0081] The computing device 950 includes a processor 952, a memory 964, an input / output device such as a display 954, a communication interface 966 and a transceiver 968, and other components. The device 950 may also be provided with a storage device such as a micro drive or other device to provide additional storage. Each of the components 950, 952, 964, 954, 966, and 968 are interconnected using various buses, and several of the components may be mounted on a common motherboard, or otherwise, as appropriate.
[0082] The processor 952 can execute instructions within the computing device 950, including instructions stored in the memory 964. The processor can be implemented as a chipset of chips that include separate analog and digital processing units and multiple analog and digital processing units. For example, the processor can provide coordination of other components of the device 950, such as control of a user interface, applications run by the device 950, and wireless communications conducted by the device 950.
[0083] The processor 952 can communicate with the user through a control interface 958 and a display interface 956 coupled to a display 954. The display 954 can be, for example, a TFT LCD (thin film transistor liquid crystal display) or an OLED (organic light emitting diode) display or other suitable display technology. The display interface 956 may include suitable circuit systems for driving the display 954 to present graphics and other information to the user. The control interface 958 can receive commands from the user and convert them to submit to the processor 952. In addition, an external interface 962 in communication with the processor 952 can be provided to enable near-area communication of the device 950 with other devices. The external interface 962 can, for example, provide wired communication in some implementations or wireless communication in other implementations, and multiple interfaces can also be used.
[0084] The memory 964 stores information within the computing device 950. The memory 964 can be implemented as one or more of the following: one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. An extended memory 984 can also be provided, which is connected to the device 950 via an extended interface 982, and the extended memory can include, for example, a SIMM (single in-line memory module) card interface. This extended memory 984 can provide additional storage space for the device 950, or can also store applications or other information for the device 950. Specifically, the extended memory 984 can include instructions for executing or supplementing the processes described above, and can also include security information. Therefore, for example, the extended memory 984 can act as a security module for the device 950, and can be programmed using instructions that allow safe use of the device 950. In addition, secure applications and additional information can be provided via a SIMM card, such as placing identification information on a SIMM card in an unbreakable manner.
[0085] The memory may include, for example, flash memory and / or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as the methods described above. The information carrier is a computer readable medium or machine readable medium, such as the memory 964, the expansion memory 984, or a memory on the processor 952, which may be received, for example, via the transceiver 968 or the external interface 962.
[0086] The device 950 can communicate wirelessly via a communication interface 966, which may include a digital signal processing circuit system when necessary. The communication interface 966 can provide communication under various modes or protocols, such as GSM voice calls, SMS messaging, EMS messaging or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 or GPRS, etc. Such communication can occur, for example, via a radio frequency transceiver 968. In addition, short-range communication can occur, such as using Bluetooth, WiFi or other such transceivers (not shown). In addition, a GPS (global positioning system) receiver module 980 can provide additional navigation-related wireless data and location-related wireless data to the device 950, which can be used by applications running on the device 950 as appropriate.
[0087] Device 950 may also communicate audibly using audio codec 960, which may receive verbal information from a user and convert it into usable digital information. Audio codec 960 may also generate audible sounds for the user in a similar manner, such as through a speaker in a cell phone of device 950, for example. Such sounds may include sounds from voice phone calls, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications running on device 950.
[0088] The computing device 950 can be implemented in many different forms, as shown in the figure. For example, it can be implemented as a cellular phone 980. It can also be implemented as part of a smart phone 982, a personal digital assistant or other similar mobile device.
[0089] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special purpose or general purpose, coupled to receive data and instructions from and transmit data and instructions to a storage system, at least one input device, and at least one output device.
[0090] These computer programs (also referred to as programs, software, software applications or code) include machine instructions for a programmable processor and may be implemented in high-level procedural languages and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus and / or device (e.g., a disk, an optical disk, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0091] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) monitor or an LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic input, voice input, or tactile input.
[0092] The systems and techniques described herein may be implemented in a computing device that includes a back-end component (e.g., as a data server) or includes a middleware component (e.g., an application server) or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein) or any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.
[0093] Computing devices may include clients and servers. Clients and servers are generally remote from each other and generally interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship with each other.
[0094] A number of embodiments have been described, however, it will be appreciated that various modifications can be made without departing from the spirit and scope of the invention.
[0095] In addition, the logic flow depicted in the figure does not require the specific order or sequential order shown to achieve the desired results. In addition, other steps can be provided from the described process, or steps can be eliminated, and other components can be added or removed from the described system. Therefore, other embodiments are within the scope of the appended claims.
Claims
1. A computer-implemented method for interoperable data exchange between a first real-world entity and a second real-world entity, wherein both real-world entities are connected to a same communication network, wherein the first real-world entity and the second real-world entity have a first digital representation and a second digital representation, respectively, each digital representation being a virtual entity, the virtual entity replicating data, structure, and functionality associated with either of the real-world entities, wherein the first digital representation and the second digital representation have different formats, the method being performed by at least one computing device of the second real-world entity, include: receiving a request to provide data of the second digital representation to the first digital representation; evaluating a set of predefined mapping strategies by determining a mapping similarity metric for each mapping strategy based on similarities in the structure and semantics between the data model of the first digital representation and a corresponding target model template, wherein each mapping strategy is associated with a target model template, the target model template indicating a structure and semantics of a target data model, the corresponding mapping strategy being capable of transforming a corresponding source data model into the target data model, wherein the structure of the corresponding target model template is an expected structure to which the data model of the second digital representation needs to be mapped; A mapping between the format of the first digital representation and the format of the second digital representation is generated by: selecting at least one mapping strategy from the predefined set of mapping strategies based on the determined mapping similarity metric; mapping one or more data models associated with the requested data of the second digital representation to corresponding one or more data models of the first digital representation by executing the selected at least one mapping strategy; as well as The requested data is provided to the first real-world entity in the format of the first digital representation via the mapping. The method of claim 1 , wherein the request is associated with a data request of an application.
3. The method according to claim 1 or 2, wherein the predefined mapping strategy set includes at least two of the following strategies: a structure-preserving mapping strategy adapted to generate a mapping according to a corresponding target model template when the structure of the first digital representation is similar to the structure of the second digital representation; a minimization mapping strategy adapted to generate a mapping of said second digital representation data model to a minimum number of first digital representation data models according to a corresponding target model template; a maximization mapping strategy adapted to generate a mapping of said second digital representation data model to a maximum number of first digital representation data models according to a corresponding target model template; a name-based heuristic mapping strategy adapted to generate a mapping to said first digital representation according to a corresponding target model template based on a domain-specific customizable heuristic regarding the naming of elements in said second digital representation; as well as A semantic reference based mapping strategy is adapted to generate a mapping to the first digital representation according to a corresponding target model template based on a heuristic regarding semantic references assignable to the elements in the second digital representation.
4. The method according to claim 1 or 2, wherein the predefined mapping strategy is part of a knowledge base, include: The knowledge base is optimized after each mapping is generated by using a machine learning approach that incorporates mapping knowledge learned from previously generated mappings.
5. The method according to claim 1 or 2, wherein the mapping is retained in a separate mapping model independent of the format, the method further include: In the event that a change is detected in the format of the first digital representation or the second digital representation, the retained mapping is adjusted.
6. The method according to claim 5, further comprising: include: receiving a customization input of the persisted mapping; as well as The persisted mapping is adjusted according to the custom input.
7. The method of any one of claims 1, 2, and 6, wherein the request is received from the first digital representation.
8. The method according to any one of claims 1, 2, and 6, wherein the request is triggered at runtime by a change in the data value of the second digital representation, and wherein the mapping is generated include: re-execute the mapping according to the changes; as well as Providing the requested data includes notifying the first digital representation of the change.
9. The method according to any one of claims 1, 2, 6, wherein the generated mapping is bidirectional and is adapted to be applied to a further request from the first digital representation to push data of the first digital representation to the second digital representation.
10. A computer program product comprising instructions which, when loaded into a memory of a computing device and executed by at least one processor of the computing device, perform the method steps of the computer-implemented method according to any one of claims 1 to 9.
11. A computer system for interoperable data exchange between a first real-world entity and a second real-world entity, wherein both real-world entities are connected to the same communication network, the first real-world entity and the second real-world entity having a first digital representation and a second digital representation, respectively, each digital representation being a virtual entity, the virtual entity replicating data, structure and functionality associated with either of the real-world entities, wherein the first digital representation and the second digital representation have different formats, the computer system include: an interface configured to receive a request to provide data of the second digital representation to the first digital representation, and to provide the requested data to the first real-world entity in a format of the first digital representation via a mapping; an analyzer module configured to evaluate a predefined set of mapping strategies by determining a mapping similarity metric for each mapping strategy based on similarities in structure and semantics between a mapped data model of the first digital representation and a corresponding target model template, wherein each mapping strategy is associated with a target model template, the target model template indicating a structure and semantics of a target data model, the corresponding mapping strategy being capable of transforming a corresponding source data model into the target data model, wherein the structure of the corresponding target model template is an expected structure to which a data model of the second digital representation needs to be mapped; A mapping module is configured to generate a mapping between a format of the first digital representation and a format of the second digital representation by: selecting at least one mapping strategy from the predefined set of mapping strategies based on the determined similarity measure; as well as One or more data models associated with the requested data of the second digital representation are mapped to corresponding one or more data models of the first digital representation by executing the selected at least one mapping strategy.
12. The system of claim 11, wherein the predefined set of mapping strategies includes at least two of the following strategies: a structure-preserving mapping strategy adapted to generate a mapping according to a corresponding target model template when the structure of the first digital representation is similar to the structure of the second digital representation; a minimization mapping strategy adapted to generate a mapping of said second digital representation data model to a minimum number of first digital representation data models according to a corresponding target model template; a maximization mapping strategy adapted to generate a mapping of said second digital representation data model to a maximum number of first digital representation data models according to a corresponding target model template; a name-based heuristic mapping strategy adapted to generate a mapping to said first digital representation according to a corresponding target model template based on a domain-specific customizable heuristic regarding the naming of elements in said second digital representation; as well as A semantic reference based mapping strategy is adapted to generate a mapping to said first digital representation according to a corresponding target model template based on heuristics regarding semantic references assignable to said elements in said second digital representation model.
13. The system according to claim 11 or 12, wherein the mapping is stored in a separate mapping model independent of the format, and the mapping module is further configured to: In the event that a change in the format of the first digital representation or the second digital representation is detected, the retained mapping is adjusted.
14. A system according to claim 11 or 12, wherein an import request is triggered at runtime by a change in the data value of the second digital representation, and wherein the mapping module is also configured to re-execute the mapping according to the change; and the interface is configured to provide the requested data and notify the first digital representation about the change.
Citation Information
Patent Citations
Metro station digital twinborn monitoring operation and maintenance system
CN108040081A
Control method for manufacturing process of key parts of marine diesel engine based on digital twin
CN109270899A
