Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationWO2014020412 A1
Type de publicationDemande
Numéro de demandePCT/IB2013/001675
Date de publication6 févr. 2014
Date de dépôt31 juil. 2013
Date de priorité31 juil. 2012
Numéro de publicationPCT/2013/1675, PCT/IB/13/001675, PCT/IB/13/01675, PCT/IB/2013/001675, PCT/IB/2013/01675, PCT/IB13/001675, PCT/IB13/01675, PCT/IB13001675, PCT/IB1301675, PCT/IB2013/001675, PCT/IB2013/01675, PCT/IB2013001675, PCT/IB201301675, WO 2014/020412 A1, WO 2014020412 A1, WO 2014020412A1, WO-A1-2014020412, WO2014/020412A1, WO2014020412 A1, WO2014020412A1
InventeursAlpana DUBEY, Vijayasundar RAJAPARAMESWARAN
DéposantAbb Research Ltd.
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes:  Patentscope, Espacenet
System for providing one or more reengineering solutions and a method thereof
WO 2014020412 A1
Résumé
The invention describes a system for providing one or more reengineering solutions and a method for providing one or more reengineering solutions utilizing the system of the invention. The system takes in input indicative of dependencies among functional blocks of automation application and user input including user constraints to provide a set of reengineering solutions.
Revendications  (Le texte OCR peut contenir des erreurs.)
• < 0 » W U I U / □I / WE CLAIM:
1. A system for providing one or more reengineering solutions for a plurality of controllers, the system comprising:
an input reception means for receiving input indicative of dependencies among functional blocks of an automation application and user input;
an analysis module for analyzing the input to determine the said dependencies among the functional blocks; and
a computation module for computing one or more reengineering solutions on the basis of the said determined dependencies;
wherein the said computation module comprises:
an identification module for identifying a group of functional blocks;
a translation module for translating the user input into constraints on the functional blocks and plurality of controllers; and
an allocation module for allocating the functional blocks among the said plurality of controllers.
2. The system as claimed in claim 1 wherein the input reception means is provided for receiving input indicative of dependencies among functional blocks including solution codebase, I/O to device mapping, and geographical location of devices.
3. The system as claimed in claim 1 wherein the input reception means is provided for receiving user inputs including user constraints.
4. The system as claimed in claim 1 wherein the group of functional blocks consists of one or more sets of functional blocks, the said one or more sets of functional blocks are independent of each other.
5. The system as claimed in claim 1 wherein the allocation module includes a distribution component to distribute the functional blocks among the said plurality of controllers in a local optimal manner.
6. The system as claimed in claim 2 wherein the allocation module includes a partition component to partition one or more sets of functional blocks from the group of functional blocks in accordance with dependency strength, to form a plurality of subsets of functional blocks.
7. The system as claimed in claim 1 further comprising a visualization module provided for displaying the one or more reengineering solutions.
8. A method for providing one or more of reengineering solutions for a plurality of controllers, by the system of claim 1, comprising:
receiving input indicative of dependencies among functional blocks of an automation application and user input;
analyzing input to determine dependencies among the said functional blocks;
computing one or more reengineering solutions on the basis of the said determined dependencies;
wherein computing one or more reengineering solutions comprises:
identifying a group of functional blocks from the said functional blocks;
translating the user input into constraints on the said functional blocks and the plurality of controllers; and
allocating the said functional blocks among the said plurality of controllers.
9. The method as claimed in claim 8, wherein analyzing input information to determine dependencies among the functional blocks is performed by detecting a read after write operation.
10. The method as claimed in claim 8, wherein translating the user input into constraints on the functional blocks and the plurality of controllers is through a lookup table.
11. The method as claimed in claim 8, wherein allocating includes distributing one or more sets of functional blocks from the group of functional blocks to one controller from the plurality of controllers iteratively in a local optimal manner, in accordance with constraints on the functional blocks and the plurality of controllers.
12. The method as claimed in claim 8, wherein allocating the said functional blocks further comprises:
partitioning one or more sets of functional blocks from the group of functional blocks in accordance with dependency strength to form a plurality of subsets of functional blocks; and allocating the said plurality of subset of functional blocks among the plurality of controllers in accordance with constraints on the functional blocks and the plurality of controllers;
13. The method as claimed in claim 12, wherein partitioning one or more sets of functional blocks from the group of functional blocks in accordance with dependency strength to form a plurality of subsets of functional blocks, is performed when the number of sets of functional blocks in the group of functional blocks is less than the number of controllers in the plurality of controllers.
14. The method as claimed in claim 8, further comprising displaying the one or more reengineering solutions.
15. The method as claimed in claim 12, wherein displaying is through a dependency graph.
16. The method as claimed in claim 12 wherein displaying is through a tabular format.
17. The method as claimed in claim 14 wherein displaying through a tabular format is in an ordered manner according to user selected parameter.
18. The method as claimed in claim 14 wherein displaying through a tabular format is through an expandable table for showing information about the said dependencies among the functional blocks on a granular level.
Description  (Le texte OCR peut contenir des erreurs.)

