IDIOM News
From Business Rules Journal
Testing Business Rule Formulas in the IDIOM Decision Suite
As part of the normal development cycle, the rules builders test their rules using the integrated Text Executive that is part of the IDIOM Decision Suite. The Test Executive supports both unit testing and the creation of regression test suites. Individual tests invoke a local instance of the IDIOM runtime so that all aspects of the tests are identical to any final production situation. Results from these tests can be automatically compared with known good results. A typical test run begins by generating and compiling code from the repository being tested, thus supporting the rules builder in a natural cycle of edit and test. These facilities suffice to produce a correct repository.
The Test Executive allows the rules builder to test the rules locally, without IT assistance. It is an IT responsibility to implement additional integration and QA processes prior to release into production if required. The IDIOM runtime is supplied with regression testing and logging tools to assist this process.
Under the hood - a technical view
The IDIOM Decision Manager is a .NET application written in C#, comprising a client and a server. The client is the interface used by business people, with the support of a technically-oriented administrator, to create repositories of business rules. The characteristic features of the client interface are easy-to-use graphics and tree views and computer-assisted rules construction.
The server manages the rules repositories and provides various database, session, and related applications services. For example, it manages multi-user access to individual repositories. Repository contents are held as encrypted XML in the server’s file system. Selected parts of the repository are served to the clients over TCP/IP on an as required basis, so that network traffic is optimised within the context of usability at the client end.
The IDIOM Decision Manager includes facilities for importing and exporting repositories and/or their contents. A repository can be exported in various forms: as Java or C#, either source code or compiled; as encrypted or unencrypted XML, both of which can also be imported; and user-oriented documentation in the form of formula diagrams, decision trees and English language formula specifications. Further languages, both computer and human readable, are proposed.
IDIOM has a small footprint and can be used in any application, database or system environment. It does not mandate specific architecture or technology platforms. It generates compiled code (Java or C#) and therefore provides an efficient run time environment. Various options are available to integrate the decision service into the application: local programming language API, stateless Enterprise Java Bean, loosely coupled middleware such as MQ, IBM Business Rules Beans architecture, SOAP-compliant web services interface, COM-callable DLL, Sonic ESB and so on.
Performance and throughput in the processing of decisions are important issues. Returning to the Power Solutions case, hospital funding is managed over an annual cycle, and so up to a year’s worth of patient episodes may need to be processed whenever costing is being done. With large numbers (more than 500,000) of episodes to be processed on each run, performance becomes an important factor. This is where the IDIOM code generation approach proves its worth: by generating optimised code that is compiled and embedded within the host application, rules performance of a few milliseconds per episode is achieved over a local API architecture.
Rules become a new feature of the market
The IDIOM approach opens up the possibility that highly complex rules-based "decision modules" developed and refined by one party can be provided or sold to another. Power Solutions, for example, can provide the complete range of government managed funding rules for different jurisdictions as a service to their customers - pure ‘knowledge’ in a form that could very easily be described as a software version of the familiar PLC (programmable logic controller). IDIOM supports the distribution of rules between parties as generated code (compiled or source), or as IDIOM repositories (a repository is a complete set of rules).
In this way IDIOM can do for the services industries what PLC’s did for the manufacturing industries - with "decision modules" forming the basis for turnkey solutions to complex problems, able to be inserted into any application or published service. We anticipate the development of a primary market for the manufacture and supply of units of business knowledge, allowing businesses to respond quickly to changes in market and competitive pressures. Idiom Ltd is now working with forward looking companies to develop a primary market in rules - a knowledge market.
Idiom Ltd is fully committed to standards: when the various standards bodies complete the process of defining rules specification standards (BRML, RML, XRML, etc) IDIOM rules will also be generated in compliant forms.
The development process - IDIOM Decision Centric analysis
New markets and new capabilities generate new processes. We believe that as users become familiar with the capabilities of IDIOM their analysis processes may move progressively towards what we call decision centric analysis.
Decision centric analysis recognises that a business’s approach to decision making should be described and captured in the early phase analysis - decisions and decision making processes are recognized as "first-class citizens" of the analysis world (to adopt the terminology of the Business Rules Group in their "Rules Manifesto").
Using this approach, the problem domain is analysed in terms of the core decisions the business makes and the associated significant process outcomes. Some examples from IDIOM-supported applications include "Sell an insurance policy" and "Approve a claim" for insurance; or "Match a recipient to an organ donor" and "Determine the value of a patient episode" for health; or "Determine the value of a goods movement" for logistics. Decisions presuppose data - both input and output - and analysis of the core decisions therefore implies a data design which can be represented by a set of schemas. Schemas provide the opportunity for a tool like IDIOM to then be used to analyse the process flow by decomposing the core decisions down to the lowest level at which the outcomes are recorded and used by the business.
The promise of this approach is a rapid and self-validating breakdown of the problem domain to a level at which procedural logic can be easily defined (in the form of formulas) to complete the analysis process. Because generation of both human readable and computer executable versions of the formulas is automated this step also completes the rules programming and documentation processes.
Summary
We have described an example of how IDIOM is being used in a health costing application. This example highlights the potential for multiple parties to use specialist domain knowledge in one or more applications to extend its range and sophistication. Such applications may be applications that are resold or used in-house.
We have shown how IDIOM uses the concepts of schemas and decision trees to reduce the complexity of the domain problem - this ensures an appropriate level of problem "granularity" before rules are defined as formulas.
We have also provided examples of IDIOM’s powerful GUI with its unique graphical representation of rules and formulas and of the "plain English" output that is used by business people to confirm the accuracy of the IDIOM generated rules.
We believe the IDIOM paradigm of graphical user interface, "English" output, and small footprint is a significant step forward in the development and deployment of business rules management technology.
| Please direct any comments or questions to Mark Norton. |
![]()
![]()
![]()
![]()
![]()
|
| Return to News Archive ... |










