Sign In to Follow Application
View All Documents & Correspondence

Apparatus And Method For Reducing A Set Of Statements Related To System Description

Abstract: The technique is related to a system and method for reducing a set of statements. The method involves excluding one or more redundant statements from the set of statements. Thereafter plurality of business relevant entities are identified in the remaining set of statement. Then the set of statements are reduced based on the plurality of identified business relevant entities. Finally, a report is generated which represents the reduced set of statements. The method leads to significant level of automation and reduction in time. REF FIG: 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 February 2015
Publication Number
36/2016
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INFOSYS LIMITED
IP CELL, PLOT NO.44, ELECTRONIC CITY, HOSUR ROAD, BANGALORE - 560 100

Inventors

1. SANJAY MOHAN
IP CELL, PLOT NO.44, ELECTRONIC CITY, HOSUR ROAD, BANGALORE - 560 100
2. SHRAMAN GHOSH
H4A TAGORE PARK, 1058 LASKARHAT, PS + PS TILJALA, KOLKATA-700039
3. MANISH ANIL JOSHI
IP CELL, PLOT NO.44, ELECTRONIC CITY, HOSUR ROAD, BANGALORE - 560 100

Specification

APPARATUS AND METHOD FOR REDUCING A SET OF STATEMENTS

RELATED TO SYSTEM DESCRIPTION FIELD OF THE INVENTION:

The invention relates to reduce a set of statements, and more particularly, an apparatus and method for arriving at a minimal set of statements to represent a system.

BACKGROUND OF THE INVENTION:

An enterprise application is a large software system designed to operate in a corporate environment or organization to assist organization to solve enterprise problems. The enterprise applications contain highly critical business knowledge hidden in a legacy code segments which have evolved over many years. Multiple sources of information are necessary to complete the representation of the system including but not limited to Source code, data stores, hardware, and logs etc.. Typically, these applications have less or no documentation available and original programmers or designers are no longer available to re-document the system or such initiatives consume significant time and effort.

SUMMARY OF THE INVENTION:

The present invention overcomes the limitation mentioned above by providing apparatus and method for reducing a set of statements related to system description to a minimal set that is sufficient to represent the system.
According to present embodiment, a method for reducing a set of statements related to system description is disclosed. The method involves excluding one or more redundant statements from the set of statements. Thereafter identifying a plurality of business relevant entities in the remaining set of statement. After identifying business relevant entities, the set of statements are reduced. And finally a report is generated which represents the reduced set of statements. According to an additional embodiment, an apparatus for reducing a set of statements related to system description is disclosed. The system comprises one or more processors; and one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processor to exclude, one or more redundant statements from the set of statements based on one or more exclusion rules then identify, a plurality of business relevant entities in the remaining set of statements based on one or more predefined identification rules thereafter reduce, the set of statements based on the plurality of identified business relevant entities and finally generate, a report representing the reduced set of statements. In another embodiment a non-transitory computer readable medium for reducing a set of statements related to system description is disclosed. This involves a non-transitory computer readable medium having stored thereon instructions to exclude, one or more redundant statements from the set of statements based on one or more exclusion rules then identify, a plurality of business relevant entities in the remaining set of statements based on one or more predefined identification rules thereafter reduce, the set of statements based on the plurality of identified business relevant entities and finally generate, a report representing the reduced set of statements.
DRAWINGS:

Various embodiments of the invention will, hereinafter,- be described in conjunction with the appended drawings provided to illustrate, and not to limit the invention, wherein like designations denote like elements, and in which:

FIG.l is a block diagram illustrating an apparatus for reducing a set of statements related to system description in accordance with an embodiment of the present invention.

FIG. 2 is a flowchart, illustrating a preferred embodiment of a method for reducing a set of statements related to system description, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION:

