Patent Description:
Current technical software systems used for information retrieval and filtering are often designed in a layered structure as illustrated in <FIG> shows conventional multi-layered interface design of a software system. At the lowest layer L0 of the multi-layered interface design there is a customer layer comprising customer specific APIs of costumers or OEMs. Often specific interface features are required for different customers or technical domains. These technical domains can for instance comprise for example an automotive domain AUT, a metal processing domain MET, an automation domain ATM or any other kinds of technical domains. Each technical domain can comprise one or several API for different customers or OEM as illustrated in the diagram of <FIG>.

The next layer L1 of the multi-layered interface has available interface features of a data cloud backend software MSS which can be visible towards the customer interface designers offering different kinds of functionality which can help to realize the customer interface itself. The functionality offered in layer L1 can comprise asset manipulation ASS-M, including creation, modification, deletion or retrieval of assets. Further, the offered functionality can comprise event manipulation EV-M such as creation, modification, deletion or retrieval of events. A graph traversal functionality GT can comprise get asset parts, get asset subclasses, get event subclasses or get related elements.

The next layer L2 of the multi-layered interface illustrated in <FIG> comprises a generic interface i.e. a data cloud backend generic SPARQL endpoint MSG EP. This generic interface of layer L2 offers a highly versatile query interface based on a query language. The query language can be for instance a contemporary database language like SQL or a more advanced semantic query language like SPARQL. The layer L2 itself operates on a specific data model such as a database model or a semantic model.

If a user triggers a query on the customer layer L0, the interface logic can access information from the data cloud backend system (such as a mind sphere system) by calling interface routines from the next layer up e.g. an asset manipulation method call. The interface logic then itself calls the SPARQL endpoint with a SPARQL query for asset manipulation. The SPARQL query can operate on the semantic model of a web sphere application. Layer L3 can comprise a data cloud backend Semantics Model Extension MSSM Ext. Layer L4 can comprise a data cloud backend Data model (with REST based API).

Different layers L of the multi-layered interface can decouple the high versatile generic query interface (such as SPARQL endpoint) from the end user (e.g. OEM). The generic interface of layer L2 does offer for different customers different interfaces by adhering or using the same data model.

The creation of different interface layers L induces a higher development effort for each customer. A possible way of interface design is to expose the end user such as the OEM to an interface as close as possible to the data model (e.g. SPARQL endpoint). However, a major problem in doing this is that an end user that should use a generic query interface (e.g. SPARQL endpoint) requires an intimate knowledge of the data model because without this knowledge it is impossible for the user to formulate the queries.

Without knowing that the model contains assets the user is not capable to retrieve information about them. If a user is accustomed to the term devices (which can be assets in the data cloud backend) either a customer specific user interface or a customer training is necessary.

<CIT> discloses a database system comprising a plurality of databases on a plurality of servers, each database coupled to at least one application of a set of applications. Consolidation of such a system to a single physical database comprises substituting all logical names from the plurality of databases with a unique physical name for all the plurality of databases. A mapping catalogue is created which comprises the logical names and their assigned unique physical names, the mapping catalogue being located in a physical layer. Each database is saved with its unique physical names into a different segment of the single database, the single database being located in the physical layer. A consolidation layer is provided which is coupled to each application.

<NPL>) discloses a multi-tenant software architecture that supports a shared database. Multiple single-tenant logical schemas in the application are mapped to one multi-tenant physical schema in the database. The logical queries are transformed to physical ones.

Accordingly, it is an object of the present invention to provide a method and system for providing a generic query interface for industrial systems of different customers where customers can interact with this interface without or less specific knowledge of the underlying industrial system.

This object is achieved according to a first aspect of the present invention by a method for providing a generic query interface for industrial systems of customers providing the features of claim <NUM>.

The invention provides according to a first aspect a method for providing a generic query interface for industrial systems of customers,
the method comprising the steps of:.

In a possible embodiment of the method according to the first aspect of the present invention the stored query reformulation model comprises mappings for terms of model elements between customer specific terms and application semantic model terms of the application semantic model and transformation rules used for translating model terms.

In a further possible embodiment of the method according to the first aspect of the present invention the stored application semantic model comprises an ontological model.

In a still further possible embodiment of the method according to the first aspect of the present invention the mapping for terms of model elements comprise mappings between data source terms, mappings between event source terms and mappings between other information terms.

In a still further possible embodiment of the method according to the first aspect of the present invention the generated generic query is transmitted via a local and/or global network to the application logic which processes the received generic query based on a generic data model of the industrial system to calculate a generic query result.

