Constraints are added onto a business object to create a Constraint-Augmented Business Object (CABO). The constraints enable a user to validate the correctness of the business object.
Adding Constraints To A Business Object To Create A Constraint-Augmented
Business Object (CABO)
This technique enables a user to add one or more constraints to a business object
using a business object interface. Types of the one or more constraints may include
Pre-Condition constraints, Post-Condition constraints and Invariants. Pre-Condition
constraints are checked prior to execution of a method body. Post-Condition
constraints are checked after the execution of the method body. Invariants are checked
both at the beginning and end of the method body.
Further, the one or more constraints may be either mandatory constraints or advisory
constraints.
Violations caused due to mandatory constraints cause an application
Alternatively, in the
case of violations caused due to advisory constraints, the application continues to
execute and the violations are logged. Subsequently, logged information regarding
various violations caused due to the one or more constraints is available for review by a
business object developer. The logged information may further be used to generate an
HTML report. The HTML report may be used to validate one or more business rules
governing the business object.
In an exemplary instance, the business object represents a bank account. The bank
account may be a savings account or a money market account. One or more rules
applied to the bank account are added as one or more constraints to the business
object representing the bank account. The one or more constraints are added using a
Graphical User Interface (GUI).
Additionally, the business object may be developed
As an example, the following C++ code for a distributed Common Object Request
Broker Architecture (CORBA) application illustrates how the one or more constraints
are added to the business object. The example illustrates a deposit transaction in the
bank account. The technique may be applied for other transactions such as
withdrawal, etc. The one or more constraints are checked during the execution of the
C++ code and results are logged during runtime to generate an HTML report. In the example the
checking to a runtime log generated in HTML. The "METHOD" entry is used to log
Pre-Condition constraints and Post-Condition constraints. The "RNG" entries check for
ranges of values on one or more input parameters.
Additionally, "PRE" constraints
denote constraints that are checked prior to the execution of a business object method
body, and "POS" constraints denote constraints that are checked after the execution of
the business object method body.
(CABO) method is created from the business
object method by adding the one or more constraints to the business object. The
CABO method assumes the name of the original business object method (for example,
"deposit"),
A Constraint-
Augmented Business Object
while the original business object method is named by concatenating
executing the business object to terminate and log the...