Browse Prior Art Database

Content-related unique identifiers for execution units (business rules) so as to facilitate their maintenance and exploitation Disclosure Number: IPCOM000212086D
Publication Date: 2011-Oct-28
Document File: 4 page(s) / 82K

Publishing Venue

The Prior Art Database


This disclosure addresses the domain of business rules management systems, more particularly software engineering issues regarding their maintainability, including facilitating the maintenance of program tests, and facilitating the querying of their trace databases. the disclosure is described in the context of Business Rules Management Systems, and the execution units (called EU thereafter) described in the context are assimilated to individual business rules. the disclosure however applies to other contexts featuring similar types of execution units, such as database management systems (data base triggers being the EUs), or aspects-oriented programming (aspects being the EUs), as the disclosure will reveal.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 30% of the total text.

Page 01 of 4

Content-related unique identifiers for execution units (business rules) so as to facilitate their maintenance and exploitation

The generalization of highly customizable middleware applications in the past decade has had a tremendous impact on the enterprise information systems. Modern software architectures, as those mentioned above, provide mechanisms to allow a multiplicity of users to contribute pieces of application logic, for instance, to enforce a business policy, automate a process, instantiate a transaction or produce a tangible result. These pieces of application logic, which we thereafter call "execution units", are dynamically assembled by middleware software components and executed to form a complex enterprise application program.

    The management and maintenance of those sets of EUs creates some specific issues. First, because those sets are very large and for a large part the EU are automatically named, regular querying techniques are not fully functional as we will see later. Furthermore, in order to ensure consistency, individual tests need to be written for each, or at least, most, of those units. However, because many of those are (semi-) automatically generated (in the context of decision tables, for instance), the tests that were generated for them may become improperly invalidated, while the content of the EU has not changed significantly, therefore the test is a false positive.

    Currently, no product really addresses these issues explicitly. When querying a trace to find a rule that feature some specific kind of test, indexes and indirections are used to retrieve the semantics associated to a rule. This makes querying a long operation. The developers and maintainers of the EU have to put up with large numbers of false positive program tests that have to be rewritten frequently.

    Some techniques involving encoding meta-data into the name of a file or a function to ease some maintenance tasks. These methods are limited in the amount of information they encode for 2 reasons: the objects they designate can have a complex content, whereas the objects (EU) we reference have a precise semantics, such as a list of conjunctions, each being a single test (or they can be reduced to this canonical form). Also, these techniques do not rely on a pivot data model representation that provides a canonical way to represent the inner entities involved in an EU.

Therefore, existing art:
- does not specifically consider that automatically generated names for EUs used in unit tests will change, therefore rendering the tests invalid and complicating their maintenance

- When comparing execution traces for similarity, falsely generate non-equivalent executions when some automatically names generated for EUs have been changed as a side-effect of adding or removing EUs.

- Do not provide easy mechanism for querying the rules by content, nor provide a terse unique form for ordering and comparing EUs.


    We propose to encode the executi...