In a still further embodiment of the method according to the first aspect of the present invention the calculated generic query result is reformulated into a customer specific query result based on the stored query reformulation model and output by means of the application query interface of the customer industrial system.

The invention further provides according to a second aspect a query processing system comprising the features of claim <NUM>.

The invention provides according to the second aspect a query processing system for providing a generic query interface for industrial systems of different customers,.

In a still further possible embodiment of the query processing system according to the second aspect of the present invention the stored query reformulation model comprises mappings for terms of model elements between customer specific terms and application semantic model terms of the application semantic model as well as transformation rules used for translating model terms.

In a possible embodiment of the query processing system according to the second aspect of the present invention the stored application semantic model comprises an ontological model.

In a still further possible embodiment of the query processing system according to the second aspect of the present invention the mappings for terms of model elements comprise mappings between data source terms, mappings between event source terms and mappings between other information terms.

In a further possible embodiment of the query processing system according to the second aspect of the present invention the generated generic query is transmitted via a local or global network to the application logic which is adapted to process the received generic query based on a stored generic data model of the industrial system to calculate a generic query result.

In a further possible embodiment of the query processing system according to the second aspect of the present invention the calculated generic query result is reformulated by the query processing unit into a customer specific query result based on the stored query reformulation model, wherein the customer specific query result is output by means of the application query interface of the customer industrial system.

In a further possible embodiment of the query processing system according to the second aspect of the present invention the query processing unit comprises a local query processing unit or a remote query processing unit implemented on a server of a service provider.

In a still further possible embodiment of the query processing system according to the second aspect of the present invention the query reformulation model is decentralized.

In a still further possible alternative embodiment of the query processing system according to the second aspect of the present invention the query reformulation model is stored in a central database of a service provider.

In a further possible embodiment of the query processing system according to the second aspect of the present invention the application query interface comprises a user interface to receive a customer query input by a user of the industrial system.

In a still further possible embodiment of the query processing system according to the second aspect of the present invention the application query interface comprises a data interface to receive a customer query generated by a controller of the industrial system.

In the following possible embodiments of the different aspects of the present invention are described in more detail with reference to the enclosed figures.

<FIG> shows schematically a possible exemplary embodiment of a query processing system (QPS) <NUM> according to an aspect of the present invention. The query processing system <NUM> as illustrated in <FIG> can be used to provide a generic query interface for industrial systems of different customers. The customers can be for instance manufacturing companies operating in the same technical domain. For instance, the customers can be different automotive companies using similar manufacturing processes to produce vehicles. As illustrated in the schematic block diagram of <FIG> the query processing system <NUM> according to the present invention comprises at least one application query interface (AQI) <NUM> adapted to input customer queries Q of customer industrial systems such as manufacturing facilities. An end user of the customer or manufacturing company can access an application executed by a processing entity via an application user interface which can comprise some kind of application query interface AQI as illustrated in the schematic diagram of <FIG>. The application query interface <NUM> can allow monitoring, diagnosis or information retrieval. The application query interface AQI <NUM> can form a front end of an application logic <NUM> of the software system illustrated in <FIG>. One part of the application logic <NUM> is formed by a query endpoint to a database storing an application semantic data model (ASM). Based on these components of the system user queries Q can be processed and answered. The application query interface AQI can in a possible embodiment be also multi-layered.

The query processing system <NUM> illustrated in <FIG> comprises a query processing unit (QPU) <NUM> which is configured to perform automatically a query decomposition of the input customer query Q into query parts based on a query reformulation model QRM stored in a database <NUM> of the query processing system <NUM> as shown in <FIG>. For each decomposed query part QP it can be determined by the query processing unit <NUM> whether the decomposed query part is available in an application semantic model ASM stored in the database <NUM> of the query processing system <NUM>. The application semantic model ASM comprises a semantic description of an application including data sources, system events and additional information such as diagnosis cases etc. The query processing unit <NUM> is further configured to reformulate automatically query parts QP not available in the application semantic model ASM based on the query reformulation model QRM and to perform automatically a query recomposition of the query parts QP available in the application semantic model ASM and the reformulated semantic query parts QP to generate a generic query. The generated generic query is then applied by the query processing unit <NUM> to the application logic <NUM> of the query processing system <NUM> to provide a query result. The query result is output by the application query interface <NUM> to a user of the industrial system.