SYSTEM FOR PROVIDING ONE OR MORE REENGINEERING

SOLUTIONS AND A METHOD THEREOF

FIELD OF INVENTION

The invention relates to process plant design and more particularly to a system for providing one or more reengineering solutions.

BACKGROUND OF THE INVENTION

Reengineering of legacy industrial automation applications is one of the major activities performed in automation development. Industrial automation applications are often reengineered to serve purposes such as reducing the load on controllers by adding additional controllers, improving application performance etc. Reengineering is also an important activity of industrial application migration. There are various types of migration; for example migration of underlying platform, reengineering of application over different or additional controllers, etc.

One of the common problems encountered while reengineering industrial applications is reorganization of the application program over additional plurality of controllers to reduce the load of the controllers and increase plant throughput. The application program or control logic, which is responsible for controlling the plant, gets bulky over the time due to addition of new logic to meet new requirements. This in turn increases the load on the controllers. Hence, industrial applications need to be distributed over additional controllers. Such distribution has to be assessed from the perspective of maintainability and flexibility.

Such assessment is often complex. Similarly the assessment is also difficult to comprehend and perform, due to various factors like dependencies existing between program entities, constraints on the placement of field devices etc. An engineer, while reengineering an application over a set of controllers, needs to compute these dependencies and consider aspects like communication overhead, safety aspects, load on the controllers, etc. Since this assessment is manually performed, it proves to be a time consuming activity. Moreover it is difficult to compare multiple engineering solutions. Similarly it is difficult to visualize these factors and to arrive at an optimal reengineering strategy, given the size and complexity of these applications having large number of field devices. Therefore there is a need for a system that provides one or more reengineering solutions addressing the drawbacks referred here above.

OBJECTS OF THE INVENTION

It is an object of the invention to provide a system that provides one or more reengineering solutions.

Another object of the invention is to provide for visual representations one or more reengineering solutions.

Yet another object of the invention is to provide a method for providing one or more reengineering solution using the system of the invention.

SUMMARY OF THE INVENTION

The invention describes a system for providing one or more reengineering solutions for a plurality of controllers where the system comprising of an input reception means, analysis module and a computation module. The input reception means is provided for receiving input indicative of dependencies among functional blocks of an automation application, and user input. The analysis module analyses the input received by the system and determines the dependencies existing between the functional blocks on the basis of the same. The computation module which computes the one or more reengineering solutions on the basis of the determined dependencies, comprises of an identification module for identifying a group of functional blocks, a translation module for translating the user input into constraints on the functional blocks and the plurality of controllers, and an allocation module for allocating the functional blocks among the said plurality of controllers. The group of functional blocks identified consists of one or more sets of functional blocks, which are independent of each other. The allocation module includes a distribution component to allocate the functional blocks among the said plurality of controllers in a local optimal fashion and/or a partition component to partition one or more sets of functional blocks from the group of functional blocks in accordance to dependency strength, to form a plurality of subsets of functional blocks.