The foregoing has broadly outlined the features and technical advantages of the present disclosure in order that the detailed description of the disclosure that follows may be better understood. Additional features and advantages of the disclosure will be described hereinafter which form the subject of the claims of the disclosure. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the disclosure as set forth in the appended claims. The novel features which are believed to be characteristic of the disclosure, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure. FIG.l is a block diagram illustrating an apparatus for reducing a set of statements related to system description in which all embodiments, techniques, and technologies of this invention may be implemented. The computing environment 100 is not intended to suggest any limitation as to scope of use or functionality of the technology, as the technology may be implemented in diverse general-purpose or special-purpose computing environments. For example, the disclosed technology may be implemented using a computing device (e.g., a server, desktop, laptop, hand¬held device, mobile device, PDA, etc.) comprising a processing unit, memory, and storage storing computer-executable instructions implementing the service level management technologies described herein. The disclosed technology may also be implemented with other computer system configurations, including hand held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, a collection of client/server systems, and the like.

With reference to FIG. 1, the computing environment 100 includes at least one central processing unit 102 and memory 104. The central processing unit 102 executes computer-executable instructions. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power and as such, multiple processors can be running simultaneously. The memory 104 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. The memory 104 stores software or program 116 that can implement the technologies described herein. A computing environment may have additional features. For example, the computing environment 100 includes storage 108, one or more input devices 110, one or more output devices 112, and one or more communication connections 114. An interconnection mechanism (not shown) such as a bus, a controller, or a network, interconnects the components of the computing environment 100. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment 100, and coordinates activities of the components of the computing environment 100. The processor 102 executes a program of stored instructions for one or more aspects of the present technology as described and illustrated by way of the examples herein, although other types and numbers of processing devices and logic could be used and the processor could execute other numbers and types of programmed instructions. The memory 104 stores these programmed instructions for one or more aspects of the present technology as described and illustrated by way of the examples herein, although some or all of the programmed instructions could be stored and executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and written to by a magnetic, optical, or other reading and writing system that is coupled to the processor 102, can be used for the memory 104. The memory 104 also includes program for reducing a set of statements related to system description. The program comprises a redundant statement excluding component 118, a business relevant entities identification component 120, a statement reducing component 122 and a report generation component 124. The redundant statement excluding component is configured exclude one or more redundant statements from the set of statements based on one or more predefined exclusion rules wherein the one or more predefined exclusion rules are one or more preconfigured rules for exclusion of one or more sub sets from the set of statements.. The business relevant entities identification component is configured to identify a plurality of business relevant entities in the remaining set of statements based on one or more predefined identification rules wherein the one or more predefined identification rules comprises one or more variables. The statement reducing component is configured to reduce the set of statements based on the plurality of identified business relevant entities. The report generation component is configured to generate a report representing the reduced set of statements.

The program further comprises a requisite statement extraction component configured to extract a plurality of requisite statements from the set of statements based on one or more predefined extraction rules wherein the one or more predefined extraction rules are one or more preconfigured rules for extraction of one or more sub sets from the set of statements.

The program further comprises a statement classification component configured to classify the plurality of extracted requisite statements into one or more categories.

FIG. 2 is a flowchart, illustrating a preferred embodiment of a method for reducing a set of statements related to a system description 200. The system is defined as a set of things working together as parts of a mechanism or an interconnecting network. The system description may include, but not limited to Rules (Business & Technical), Entities & Attributes (Business & Technical), Interfaces, Process flows (Business/Technical and at different levels of abstraction), Data stores, Software, Hardware, People (Roles of system users etc.) and any other related aspects thereof. The business logics are programming that manages communication between an end user interface and a database. The main components of business logic are business rules and workflows. The business rule describes a specific procedure of the system. The workflow comprises tasks, procedural steps, required input and output information, and tools needed for each step of that procedure. Business logic describes the sequence of operations, decisions, computations, assignments associated with data in a database to carry out the business rule. The statements are multiple aspects of the system used for a downstream or a reverse engineering processing. A collection of such statements is called as set of statements which help to describe the system and help document & create specifications to recreate a new system wherein the description of the system to be recreated comprises reduced set of statements of the system obtained as per particular business requirements. The examples of statements include but are not limited to:

