BIRD NEXtGEN - eclipse-efbt/efbt GitHub Wiki

BIRD NEXtGEN – Automated Generation of BIRD Transformation Rules

BIRD NEXtGEN (a generator of Executable Generation Transformation rules) is a component of Eclipse Free BIRD Tools that automatically transforms EBA-annotated templates into Python code that runs on the BIRD data model. It generates executable transformation rules that map input data to report-ready cells.


1. Introduction

BIRD NEXtGEN streamlines the creation of BIRD generation transformation rules—those that convert data from the Enriched Logical Data Model (ELDM) or the Enriched Input Layer (EIL) into:

  • Populated report cells (e.g., FINREP templates).
  • Submission-ready datasets (e.g., AnaCredit/IREF).

By automating template analysis, attribute matching, and join definition, BIRD NEXtGen delivers approximately 98% of the required Python code—highlighting only a handful of areas for minor, user-guided tweaks.


2. Inputs to BIRD NEXtGen

  1. BIRD ELDM or Enriched Input Layer (EIL), as exports from the SQLDeveloper modelling tool.
  2. EBA-annotated templates in SMCubes format.
  3. Dimension mappings: links between EBA dimensions/members and SDD dimensions/members.
  4. SDD hierarchies: parent/child relationships of SDD members.
  5. Join configuration: high-level definitions for target products (e.g., credit card debt).

Note that all these inputs are editable with SQLDeveloper or Eclipse Free BIRD Tools, giving maximum flexibilty to contribute your requirments and fixes, while still using the official formats of BIRD.


3. Core Concepts: SMCubes as BIRD’s Language

  • Output Layer Cubes: Analogous to database tables (e.g., FINREP F01.01).
  • Cube Structure Items: Columns within a cube (e.g., CRRYNG_AMNT, HLD_SL_INDCTR).
  • Cube Links: High-level metadata lineage connecting cubes to ELDM/EIL tables.
  • Item Links: Detailed lineage mapping each cube column back to an ELDM/EIL attribute.

4. How It Works

  1. Automated Template Analysis

    • Uses the join configuration to determine which products (e.g., “Credit Card Debt”) apply to which templates (e.g., FINREP F05.01). This ensures that each report’s transformation rules are product-specific.
  2. Attribute Matching

    • For each cube structure item in an output layer cube (e.g., FINREP F01.01), BIRD NEXtGen scans ELDM/EIL attributes with matching domains and compatible value sets (SDD subdomains). It selects the most accurate attribute per product and flags any duplicates for review.
  3. Join Definition

    • Generates medium-level join descriptions between ELDM/EIL tables for the selected product subset. These definitions can be further refined for maximum precision.
  4. Code Generation

    • Converts cubes, combinations, links, and joins into executable Python modules. Approximately 98% of the code is autogenerated, with clear markers for manual adjustments.

5. Output Artifacts

  • SMCubes Combinations per datapoint—template datapoints expressed in SDD terms.
  • SMCubes Output Layer Cubes with structure items ready to be used by the generated combinations.
  • SMCubes Cube Links mapping cubes to ELDM/EIL tables (lineage overview).
  • SMCubes Item Links mapping cube columns to ELDM/EIL attributes (detailed lineage).
  • Join Specifications for ELDM/EIL tables, ready for final optimization.

6. Benefits and Flexibility

  • High Quality Lineage: Leveraging ELDM’s detailed semantics yields precise links and code.
  • LDM to EIL tranlation: Can Automatically translate ELDM-based mappings to work on EIL.
  • Reduced Manual Effort: Accelerates development by generating the bulk of transformation logic, while keeping the process transparent and customizable.

With BIRD NEXtGen, you get robust, repeatable, and transparent data transformation pipelines—from annotated templates all the way to runnable Python code.