Abstract:
A system for generating a model for tracking a changing dimension feature of data in a business model includes a memory for storing the business model and a computer readable code for modeling the changes in the changing dimension feature and a processor for executing the computer readable code to perform method steps including capturing the changing dimension feature of the business model, transforming the changing dimension feature into a data warehouse model corresponding the business model, identifying changing dimensions and attributes in the changing dimension feature according to the data warehouse model, and generating a run-time deployable component for tracking the changing dimension feature based on the identified changing dimensions and attributes.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    The present disclosure relates to business performance management, and more specifically, to modeling a slow changing dimension or type2 dimension of its corresponding high level data warehouse model and its automatic management using model driven business performance management. 
         [0003]    2. Description of Related Art 
         [0004]    Model driven business performance management (BPM) is becoming an integral part of enterprise software portfolios in many large organizations. Models enable a flexible approach to define and manage business metrics, which monitor and issue alerts when encountering a situation, all abstracted at the business level. 
         [0005]    BPM models may be categorized into three types, including observation, data warehouse and dashboard models. The observation model defines modeling elements that capture monitoring and alerting requirements. The data warehouse model captures historical data of the monitoring elements and the dashboard model captures reporting requirements. 
         [0006]    These models are made up of well defined elements that are complete and unambiguous in nature. Common elements among the BPM models include metrics, maps and dimensions. 
         [0007]    Turning now to an exemplary business problem: As a business grows and its usage of BPM ages, data that seemed static (organization, departments, etc) starts to change over time. The definition of relative static data may also change to reflect the growth in a particular area of business. 
         [0008]    From an analytical point of view one needs to keep track of the old definition and updated definition for this relatively static data. The business may need to look into a history of the current year and past years for the analysis, financial reporting, etc. Not being able to relate the data because of changes over time can make the analysis difficult. This problem could become more difficult if an underlying information technology (IT) system is not capable of handling change. 
         [0009]    With respect to the data warehouse, the relatively static data is typically called dimensional data and such changes are termed as slow changing dimension. Typically data warehouse solutions are built manually and take into account changes by modifying the dimension definition to accommodate the changes. But such activity is manual in nature, requiring time and capital to manage the data. 
         [0010]    Existing data warehouse models, e.g., a visibility model, in BPM do not provide any provision to reflect slow changing dimension requirements at a business solution modeling level. 
         [0011]    If an attribute of a dimension changes, the existing solution in the runtime overrides the value. Thus, from the history point of view, the meaning of the data is lost. 
         [0012]    For example consider a dimension called Division: 
         [0013]    Original data (Date=1Q2006): DivID=24, DivName=Printers, DivHQ=New York (DivID is primary key) 
         [0014]    Modified data (Date=3Q2006): DivID=24, DivName=Computer Peripherals, DivHQ=New York 
         [0015]    Modified data (Date=1Q2007): DivID=24, DivName=Computer Peripherals, DivHQ=Hartford 
         [0016]    In the above example, since both the DivName and DivHQ nave been updated with time, any measurement associated with the DivID=24 in the past has lost the context. For example if one goes in the history of 1Q2006, the Div Name will read “computer peripherals” not “printers” as the data in dimension has no records for “printers,” which was overridden. 
         [0017]    Therefore, a need exists for extending a data warehouse model to capture slow changing dimension requirements that preserves the semantics of the dimension attribute definition as well as historical data. The auto code generation component also needs to be updated to reflect the appropriate data structure for slow changing dimension and corresponding ETL (extract, transform, load) scripts that populate the dimensional table during execution time. 
       SUMMARY 
       [0018]    According to an embodiment of the present disclosure, a system for generating a model for tracking a changing dimension feature of data in a business model includes a memory for storing the business model and a computer readable code for modeling the changes in the changing dimension feature and a processor for executing the computer readable code to perform method steps including capturing the changing dimension feature of the business model, transforming the changing dimension feature into a data warehouse model corresponding the business model, identifying changing dimensions and attributes in the changing dimension feature according to the data warehouse model, and generating a run-time deployable component for tracking the changing dimension feature based on the identified changing dimensions and attributes. 
         [0019]    According to an embodiment of the present disclosure, a computer readable medium is provided embodying instructions executable by a processor to perform a method for generating a model for tracking a changing dimension feature of data in a business model. The method steps includes providing a business model, capturing the changing dimension feature of the business model, transforming the changing dimension feature into a data warehouse model corresponding the business model, identifying changing dimensions and attributes in the changing dimension feature according to the data warehouse model, and generating a run-time deployable component for tracking the changing dimension feature based on the identified changing dimensions and attributes. 
         [0020]    According to an embodiment of the present disclosure, a system for tracking a changing dimension feature of data in a data warehouse model includes a memory for storing the data warehouse model and a run-time deployable component for tracking the changing dimension feature, and a processor for executing run-time deployable component to track the changing dimension feature, the run-time deployable component including a dimension table extending the data warehouse model, the dimension table including, a surrogate key augmenting an existing key of the data warehouse model, an active flag indicating a current surrogate key, and a date indicating a for which data corresponding to the existing key was active. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    Preferred embodiments of the present disclosure will be described below in more detail, with reference to the accompanying drawings: 
           [0022]      FIG. 1A  is a flow chart of a method for capturing the slow changing dimension at business model level, transforming the business models into IT meta model and final generate the code to execute and manage according to an embodiment of the present disclosure; 
           [0023]      FIG. 1B  is a flow chart of method for executing a search using a surrogate key according to an embodiment of the present disclosure; 
           [0024]      FIG. 2  is a diagram of an modeling artifacts that helps to capture data warehouse as well as slow changing dimension requirement at business level according to an embodiment of the present disclosure; 
           [0025]      FIG. 3  is a diagram of a data warehouse XML meta-model including the slow changing dimension elements according to an embodiment of the present disclosure; 
           [0026]      FIGS. 4A-B  are illustrations of a auto generation of dimension schema and an updated dimension schema with a slow changing dimension from, business models, respectively, according to an embodiment of the present disclosure; 
           [0027]      FIGS. 5A-B  are illustrations of an auto generated SQL script and a modified SQL script to support a slow changing dimension from business models, respectively, according to an embodiment of the present disclosure; 
           [0028]      FIG. 6  is an illustration of a sample business model according to an embodiment of the present disclosure; 
           [0029]      FIG. 7  is an illustration of sample IT meta model instance as result of transformation from business model showing slow changing dimension captured according to an embodiment of the present disclosure; 
           [0030]      FIG. 8  is an exemplary auto generated data warehouse ER diagram from business models as part of transformation and code generation process, according to an embodiment of the present disclosure; 
           [0031]      FIG. 9  is illustrates an auto generated SQL script that populates the dimension including slow changing according to an embodiment of the present disclosure; and 
           [0032]      FIG. 10  is a diagram of a computer system for performing a method for creating an automatic manager of changing dimensions in a business process model according to an embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       [0033]    In describing preferred embodiments of the present disclosure illustrated in the drawings, specific terminology is employed for sake of clarity. However, the present disclosure is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner. 
         [0034]    Embodiments of the present disclosure are described in term of an extension of existing BPM models (see block  102 ,  FIG. 1A ) that are part of a Model Driven Business Transformation (MDBT) toolkit. 
         [0035]    According to an embodiment of the present disclosure, a slow changing dimension need at the model level is abstracted to hide complexity of implementing a solution. Business models including business performance and data warehouse models are provided  101 . Stereotypes are newly defined or extended from existing stereotypes to capture the slow changing dimension requirements  102 . The dimensional attribute value change is preserved in a physical database table by creating a new row in a dimension table  103 . The dimensions and attributes that are slow changing are identified in a code generation process  104 . A method according to an embodiment of the present disclosure uses a surrogate key both at a meta model and in the physical dimension tables. An auto software component generator is updated to create the dimension table definition, fact table definition and ETL scripts for automatic management of the slow changing dimensions during an execution phase  105 . 
         [0036]    According to an embodiment of the present disclosure, the BPM Models can be decomposed into smaller manageable components. These elements together with their operational semantics are self contained and define complete BPM solutions. These elements are defined using UML 2.0 (Unified Modeling Language) notations and use UML class diagrams to define the business solution model. Accordingly, new features can be added without disrupting the rest of the functionalities of the BPM system. The dimension element is one such element, which can be independently extended using stereotype notations to support slow changing dimension needs. The corresponding software generator can he independently updated to generate appropriate runtime components to support the requirement. 
         [0037]    The changes made to the elements and the runtime components can be unit tested independently. 
         [0038]      FIG. 2  illustrates the UML elements that comprises data warehouse model  201 . These elements are extensions to basic UML elements and referred to as stereotypes. The most important stereotype is “Dimension.” While designing a data warehouse models the classes that exhibits dimension behavior can be stereotyped with “Dimension” stereotype. This stereotype has properties to capture the characteristics of the dimension. The columns in a physical dimension are defined as attributes of the stereotyped class. Each column typically corresponds to a column in the report. Each attributed can further characterized by stereotypes such as “PrimaryKey” and “DimensionLevel.” The “PrimaryKey” identifies the attribute with unique value and “DimensionLevel” allows a designer to define hierarchy for On-line analytical processing (OLAP) report. 
         [0039]    The other stereotypes enable designer to link the dimensional attributes to the model metrics. 
         [0040]    To support slow changing dimension, the following information needs to be captured:
       a. Whether a dimension is a slow changing dimension?   b. Which attribute of the dimension, should this characteristic applied?       
 
         [0043]    By employing the model driven development techniques, the complexity of programming is hidden from developers through the use of a consistent and easy interface to develop solution visually. To capture the above mentioned information in the model  201 , extensions are provided to the data warehouse elements with additional properties for two stereotypes  202  and  203  as shown in  FIG. 2 . The “Dimension” stereotype receives a new property called “isSlowChangingDimension,” which is a Boolean. When the value is true, it indicates that the respective dimension will be a slow changing dimension. The “DimensionLevel” stereotype receives a new property called “isPartOfSCD,” which is also a Boolean. When the value is true, it indicates a particular dimension attribute (physical column) will be part of slow changing dimension. These properties allows a solution designer to specify the required information to indicate a slow changing dimension. The complexity of changes to dimension definition and corresponding ETL changes are hidden from the designer and managed by the automatic code generation component of the MDBT (Model Driven Business Transformation) toolkit. The changes manually performed could take significant time and cost by a trained data warehouse specialist for design, implementation, and testing. As illustrated above, the models extremely simplifies for the solution developer to enable slow changing dimension capability by providing few information at the modeling level without any need for specialized skills in the area of data warehousing. Thus, it eliminates the time and cost required for implementation and significantly reduces the testing time. 
         [0044]    At block  103  in  FIG. 1A , in the model driven activity is transformation of the UML models into intermediate models in XML or directly into runtime component. The data warehouse model first gets transformed into an XML instance, which is the input to the runtime code generation. The benefit of generating XML as the intermediate model is that the runtime code generation is not affected if an alternate modeling approach, which also generates the XML model, is used instead of UML. As long as the XML instance of data warehouse meta-model stays the same, the runtime component can be generated.  FIG. 3  shows a partial data warehouse meta-model XML schema definition  301 . The transformation component reads the UML model information and populates the XML instance using the definition illustrated in  FIG. 2 . For a slow changing dimension, the dimension property gets translated into the one of the DimensionDefinition element and DimensionAttributeDefinition in XML (see  302 - 303 ,  FIG. 3 ). 
         [0045]    The transformation component (see also block  103 ,  FIG. 1A ) may be written in Java programming language as an eclipse plug-in, and the code generation component  104  generates following components:
       a. Data warehouse schema   b. ETL scripts to load the data in the data warehouse (for both dimensions and fact tables)   c. Alphablox-OLAP configuration and dashboard       
 
         [0049]    The slow changing dimension requirement also affects the data warehouse schema and ETL scripts code generation. The dimension table schema ( 401 ,  FIG. 4A ) needs to be changed to reflect the following four new columns to support the requirement (see for example,  402 ,  FIG. 4B ):
       Surrogate Key—acts as a new primary key for the respective dimension. The original primary key is preserved by the MDBT toolkit runtime for any future reference (see block  111 ,  FIG. 1B ). The surrogate key is now referred whenever there is an access of the slow changing dimension  112 .   Active flag—indicates which surrogate key value is current amongst multiple rows with the same original primary key.   Start date, End date—indicate the duration for which a row with original primary key was active.       
 
         [0053]    The additional columns created during runtime are now added back to the XML instance to preserve the integrity of the data definition between physical schema and meta model. The definition of the fact table is also updated to replace the original primary key with surrogate key as part of foreign key relationship constraint. The table gets a new row with new surrogate key value for the changes in values of columns of interest (that participate in slow changing dimension). The active flag is turned to true for the current entry and false for the previous entry of given original primary key. The end date is also populated for the previous row. 
         [0054]    The ETL script changes are reflected for dimension tables and fact tables (see also block  105 ,  FIG. 1A ). For the dimension table, the script uses merge SQL (Structured Query Language) query syntax. The SQL query determines whether there is an entry in the dimension table for a given original primary hey. The  FIG. 5A  shows the original SQL query  501  without any slow changing dimension requirement. 
         [0055]    The  FIG. 5B  shows the updates being done to the SQL script  502  for slow changing dimension. The attributes of dimension that are flagged “isPartOfSCD” during modeling times now becomes part of the conditional clause as shown by the red ellipse. Hence if the value of the combination of the primary key and additional columns is not there in the dimension table a new row will be inserted. An update query is next executed to flag the previous row if any for a given primary key to inactive with timestamp marked. In the INSERT part of the query one can notice that the surrogate hey and other additional columns are now shown as the values of these columns are set to default. This is because these columns have default values defined during their schema generation. For example the value of the surrogate key is set to default such a way that it gets the next number in sequence, the active flag is set to true, start date is set to current date and end date is left blank. The automatic script generation component also generates additional SQL script to update the active flag for one of the row with original primary key to false (last but one row for given original primary key value) and also update the end date. The SQL script for the fact table now gets updated to read the surrogate key value from the dimension for the corresponding original primary key. Since the surrogate key value is internal to the system, the transaction source data reflects the original primary key value. Hence the automatic script generation takes into account to generate sub select query to read the surrogate key value which is active for given original primary key value. 
         [0056]    Aside from SQL scripts, the MOST toolkit also generates an OLAP (On-line Analytical Processing) style report for analysis purposes. Since the slow changing dimension requirement is at data warehouse level and it is encapsulated by the data warehouse automated script generation, there was no impact to the automatic code generation of the OLAP cubes and Alphablox report component. By virtue of data on dashboard being read from data warehouse and shown by dimension, any slow changing dimension data gets shown automatically in correct format on the dashboard. 
         [0057]    Consider an example of a human resource department of a business needs to monitor the employee related metrics, such as the percentage of employees with valid resume, current resume, updated skills, etc. To analyze these metrics by context, dimensions, such as Employee, Organization, geography, Manager, Job type, etc., are defined. Now few of these contexts may undergo changes over time such as employee moves to a different job type or a division within an organization changes to a new name. Hence the report should be able to reflect the data by both old and new names by over time (see block  113 ,  FIG. 1B ). This uses the management of dimension data (to support slow changing dimension) as well as management of the data in the fact tables to be able to support such a report. 
         [0058]    The MDBT toolkit has been extended to support this type of report. To engage the toolkit, one starts to build the observation model (OM). 
         [0059]    The model  601  in  FIG. 6  shows observation models  602  comprising various BPM elements such as metrics, business events, and management context. The expression to calculate the metrics is defined in the operations part of the metric class. In this sample 5 monitoring contexts have been created that are part of this solution. 
         [0060]    To create the data warehouse model  602 , the dimensions that are needed for the solution, e.g.,  603 , are identified. A set of metrics are identified that are related to each other, which are grouped together under a class and stereotype them as “Dimension” and provide appropriate property values. 
         [0061]    The business data warehouse model  602  from  FIG. 6  shows one of the data warehouse model created for the slow changing requirement. Any dimension that will exhibit such nature needs to be identified at the modeling time. For this sample scenario in  FIG. 6 , the employee dimension that is circled is identified as a slow changing dimension by setting the value of “isSlowChangingDimension” property  603  to true. The attribute of this dimension that will be participate in change, the value of their (“isPartOfSCD”) property also needs to be set to true; so are EmpManager, location, and status attributes of this dimension. These simple steps are all that is needed to change an ordinary dimension to a slow changing dimension. See also  FIG. 7 , wherein an exemplary IT meta model  701 , including the “isSlowChangingDimension” property  702  and the “isPartOfSCD” property  703 . 
         [0062]    For code generation (see block  104 ,  FIG. 1A ), once the solution designer completes modeling activity, the run-time deployable component is generated by invoking the automatic code generation component.  FIG. 8  shows the generated data warehouse entity relationship diagram  801  with the slow changing dimension EmpDim  802  (see also block  105 ,  FIG. 1A ). The additional four columns discussed earlier were automatically generated to support the employee dimension. 
         [0063]    The fact table has an employee dimension surrogate key as entry instead of original primary key CNum, which is the employee serial number. 
         [0064]    The ETL component contains the updated SQL script for both dimension and fact table to support the slow changing employee dimension table. Since the dashboard component is not affected and thus can be deployed without change on Alphablox. See also  FIG. 9 , wherein an exemplary ETL SQL  901  includes an updated SQL script for both dimension and fact table to support the slow changing employee dimension table  902 . 
         [0065]    It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. In one embodiment, the present invention may be implemented in software as an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. 
         [0066]    Referring to  FIG. 10 , according to an embodiment of the present invention, a computer system  1001  for automatic management of changing dimensions of a BPM can comprise, inter alia, a central processing unit (CPU)  1002 , a memory  1003  and an input/output (I/O) interface  1004 . The computer system  1001  is generally coupled through the I/O interface  1004  to a display  1005 , e.g., for display of the video data, and various input devices  1006  such as a mouse and keyboard. The support circuits can include circuits such as cache, power supplies, clock circuits, and a communications bus. The memory  1003  can include random access memory (RAM), read only memory (ROM), disk drive, tape drive, or a combination thereof. The present invention can be implemented as a routine  1007  that is stored in memory  1003  and executed by the CPU  1002  to process the signal from the signal source  1008 . As such, the computer system  1001  is a general-purpose computer system that becomes a specific-purpose computer system when executing the routine  1007  of the present invention. 
         [0067]    The computer platform  1001  also includes an operating system, and micro instruction code. The various processes and functions described herein may either be part of the micro instruction code, or part of the application program (or a combination thereof) which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device. 
         [0068]    It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying FIGS. may be implemented in software, the actual connections between the system components (or the processes) may differ depending upon the manner in which the present invention is programmed. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention. 
         [0069]    Having described embodiments for a system and method for automatic management of changing dimensions in a BPM, it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments of the invention disclosed which are within the scope and spirit of the disclosure.