Computational statements: It comprises of one or more statements that describe a formulation such as "perform using a simple interest formula".

Logical Statements: When the statements are related to a logic for e.g. 'if a person is senior (i.e. 60 years of age or more) provide rate of interest as 10% otherwise rate of interest is 9%'. - Process related statements such as sequence of operations - 'Perform activity A and then Perform activity B and Perform activity C in parallel' Structural statements are statements related to following:

Size and scale - for e.g. 'System A comprises of 10 Hardware Boxes, 5 Software Licenses, 100 Applications running on it and Performs 10 Million transactions per year with a peak of 2 Million Transaction 5% of the time' o System interaction statements - such as 'System A connects with System B, C, D etc. using a Queue based interface mechanism' o Hierarchy & relationship related statements- 'Employee can be described using attributes such as Employee Number, Name (First, Middle, Last), Address, Phone, Department 'Employee Number can be used to identify Employees uniquely without duplicate matches' etc.

The above mentioned statements are exemplary statements though it may vary from system to system and business requirements. The business requirements are derived from a set of statements on the basis of reverse engineering for the downstream process is performed by reducing the set of statements of the system. As the system involves so many complexities in legacy code with millions of statements hence in order to reverse engineer the system millions of statements are reduced to obtain a minimal set of statements that cover the required business logic. The method for reducing a set of statements related to system involves excluding one or more redundant statements from a set of statements based on one or more predefined exclusion rules, at step 202. The one or more redundant statements are one or more non-business relevant statements which are no longer required to perform a reduction process or non-essential for sufficiently describing the current or future system. The one or more predefined exclusion rules are one or more preconfigured rules for exclusion of one or more sub sets from the set of statements. The sub sets are a part of statements wherein the statements are considered as a super set, for example the logical decision statements are a sub-set of the overall business rules that are used by the system.

According to an exemplary embodiment of the invention the exclusion of the set of statements involve exclusion of, but not limited to a set of code statements i.e., paragraphs of code, functions, methods, entire programs, calls to programs etc. are based on the one or more predefined exclusion rules. After exclusion, a marking or tagging of the set of statements is done which involves one or more redundant statements which have not been excluded by one or more predefined exclusion rules with 100% certainty. With the help of marking or tagging, an analyst or a user or a subject matter expert can manually exclude the statements which have not been excluded in exclusion step. The step also involves predefining one or more post configuration exclusion rules which is an assisted approach by the user or subject matter expert or analyst to add or remove the set of statement for inclusion or exclusion depending on a business scenario or requirements based on the tagging or marking of the statements set.

The method for reducing a set of statements related to system description also comprises extracting a plurality of requisite statement from the set of statements based on one or more extraction rule. The extraction step occurs before the step of exclusion of redundant statements from the set of statements. The set of statements is received from one or more sources. The one or more predefined extraction rules are one or more preconfigured rules for extraction of the one or more sub set of the set of the statements. In an exemplary embodiment, the one or more preconfigured extraction rules may include extraction of statements containing one or more combinations of terms (, b, c, d...) or extract items containing one or more combinations of terms (x, y, z...). The preconfigured extraction rules also marks and/or tag items that contain the statements which have not been extract as per the extraction rule to assist the analyst or user or subject matter expert to manually filter or analyze and also exclude the statements that do not contain any relevant business statements. The extraction also involves predefining one or more post configuration extraction rule, which is an assisted approach wherein the user or subject matter expert or analyst predefines the one or more post configuration extraction rule which may involve inclusion or exclusion of the statements depending on a business scenario or requirements based on the marking/tagging of the statements. For instance: Extract only computational statements i.e. formulas being used in organization.