The query reformulation model QRM stored in the database <NUM> can comprise in a possible embodiment mappings for terms of model elements between customer specific terms and application semantic model terms of the application semantic model ASM as well as transformation rules which can be used for translating model terms. In a possible embodiment, the application semantic model ASM stored in the database <NUM> can comprise an ontological model. The mappings for terms of model elements can comprise for instance mappings between data source terms of data sources, mappings between event source terms of event sources and mappings between other information terms.

The generated generic query gQ provided by the query processing unit <NUM> can in a possible embodiment be transmitted or supplied via a local and/or global network to the application logic <NUM>. The application logic <NUM> of the system is adapted to process the received generic query gQ based on a stored generic data model of the industrial system to calculate a generic query result gQR. In a possible embodiment, the calculated generic query result gQR can be reformulated by the query processing unit <NUM> into a customer specific query result based on the stored query reformulation model QRM. The customer specific query result is then output by means of the application query interface AQI of the customer's industrial system. In a possible embodiment, the query processing unit <NUM> of the query processing system can comprise a local query processing unit on the site of the customer industrial system. In an alternative embodiment, the query processing unit <NUM> of the query processing system <NUM> can comprise a remote query processing unit implemented on a remote server of a service provider. Further, the query reformulation model QRM can be stored in a possible implementation in a decentralized manner at different sites, in particular at the sites of the industrial systems. Further, the query reformulation model QRM can also be stored in an alternative embodiment in a central database of a service provider.

The application query interface (AQI) <NUM> of the query processing system <NUM> can comprise a user interface to receive a customer query Q input by a user of the customer industrial system. The application query interface AQI <NUM> can further comprise a data interface to receive a customer query generated by a controller of the customer industrial system.

The query processing unit QPU <NUM> can comprise a query reformulation reasoner. The query reformulation reasoner can brake up a direct link between the application query interface AQI and the application logic AL <NUM>. A query entered into the application query interface AQI <NUM> of the system <NUM> can be intercepted in a possible embodiment by the query reformulation reasoner of the query processing unit <NUM> at once. In a possible embodiment, the query processing unit <NUM> can comprise a query decomposition module 4A which is adapted to decompose the received query Q into single terms. In a possible embodiment, the query decomposition module 4A can implement different methods including pattern matching as well as software compilation and decompilation methods.

The query processing unit <NUM> can in a possible embodiment comprise a query reasoning module 4B shown in the embodiment of <FIG>. The query parts or query terms provided by the query decomposition module 4A can in a possible embodiment be compared to the application semantic model ASM stored in the database <NUM>. Query parts that are not available in the application semantic model ASM are reformulated using the query re-formulation model QRM stored in the database <NUM>. The query processing unit <NUM> can comprise in a possible embodiment a query recomposition module 4C as illustrated in the schematic diagram of <FIG> which is adapted to perform a query recomposition process wherein all query parts or query terms including those from the original application semantic model ASM and those created during the dynamic query reformulation process are recomposed into a single query. The query composition or query recomposition can be performed in a possible embodiment by pattern matching where query parts of the query Q are replaced by the matching parts of the query reformulation model QRM. The resulting dynamically generated query can be fed back into the standard application logic <NUM> where the generic query endpoint can now be called using the generated query. The system can process the reply to answer using its system inherent data model elements (end of forward direction processing).

The calculated query result QR can be dynamically reformulated for the calling user. Those parts of the query result QR which contain application semantic model elements that are unknown to the calling user, can be reformulated in a possible embodiment by means of the query reformulation reasoning unit 4B on the basis of the query reformulation model QRM stored in the database <NUM> into the original model terms that are known to the customer or user. In some cases the reformulation is not required, for instance in data retrieval only the pure data (e.g. numbers) can be output to the user so that no query result reformulation is required. The query re-formulation reasoning module 4B can comprise standard reasoning software components such as ontological reasoners, in particular if ontological data models are chosen for the application semantic model ASM and the query reformulation model QRM.

The query reformulation model QRM stored in the database <NUM> of the system can comprise a collection of model elements and transformation rules that can be used in the process of query reformulation. During the query reasoning step query parts that are not available in the application semantic model ASM are automatically reformulated using the stored query reformulation model QRM. The query reformulation model QRM can contain mappings for terms of model elements between a specific customer data term and corresponding application semantic model terms. Model elements that might need to be mapped (like: <application model> map to <customer model>) can comprise data source types (such as "SPS" mapped to "ASSET"), events (such as "high temperatur" mapped to "temperature above <NUM> degree Celsius") and further information (such as "Rule (<NUM>) instance of diagnosis: exists convey or block create Instance (alert)" mapped to "diagnosis-rule <NUM>: if conveyor block issue alert").

