LF-ET – The Decision Table Tool
LF-ET is a tool to enable powerful modelling and long-term reliable maintenance of any logic using decision tables.
Strengths
Benefits
Increase in productivity
Numerous features support the user in developing, integrating, and verifying functional correlations, achieving a high level of content maturity and integrity at a very early stage.
The automatic completion of missing rules is just one of these fuctions.
Enhanced quality and safety
Extensive automatic checks during the stages of functional definition eliminate basic sources of error.
Redundant, contradictory, or incomplete content is displayed unambiguously and can be corrected quickly and safely, in some cases even automatically.
Easier and more precise communication
The standardized and extremely compact depiction of functional correlations, in form of tables, makes it possible to quickly and definitively refer to specific details during the communication process.
Logical correlations are clearly depicted in individual rules and do not need to be collected from extensive text documents, schedules, or graphics. This leaves less room for interpretation and rules out sources of misunderstanding.
Recognizing and understanding functional correlations from tables is much easier than from other display formats.
Easier inclusion of experts from individual departments
LF-ET makes it easier to include specialized know-how carriers into project work.
The limited time available to this group of know-how carriers often makes it difficult to prepare the functional definitions themselves. Due to the positive effects of the “easier and more precise communication” (see above), it is possible for experts to participate by selectively checking, evaluating, and giving their input.
LF-ET is also suitable for jointly developing specific content during an interview and systematically record and display it.
Improved measurability of individual business processes
The extent and complexity of every business logic can be derived directly from the size of the table: the number of contained conditions, actions and rules is directly visible.
This simplifies and safeguards the estimate of time and effort for subsequent phases, such as implementation, testing and approval.
Higher future security
The functional definitions primarily portray correlations from the “real” world and therefore should not be tied to specific technical executions.
The LF-ET system allows to freely choose the technical implementation and change and extend it reactively.
As a result, the same functional definition can be used for multiple systems and platforms. More information on this topic can be found in the section ‘Benefits for the implementation’.
Significant increase in productivity
The use of LF-ET reduces the programming effort to a necessary minimum. A logical expression and a corresponding statement for every action only need to be defined once for every condition, which can be done in the desired coding language.
The programming is indeed only done once: the stored statements can be reused for any number of program generation, as long as the functional meaning of the condition remains unchanged.
The complex, difficult and error-prone development of control structures, such as IF-ELSE-statements or case- or decide-statements, is not needed at all. The final structure of the program is calculated and created upon every generation.
Enhanced quality and security
Staight forward engineering: The program code is fully generated using the functional description and may not be changed manually.
The generated program code always corresponds to the functional description. Since its quality is always assured (i.e. in each case complete, redundancy and contradiction free) the same also applies to the logical quality of the program code.
The pure technical quality of the generated program code is being ensured upon every new creation:
- Calculation of the optimal program structure (“optimal search tree”)
- Smallest program volume
- Highest processing speed
High flexibility and future security: Any platform and object language possible
LF-ET allows for the option of multiple target platforms and programming languages possible for a business logic, which is to be implemented. A function that is used in a Java-project can be used for projects such as a PL/SQL-project or an ABAP-project.
Easy and safe derivation of test cases directly from the functional specification
Since every leg corresponds to exactly one functional rule the minimal number of test cases (i.e. no less than 100% test correspondence) can be directly read from the table: The number of rules! This implicates that there has to be at least one test case for every rule.
The tabular representation also allows for the detailed generation of each individual test case.
- The necessary constellations of conditions can be read accurately from the table
- As well as the predicted system reactions and results
Due to the powerful support of the test case creation it is easy to reach more than 100% correspondence of tests are easily achievable.
Reliable assessment of test scores and test quality
LF-ET also supports the test execution. With statistic analysis of the continuous rules is it possible to evaluate the conducted tests efficiently and reliably:
- Business logic involved in the test
- Test coverage
- Spread of test cases to the set of rules
Whether single components or greater sub-projects – the current status of tests is visible and assessable virtually at the touch of a button.
Extraction of test data e.g. from productive stocks
If the manual compilation of suitable test data is too challenging or complex, with the assistance of analysis, based on a rule level, it is possible to filter suitable data or data constellations specifically from existing databases.
Extremely low error rate
Using LF-ET proves time and again how high the quality of component creation is:
- Considerably fewer errors than through manually created processes
- Extremely quick reaction times in case of failure: both, the recognition of the error’s cause and its rectification, happen a lot faster than usual, since only ‘surgical’ changes are made in the functional description rather than within the software itself.
Both effects surprise customers and project participants again and again, especially when projects, conducted with LF-ET, enter production for the first time or after major changes.
Directly executable program code, outstanding transparency and monitoring
LF-ET, by default, generates directly implementable program code. Runtime components are deliberately forgone: no rule engines or rule servers necessary. Notwithstanding their complexity and costliness, forgoing them has a lot of advantages:
- LF-ET isn’t needed when the generated component is productively used
- Exceptional performance, beneficial use of resources
- There are only processes that have a corresponding code, e.g. for reviews or revisions
The system behavior corresponds 100% to the functional specifications
This is guaranteed when using LF-ET, since the program code is fully created from the functional specification and may not be manually reworked:
- All program branches are accurately and functionally comprehensible, since every single one has a definite connection to exactly one rule in a functional description. These connections are integrated into the generated program code as comments
- If, for instance, the continuous rules are recorded during the execution, the system behavior can be comprehended solely based on the functional specification
- This is especially effective in a problem case: false system reactions and their causes are easily identifiable
Higher Productivity and more security
- Changes to the functional description have a surgical character, in terms of “razor-sharp” and “very precise”
- Unintended side effects are prevented through indirect checks
Programming is rarely necessary
- Often “only” rules are changed, i.e. the relation between conditions and actions are changed
- Conventional coding usually triggers difficult and error-prone interference with complex program structures
- When using LF-ET the code is simply regenerated
- So long as conditions and actions aren’t substantially changed
- A long as no new conditions and actions are added
Continuous exalted program quality
- The ideal program structure is calculated and generated anew upon every change
The functional description of business processes always stays up-to-date
- Forward-engineering forever
- The program code is categorically generated from the specification and is not manually changed
Platforms
LF-ET is as a powerful complement for any developing environment available in two versions:
- As a Java application, the sole system requirement being Java runtime environment as of version 8
- As a Natural application on the mainframe for the 4GL Natural from Software AG
The Java version has been tested and released up to and including Java version 23 and can also be integrated as a plug-in in CI/CD pipelines.
Further Information
- Compact-Info: Logic Management via decision tables (PDF)
- Compact-Info: Benefits of the tool-supported use of decision tables (PDF)
- Compact-Info: Automatic test case generation with decision tables (PDF)
If you have any questions regarding LF-ET we will be happy to answer them, e.g. in a meeting or during an information event including a live demonstration.