The method for reducing a set of statements related to system description also involves classifying the plurality of extracted statements into one or more categories. The classification step occurs after the step of exclusion of redundant statements from the set of statements. According to an exemplary embodiment of the invention the category involves bucketing the set of statements into three categories namely a "business" or a "technical" or "both" categories. The "business" category involves the statements related to business. The "technical" category involves the statements related to language nuances and non-business constraints imposed by the system. The "both" category involves the statements which are related to business and logic both. After the reduction of one or more redundant statements from the set of statements based on one or more exclusion rules, a plurality of business relevant entities are identified in remaining set of statements based on one or more predefined identification rules, at step 204. The business relevant entities are entities which hold information relevant to a business process for example Customer, identification information, address etc. which are critical for the business processes to function. The one or more predefined identification rules are on one or more variables that are provided by the programming language used and hold information to be processed by the programmed logic and which are configurable. The one or more variables are a temporary, data storage mechanisms that hold part (or whole) of information that are held by one or more of the business relevant entities. The variables are temporary placeholders that hold information (for example: Customer identification, employee number, address etc.) for processing (applying business rules, creating reports) by a business application. In many cases, multiple variables are used to store the same information for different types of processing, for example: POLICY_ID, V-POLICY_ID are two variables to hold and process the same information i.e. Policy Id (business entity is POLICY and the attribute that uniquely identifies this entity is the POLICY-ID).

Once the plurality of business relevant entities are identified, the set,of statements are reduced based on plurality of identified business relevant entities, at step 206. The step identification of business relevant entities also involves predefining one or more post configuration identification rules, which is an assisted approach wherein the user or subject matter expert or analyst predefines the one or more post configuration rule which may involve inclusion or exclusion of the statements depending on a business scenario or requirements based on the marking/tagging of the statements. According to another exemplary embodiment of the invention, the one or more identification rules are applied to identify plurality of business relevant entities in following manner:

Create a list of all business relevant entities used in the system (a super set) Automatically Identify the business relevant entities which directly relate to each other i.e. Entity A writes to B, and B writes to C Create business relevant entities groups i.e. Group 1 is A, B and C, group 2 is E, F, Getc. o Create other groups for business relevant entities that are stored on disk, database tables or displayed on the user interface or communicated to other systems e.g. group 10, 11, 12... o Identify the statements that contains group 1,2,3... for inclusion The Post configuration identification rules are configured based on the tagging or marking of the statements post identification step. All the business relevant entities are reduced and one or more non relevant business entities are marked for a manual validation by the use or analyst or subject matter expert.

A report is generated when the set of statements are reduced based on identified business relevant entities, at step 208. The generated report maintains a logical flow. The report depicts the reduced set of statements or expansion of the logical flow of the system so that the system description is readily accessible for use or to recreate the system. A format of report is not limited to excel word or any other related formats. The data in the report may be used for analytics to perform the business related task or to drill down the information based on the business requirements. The steps involved in method of reducing a set of statements related to system description are repeated iteratively until a desire result or level of reduction is obtained.

According to another exemplary embodiment of the invention, in a scenario of an auto insurance wherein a large legacy system implements the business logic. The IT system is difficult to maintain and change as it uses an old technology and language as a base. Rather than recreate a new system from scratch, at times it is considered prudent to reuse most of the functionality of existing system to recreate new system. The crucial steps involves are study the existing system, extract all business relevant logic and help recreate a new system utilizing the rules and other pertinent information useful in the new system. In the example of recreation of the auto insurance system, source code is considered. The source code is a predominant set of statements that provides significant information that can be reused. A plurality of requisite statements are extracted from the source code among other information sources. Considering a sub-set of the logic where a customer logs into the system, provides pertinent identification information, answers certain queries on the auto being insured and requests for a quote for the premium to be paid. The important information to be processed Customer Information including identification, address, age etc. and auto information about the make, model, year etc. This is considered as information relevant to Business hence called as Business Entities. The processing logic is implemented using some of the programs and the source code for this functionality is analyzed by the apparatus. The goal of this exercise is to iteratively reduce the statements i.e. in this case, lines of code (that represent the business logic) to a minimal set that can be used for farther analysis.