Additional supporting rules R for query reformulation can form part of the query reformulation model QRM stored in the database <NUM>. These rules R can help in reformulation situations where mere term reformulation fails and more complex relationships between model elements within the customer model of the industrial system and the application semantic model ASM are to be considered. For instance, under the specific condition X a data source can be referred to a source A but under another different condition Y the same data source is to be considered source D. Translating the model term for this data source into another model term (e.g. from customer model term into the application semantic model term) requires a rule R like: "if condition = X map A to App-sem-Model-U" and
"if condition = Y then map D to App-sem-Model-U".

Accordingly the query reformulation model QRM can provide a bridge between the application semantic model ASM (the application world) and the customer model (the end user world). Further, the query reformulation model QRM can contain parts (mappings, rules) that are customer specific and other parts that apply to a group of customers such as OEMs in the automotive domain. The query reformulation models QRMs and model parts can be maintained centralized or decentralized. Further, the query reformulation models can be re-used and cross-checked with other models. Depending on the expressive-ness of the query reformulation model QRM consistency checks, versioning, model integration etc. can be realized. The query processing system <NUM> can be implemented by means of an FPGA.

<FIG> shows a schematic block diagram of a possible exemplary embodiment of query processing system (QPS) <NUM> according to an aspect of the present invention. In the illustrated embodiment of <FIG> the query processing system <NUM> comprises a query processing unit (QPU) <NUM> and an application logic (AL) <NUM> implemented on a server <NUM> of a service provider. The server <NUM> has access to a central database <NUM> comprising the query re-formulation model QRM and the application semantic model ASM. In the illustrated embodiment of <FIG> two customers A, B operate an industrial system such as a manufacturing system 9A, 9B including one or several subsystems or machines 10A, 10B comprising application query interfaces (AQI) 2A, 2B as shown in <FIG>. The application query interfaces 2A, 2B can for instance comprise user interfaces who receive a customer query input by a user such as a technician of the respective industrial system. The application query interfaces AQI 2A, 2B can also comprise a data interface to receive a customer query generated by a control unit or controller of the respective industrial system 9A, 9B. The application query interface AQI 2A, 2B is connected in the illustrated embodiment via a local or a global network <NUM> to the server <NUM> of the service provider. The customer queries Qa, Qb of the different customers A, B are supplied via the network <NUM> to the query processing unit <NUM> implemented on the server <NUM> of the service provider. The query processing unit <NUM> is adapted to perform automatically a query decomposition of the received customer queries Q into query parts based on the query reformulation model QRM stored in the memory <NUM> of the database <NUM> as shown in <FIG>. For each decomposed query part QP it can be determined by the query processing unit <NUM> of the server <NUM> whether the decomposed query part QP is available in the application semantic model ASM stored in the memory <NUM> of the database <NUM>. The query processing unit <NUM> is configured to reformulate automatically query parts QP which are not available in the application semantic model ASM based on the query reformulation model QRM. Further, the query processing unit <NUM> can be adapted to perform automatically a query recomposition of the query parts QP available in the application semantic model ASM and the reformulated semantic query parts QP to generate a generic query gQ applied to the application model <NUM> implemented on the server <NUM> to provide a query result QR transmitted back to the respective application query interface 2A 2B as shown in <FIG>. The application query interface 2A, 2B can output the respective received query result QRa, QRb.

<FIG> shows a flowchart of a possible exemplary embodiment of a method for providing a generic query interface for industrial systems of different customers according to an aspect of the present invention. In the illustrated embodiment the method comprises several main steps. In a first step S1 a query decomposition of a customer query Q input by an application query interface AQI of a customer industrial system into query parts QP is performed based on a stored query re-formulation model QRM.

In a further step S2 it is determined whether the decomposed query parts QP of the received customer query Q are available in a stored application semantic model ASM.

In a further step S3 query parts QP which are not available in the application semantic model ASM are reformulated automatically based on the stored query reformulation model QRM.

In a further step S4 a query composition of the query parts QP available in the application semantic model ASM and the reformulated query parts QP is performed to generate a generic query gQ which is supplied to an application logic AL to provide a query result QR.

In a possible embodiment the generic query gQ generated in step S4 can be transmitted via a local or global network to the application logic AL which does process the received generic query gQ based on a generic data model of the respective industrial system to calculate a generic query result gQR. This generic query result can then be reformulated into a customer specific query result using the stored query re-formulation model. The customer specific query result is then output by means of the application query interface AQI of the respective customer industrial system.

Operation of the method and system according to the present invention can be explained in more detail for the following example.