The invention also describes a method for providing one or more of reengineering solutions for a plurality of controllers, utilizing the system of the invention. The method of the invention _ . , ty u I u / j comprises receiving input information indicative of dependencies among functional blocks of an automation application, and user input, analyzing dependencies among functional blocks of the automation application, identifying a group of functional blocks, translating the user input into constraints on the functional blocks and plurality of controllers, and allocating the functional blocks among the plurality of controllers.

BRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 is a schematic diagram showing the system overview.

Fig. 2 is a block diagram of the system of the invention.

Fig 3 is a diagram illustrating the method of the invention.

Fig 4 shows the display of the reengineering solutions using a dependency graph.

DETAILED DESCRIPTION OF THE INVENTION

The invention is explained using an exemplary embodiments and is not limited to the same. The exemplary embodiment as given here is only illustrative in nature and does not restrict the scope of the invention. The scope of the invention is indicated by the appended claims rather than the description given below and all changes that come within the meaning and equivalence thereof are intended to be embraced herein.

Fig. 1 gives an overview of the system proposed by the invention. Information which indicates the various dependencies among the functional blocks of automation application is given as input 10. This includes solution codebase, I/O to device mapping, and geographical location of devices etc. The user 20 provides user input. The user input allows the user 20 to customize the reengineering solutions according to the needs. User input includes user constraints. The system 100 utilizes these two inputs to compute one or more reengineering solutions 30.

Fig. 2 is a block diagram of the system 100 proposed by the invention. Both inputs 1 10 are provided to system. The system receives the input 110 via input reception means 120. The Analysis 130 module analyses the input received by the system and determines the dependencies existing between the functional blocks on the basis of the same. The dependencies are located from any of the preceding functional blocks to any of the succeeding functional blocks. The dependency strength is determined on the basis of the number of dependencies existing between the functional blocks. In one particular embodiment the analysis module 130 looks for flow dependencies in the nature of a "read after write" operation to determine dependencies among the functional blocks. In this embodiment dependency strength is determined on the basis of the number of variables which are utilized in these "read after write'''' operations.

The computation module 140 comprises of three components: identification module 141, translation module 142 and allocation module 143. The identification module 141 identifies a group of functional blocks from the functional blocks where the group consists of one or more sets of functional blocks where the sets of functional blocks in the group are independent of each other. In other words the identification module creates a super set of functional blocks where individual sets have no dependence among themselves. The one or more sets of functional blocks are made of functional blocks that have dependencies among themselves. In an exemplary embodiment this can be performed using graphs where the group of functional blocks represents the graph and one or more sets of functional blocks represent disconnected sub graphs. The translation module 142 translates or converts user input into constraints on functional blocks and plurality of controllers. In a particular embodiment this is performed by converting field devices terms into functional block variables and region terms are converted in controller terms. For example a user constraint

I01~> Rl is written as Var -> C

Where Var is the program variable reads or writes to the value provided by field device IOl and C is the controller placed in region Rl . In the exemplary embodiment it is done using a lookup table.

The allocation module 143 is responsible for distributing the functional blocks among the plurality of controllers. The allocation module has two components: the distribution component 144 and the partition component 145. The distribution component 144 distributes the functional blocks among the plurality of controllers in a local optimal manner. The partition component 145 is capable of partitioning the one or more sets of functional blocks into a plurality of subsets of functional blocks according to dependency strength. Additionally, the system 100 also contains a visualization module 150 which is used for displaying the one or more reengineering solutions to the user via a visual interface.