The apparatus automatically studies the source code, extracts only the pertinent information as considered relevant. The plurality of requisite or relevant statements from the set of statements based on the extraction rules. For example, Customer information processing steps, premium calculation logic, storage and integration with other programs and data stores, entities being processed etc. This step is useful as only a sub-set of all the code statements are retrieved instead of fetching all source code statements for further analysis. There are also statements that implement logic that perform housekeeping chores for the program i.e. opening a file, writing to a file, opening/closing a database connection and so on. These statements use many lines of code and are filtered out i.e. excluded from the set of rules being extracted. Similarly, whole groups of statements i.e. one or more lines of code to achieve the purpose can also be excluded if they are identified to be non-relevant for business functionality e.g. ABEND Handling, Clean up routines etc. Each of these routines have thousands of lines of code that pertain to the handling of logic based on the architecture of the source system. These may not be very relevant to business and the new system hence excluded.

Effectively, the source code statements for further analysis drop considerably using the above steps leaving the analyst with only Customer information handling set of statements, premium calculation statements. There are some remnant statements that contain logic that seem to work with entities beyond the pre-identified Business Entities. The apparatus then applies identification of plurality of business relevant entity using a backward and forward pass to identify which entities used by the system and stored in data stores or presented to the users. These are marked as business relevant automatically and the rest are marked as possible non-relevant. Examples of these are Iterators for loops i.e. I = 0 to 100, FILENAME, FILELENGTH etc., that only serve technically for the source system to execute the program logic. In the end, the analyst will be left with a relatively much smaller subset of information to further analyze and provide for the new developers to incorporate into the new system.

In the examples above WS-EXEC-PARM-DATA, STATE-PROV-SUB, STATE-PROV-COUNT, VEHICLE_NO, VEHICLE_MAKE5 CLM_VEHICLE, POLICYJD, V-POLICY-ID are all variables utilized by the program to validate, apply business logic, take decisions and store information in a data store for further processing in the same application or sending to a downstream system.

The above mentioned description is presented to enable a person of ordinary skill in the art to make and use the invention and is provided in the context of the requirement for obtaining a patent. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles of the present invention may be applied to other embodiments, and some features of the present invention may be used without the corresponding use of other features. Accordingly, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

CLAIMS:
We claim:
1. A computer-implemented method executed by one or more computing devices for reducing a set of statements related to system description comprising: excluding, by at least one of the one or more computing devices, one or more redundant statements from the set of statements based on one or more predefined exclusion rules. identifying, by at least one of the one or more computing devices, a plurality of business relevant entities in the remaining set of statements based on one or more predefined identification rules; reducing, by at least one of the one or more computing devices, the set of statements based on the plurality of identified business relevant entities; and generating, by at least one of the one or more computing devices, a report representing the reduced set of statements.

2. The method of claim 1 further comprises extracting, by at least one of the one or more computing devices, a plurality requisite statements from the set of statements based on one or more extraction rules.

3. The method of claim 2 further comprises classifying, by at least one of the one or more computing devices, the plurality of extracted requisite statements into one or more predefined categories.

4. The method of claim 2, wherein the one or more predefined extraction rules are one or more preconfigured rules for extraction of one or more sub sets from the set of statements.

5. The method of claim 1, wherein the one or more predefined exclusion rules are one or more preconfigured rules for exclusion of one or more sub sets from the set of statements.

6. The method of claim 1, wherein the one or more predefined identification rules comprise one or more variables.

7. An apparatus for reducing a set of statements related to system description comprising: one or more processor; and one or more memory operatively coupled to at least one of the one or more processor and having instructions thereon that, when executed by at least one of the one or more processor, cause at least one of the one or more processors to: exclude one or more redundant statements from the set of statements based on one or more predefined exclusion rules; identify a plurality of business relevant entities in the remaining set of statements . based on one or more predefined identification rules; reduce the set of statements based on the plurality of identified business relevant entities; and generate a report representing the reduced set of statements.

8. The apparatus of claim 7, wherein the one or more memory store further instructions to cause the at least one of the one or more processors to extract a plurality of requisite statements from the set of statements based on one or more predefined extraction rules.

9. The apparatus of claim 8, wherein the one or more memory store further instructions to cause the at least one of the one or more processors to classify the plurality of extracted requisite statements into one or more categories.

