User:Ovisvana/sandbox

Acuity is a rule engine for the Java platform that was developed by Om Viswanathan activated only one time, the declarative paradigm used by Acuity allows users to create and run rules of the if-then format. Rules can be written in plain english.

History
Acuity Business Rules composer is based on the 'take' rules engine available at []. 'take' is an open source derivation rules engine developed by Dr.Jens Dietrich of Massey University, New Zealand. 'take' is released under an Apache 2.0 license. Acuity makes the full power of 'take' rules engine available to the user including inline facts and bindings in rules. Factstore rules are not yet supported.

License
Acuity is not open source. Acuity's runtime code is open source but the other parts of Acuity are not. A subscription is required to use Acuity business rules composer software.

features

 * Plain English Rules
 * Dynamic compilation of Java files
 * Bindings and factstores in rules
 * Aggregations in rules
 * Java Bean object model
 * Built-in Beans and List Editor
 * Advanced Rules Editor
 * Advanced Bindings editor
 * Dashboard
 * Configurable Result pane tabs
 * Dynamic Runtime View
 * Wizard View
 * File upload facility
 * Ajax based RIA framework
 * Runs on standards based J2EE containers
 * User profile settings
 * Configurations persisted to database
 * Role based access control
 * Custom Edior Configuration for JavaBean Fields
 * Multiple form layouts
 * Filesystem classloader
 * Organize your work into multiple projects
 * Themes
 * Multiple Locales (coming soon)

Code examples
Code examples:

@take.compilerhint.class=SuggestedQuote @take.compilerhint.slots=car @take.compilerhint.method=getSuggestedQuote query suggestedQuote[in,out] @take.compilerhint.class=SuggestedQuote @take.compilerhint.slots=car @take.compilerhint.method=getQuotePerAdditionalFeature query quotePerAdditionalFeature[in,out] @take.compilerhint.class=SuggestedQuote @take.compilerhint.slots=customer, car @take.compilerhint.method=getSuggestedDiscount query getSuggestedDiscount[in,in,out] aggregation quotedPrice = sum x suggestedQuote[car]

d46e72: if car.name=’Merc’ and car.type=’s-class’ then suggestedQuote[car, “37500”]

d46f55: car.hasABSBrakers then suggestedQuote[car, “7500”]

d48x29: if car.hasSatelliteRadio then suggestedQuote[car, “3500”]

d48e37: if contains[car.optionalFeatures, AdditionalFeaturesList] then

quotePerAdditionalfeature[car, “2000”]

d12r76: if suggestedQuote[car] > 45000 and if suggestedQuote[car] < 60000 then suggestedDiscount[customer, car, “12%”]

d19g22: if suggestedQuote[car] > 60000 and if suggestedQuote[car] < 75000 then suggestedDiscount[customer, car, “20%”]

d33u19: if suggestedQuote[car] > 75000 then suggestedDiscount[customer, car, “35%”]

Related systems

 * CLIPS: public domain software tool for building expert systems.
 * ILOG rules: a business rule management system.
 * JBoss Drools: a business rule management system (BRMS).
 * Prolog: a general purpose logic programming language.
 * OpenL Tablets: business centric rules and BRMS.
 * DTRules: a decision table based, open-sourced rule engine for Java.