Fig. 3 is block diagram of the method 300 of the invention performed by the system of the invention. The method 300 is implemented utilizing the system 100 of the invention. The method 300 has steps: receiving input information indicative of dependencies among functional blocks of an automation application, and user input 310; analyzing input information to determine dependencies among the said functional blocks 320; identifying a group of functional blocks from the said functional blocks 330; translating the user input into constraints on the functional blocks and the plurality of controllers 340; and allocating the functional blocks among the plurality of controllers 350.

The method 300 utilizes the analysis module 130 of the system 100 to analyze input information, to determine dependencies among the functional blocks. The method 300 utilizes the translation module 142 present inside the computation module 140 of the system 100 for translating the user input into constraints on the functional blocks and the plurality of controllers.

When the number of controllers in the plurality of controllers is less than the number of sets of functional blocks in the group of functional blocks, the method 300 utilizes the distribution component 145 of the allocation module 143 to distribute one or more sets of functional blocks from the group of functional blocks to one controller from the plurality of controllers iteratively in local optimal manner, in accordance with constraints on the functional blocks and the plurality of controllers 351.

When the number of sets of functional blocks in the group of functional blocks is less than the number of controllers in the plurality of controllers, the method 300 utilizes the partition component 144 to partition the one or more sets of functional blocks from the group of functional blocks in accordance to dependency strength to form a plurality of subsets of functional blocks. In the exemplary embodiment, the partition on the basis of dependency strength will result in formation of subsets which have very little or no communication amongst themselves. This would mean that the communication overhead from such a partition would be low. The method 300 then proceeds to allocate the plurality of subset of functional blocks among the plurality of controllers in accordance with constraints on the functional mocks and the plurality of controllers using the allocation module 143 of the system.

The method 300 utilizes the visualization 150 module of the system to display the one or more reengineering solutions. The method 300 is configured to display the reengineering solutions using a dependency graph 362, making it easy for the user to comprehend the solutions-related dependencies. The method 300 can also display the one or more reengineering solutions in a tabular format 361. The method 300 allows for the user to select a particular parameter like communications overhead or controller load or I/O considerations and order the results according to the said parameter. The method 300 is able to display the one or more reengineering solutions in tabular format which is expandable for showing information about the said dependencies among the functional blocks on a granular level. Here granular level relates to a hierarchical breakdown of the reengineering solution. For example a hierarchy of region-controller- functional block is utilized,

Temperature

sensor logic

Here Rl region contains CI controller which has the control logic of temperature sensor loaded in it. The table will initially display the region level dependencies which can be expanded to show controller level dependencies which can be expanded to show functional block based dependencies. An example is shown below.

The method 300 can also display the one or more reengineering solutions using a dependency graph. Fig. 4 shows an example of the same. A dependency graph shows dependencies using a graph where nodes are the components including functional blocks and dependencies as edges.

By automatically computing the reengineering solutions and presenting them in a comprehensible manner the proposed system 100 and method 300 makes it easier for the plant engineer to compare many reengineering solutions and select a particular reengineering solution. The invention simplifies the reengineering process.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US5796603 *17 oct. 199618 août 1998Allen Bradley Company, Inc.Partitioning program for highly distributed control system to reduce network traffic
US6104962 *26 mars 199815 août 2000Rockwell Technologies, LlcSystem for and method of allocating processing tasks of a control program configured to control a distributed control system
US20080208363 *10 avr. 200728 août 2008Rockwell Automation Technologies, Inc.Prioritization associated with controller engine instances
Citations hors brevets
Référence
1None
Classifications
Classification internationaleG05B19/042
Classification coopérativeG05B19/0426
Événements juridiques
DateCodeÉvénementDescription
26 mars 2014121Ep: the epo has been informed by wipo that ep was designated in this application
Ref document number: 13767065
Country of ref document: EP
Kind code of ref document: A1
2 févr. 2015NENPNon-entry into the national phase in:
Ref country code: DE
26 août 2015122Ep: pct app. not ent. europ. phase
Ref document number: 13767065
Country of ref document: EP
Kind code of ref document: A1