10. The apparatus of claim 8, wherein the one or more predefined extraction rules are one or more preconfigured rules for extraction of one or more sub sets from the set of statements.

11. The apparatus of claim 7, wherein the one or more predefined exclusion rules are one or more preconfigured rules for exclusion of one or more sub sets from the set of statements.

12. The apparatus of claim 1, wherein the one or more predefined identification rules comprise one or more variables.

13. At least one non-transitory computer readable medium storing computer-readable instruction that, when executed by one or more computing device, cause at least of the computing device to:

exclude one or more redundant statements from the set of statements based on one or more predefined exclusion rules;

identify a plurality of business relevant entities in the remaining set of statements based on one or more predefined identification rules;

reduce the set of statements based on the plurality of identified business relevant entities; and

generate a report representing the reduced set of statements.

14. The at least one non-transitory computer-readable medium of claim 13 further comprises instruction that causes the at least one computing device to extract a plurality of requisite statements from the set of statements based on one or more predefined extraction rules.

15. The at least one non-transitory computer-readable medium of claim 14 further comprises instruction that causes the at least one computing device to classify the plurality of extracted requisite statements into one or more categories.

16. The at least one non-transitory computer-readable medium of claim 14, wherein the one or more predefined extraction rules are one or more preconfigured rules for extraction of one or more sub sets from the set of statements .

17. The at least one no n-transitory computer-re ad able medium of claim 13, wherein the one or more predefined exclusion rules are one or more preconfigured rules for exclusion of one or more sub sets from the set of statements.

18. The at least one non-transitory computer-readable medium of claim 13, wherein the one or more predefined identification rules comprise one or more variables.

Documents

Application Documents

# Name Date
1 928-CHE-2015 FORM-5 26-02-2015.pdf 2015-02-26
1 abstract 928-CHE-2015.jpg 2015-08-17
2 928-CHE-2015 FORM-3 26-02-2015.pdf 2015-02-26
2 928-CHE-2015 CORRESPONDENCE OTHERS 31-07-2015.pdf 2015-07-31
3 928-CHE-2015 FORM-2 26-02-2015.pdf 2015-02-26
3 928-CHE-2015 FORM-1 31-07-2015.pdf 2015-07-31
4 928-CHE-2015 FORM-1 26-02-2015.pdf 2015-02-26
4 928-CHE-2015 ABSTRACT 26-02-2015.pdf 2015-02-26
5 928-CHE-2015 CLAIMS 26-02-2015.pdf 2015-02-26
5 928-CHE-2015 DRAWINGS 26-02-2015.pdf 2015-02-26
6 928-CHE-2015 CORRESPONDENCE OTHERS 26-02-2015.pdf 2015-02-26
6 928-CHE-2015 DESCRIPTION (COMPLETE) 26-02-2015.pdf 2015-02-26
7 928-CHE-2015 CORRESPONDENCE OTHERS 26-02-2015.pdf 2015-02-26
7 928-CHE-2015 DESCRIPTION (COMPLETE) 26-02-2015.pdf 2015-02-26
8 928-CHE-2015 CLAIMS 26-02-2015.pdf 2015-02-26
8 928-CHE-2015 DRAWINGS 26-02-2015.pdf 2015-02-26
9 928-CHE-2015 ABSTRACT 26-02-2015.pdf 2015-02-26
9 928-CHE-2015 FORM-1 26-02-2015.pdf 2015-02-26
10 928-CHE-2015 FORM-2 26-02-2015.pdf 2015-02-26
10 928-CHE-2015 FORM-1 31-07-2015.pdf 2015-07-31
11 928-CHE-2015 FORM-3 26-02-2015.pdf 2015-02-26
11 928-CHE-2015 CORRESPONDENCE OTHERS 31-07-2015.pdf 2015-07-31
12 abstract 928-CHE-2015.jpg 2015-08-17
12 928-CHE-2015 FORM-5 26-02-2015.pdf 2015-02-26