Within automotive company A (customer A) and within an other automotive company B (customer B), similar processes do exist for producing a car. One part of this production process is lacquering the car. It can be assumed that similar production techniques and similar devices will be applied to lacquer a car in company A and company B. Yet the concrete set-up of the production lines in these two companies are very likely to vary in a lot of details. Part of the lacquering is the actual application of color to metal pieces, performed by some sort of spraying device. In company A, this device is called "Spritzdüse" in company B it's called "Lackierdüse". In addition company A has placed the "Spritzdüse" in "Produktionslinie <NUM>" and "Abschnitt <NUM>", while in company B the "Lackierdiise" device is physically located in "Band 4a" and there in "Modul <NUM>".

The spraying device is a critical component and therefore must be observed to prevent outages. It has sensors attached to it, which deliver sensor information (events) for further processing or information to human users. Therefore the spraying device is a data source.

Both companies get their lacquering lines from company C, which installed the original lines together with its generic software. This software includes, besides other components, an application query interface AQI for use by employees of companies A and B, and an data model (application semantic model) defining the physical components of the lacquering production line.

In detail one part of the model includes the following information:.

This means that for the very same construction in companies A and B and for the original design of the producer of the lacquering line (company C), there are three different data models of the lacquering production lines (companies A, B, C).

An end user in company A or B, responsible for the functioning of the lacquering line, now normally accesses the application via an application user interface. This can comprise some kind of application query interface AQI in current industrial systems (allowing monitoring, diagnosis, information retrieval, etc.). This application query interface AQI is the frontend for the installed software system for the lacquering line where user queries Q can be processed and answered.

Within company A, for instance, the query reformulation reasoner now gets the query "Produktionslinie <NUM>, Abschnitt <NUM>, Spritzdüse verstopft?". The Reasoner decomposes the query into the parts (based on its internal query reformulation model):.

After this, the reasoner can reason about the decomposed query (i.e. are all required parts of the query available, are the replaced parts correct, and so on) and compose the final query:
"Element 3A, Asset 4F, Düse <NUM>?".

This question can now be processed by the software originally delivered by Company C, when the lacquering line was installed.

For Company B the reformulation reasoning is:.

Once, again resulting in the reformulated query for the lacquering line:
"Element 3A, Asset 4F, Düse <NUM>?".

The mappings, for instance from "Produktionslinie <NUM>" to "Element 3A", or from "Band 4a" == "Element 3A" are generated by the Query Reformulation Reasoner based on information held in the Query Reformulation Model QRM, for instance:.

The query "Element 3A, Asset 4F, Düse <NUM>?" is now fed back into the standard application logic AL3: The generic query endpoint can now be called using the generated query. The system is processing the answer using its system inherent data model. In exactly the reverse way the query result can now be transported back to the calling user.

Claim 1:
A method for providing a generic query interface for industrial systems of different customers of a service provider, performed by a query processing system (<NUM>), wherein the query processing system (<NUM>) comprises an application query interface, AQI, (<NUM>) adapted to input customer queries, Q, of customer industrial systems and a query processing unit (<NUM>), the method comprising the steps of:
(a) performing (S1) a query decomposition of a customer query, Q, input by the application query interface, AQI (<NUM>), into query parts, QPs, based on a query reformulation model, QRM, stored in a central database (<NUM>);
(b) determining (S2), by the query processing unit (<NUM>), whether the decomposed query parts, QPs, of the received customer query Q are available in an application semantic model, ASM, stored in the central database (<NUM>);
(c) reformulating (S3) query parts, QPs, by the query processing unit (<NUM>), which are not available in the application semantic model, ASM, based on the query reformulation model, QRM;
(d) performing (S4), by the query processing unit (<NUM>), a query recomposition of the query parts, QPs, available on the application semantic model, ASM, and the reformulated query parts, rQPs, to generate a generic query, gQ,
(e) applying, by the query processing unit (<NUM>), the generic query, gQ, to an application logic, AL, (<NUM>) implemented on a server (<NUM>) of the service provider; and
(f) processing by the application logic, AL, the received generic query, gQ, based on a generic data model of the industrial system to calculate a generic query result, gQR, and
(g) reformulating, by the query processing unit (<NUM>), the calculated generic query result, gQR, into a customer specific query result, QR, based on the stored query reformulation model, QRM,
(h) providing, by the application query interface (<NUM>), the customer specific query result, QR, to the customer,
wherein the stored query reformulation model, QRM, comprises:
mappings for terms of model elements between customer specific terms and application semantic model terms of the application semantic model, ASM, and
transformation rules used for translating model terms.