Combine the advantages of up-to-date and in-depth knowledge with the convenience



Similar documents
Rules and Business Rules

A Review and Comparison of Rule Languages and Rule-based Inference Engines for the Semantic Web

BUSINESS RULES MANAGEMENT AND BPM

The Semantic Web Rule Language. Martin O Connor Stanford Center for Biomedical Informatics Research, Stanford University

IBM WebSphere ILOG Rules for.net

Rules, RIF and RuleML

Semantic Web Tool Landscape

MANDARAX + ORYX An Open-Source Rule Platform

Semantic Business Process Management

K-SITE RULES: Integrating Business Rules in the mainstream software engineering practice

Analysis of the Specifics for a Business Rules Engine Based Projects

Making Business Rules operational. Knut Hinkelmann

A common interface for multi-rule-engine distributed systems

Open Source Business Rules Management System Enables Active Decisions

BUSINESS VALUE OF SEMANTIC TECHNOLOGY

Production Rule Representation

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

A methodology for graphical modeling of business rules

Property & Casualty Insurance Solutions from CCS Technology Solutions

How To Write A Rulebook In Anib Websphere Jrules

IBM BPM Solutions Addressing the Enterprise Business Process Management

DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

Data Integration using Semantic Technology: A use case

Open source business rules management system

The Ontological Approach for SIEM Data Repository

BUILDING FLEXIBLE ENTERPRISE PROCESSES USING ORACLE BUSINESS RULES AND BPEL PROCESS MANAGER. An Oracle White Paper Jan 2005

Geospatial Information with Description Logics, OWL, and Rules

Business Rule Standards -- Interoperability and Portability

Semantic Web Rules. Adrian Paschke. Semantic. Web. Pragmatic. Web

II. PREVIOUS RELATED WORK

AI Planning for Grid/Web Services Composition, Policy Analysis & Workflow

Semantic Web Technologies and Data Management

Representing and Solving Rule-Based Decision Models with Constraint Solvers

Progress Corticon BRMS

Answers to Top BRMS Questions

Semantic Interoperability

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE By using the RETE Algorithm Benefits of RETE Algorithm...

USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT

Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System

Business Performance Management Standards

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Evaluating Semantic Web Service Tools using the SEALS platform

Supporting Rule System Interoperability on the Semantic Web with SWRL

Introduction to Service Oriented Architectures (SOA)

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition

Service Virtualization: Managing Change in a Service-Oriented Architecture

Design and Implementation of a Service-Oriented Business Rules Broker

Performance Analysis, Data Sharing, Tools Integration: New Approach based on Ontology

Data Validation with OWL Integrity Constraints

Decisions in IBM Websphere ILOG BRMS

Magic Quadrant for Intelligent Business Process Management Suites

EUR-Lex 2012 Data Extraction using Web Services

Semantic Knowledge Management System. Paripati Lohith Kumar. School of Information Technology

Service Oriented Architecture

A model driven approach for bridging ILOG Rule Language and RIF

Semantic Stored Procedures Programming Environment and performance analysis

I D C V E N D O R S P O T L I G H T. C o r t i c o n T e chnologies: A S o l u t i o n t o

5 Five Ways to Fast ROI With Business Rule Management Systems (BRMS)

Business-Driven Software Engineering Lecture 3 Foundations of Processes

The OMG BPM Standards

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

Lightweight Data Integration using the WebComposition Data Grid Service

Deep Integration of Python with Semantic Web Technologies

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

RDF Resource Description Framework

Clinical Knowledge Manager. Product Description 2012 MAKING HEALTH COMPUTE

LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model

Java Rules Engine Drools & ilog

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

The Semantic Web for Application Developers. Oracle New England Development Center Zhe Wu, Ph.D. 1

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

LDIF - Linked Data Integration Framework

A standards-based approach to application integration

Business Rule Management. Effective IT Modernization

SOA Enabled Workflow Modernization

Business Rules are from Mars & Processes from Venus

Distributed systems. Distributed Systems Architectures

InRule. The Premier BRMS for the Microsoft Platform. Benefits THE POWER OF INRULE. Key Capabilities

Transcription:

Topic relevant selected content from the highest rated entries, typeset, printed and shipped. Combine the advantages of up-to-date and in-depth knowledge with the convenience of printed books. A portion of the proceeds of each book will be donated to the Wikimedia Foundation to support their mission: to empower and engage people around the world to collect and develop educational content under a free license or in the public domain, and to disseminate it effectively and globally. The content within this book was generated collaboratively by volunteers. Please be advised that nothing found here has necessarily been reviewed by people with the expertise required to provide you with complete, accurate or reliable information. Some information in this book maybe misleading or simply wrong. The publisher does not guarantee the validity of the information found here. If you need specific advice (for example, medical, legal, financial, or risk management) please seek a professional who is licensed or knowledgeable in that area. Sources, licenses and contributors of the articles and images are listed in the section entitled References. Parts of the books may be licensed under the GNU Free Documentation License. A copy of this license is included in the section entitled GNU Free Documentation License All used third-party trademarks belong to their respective owners.

Contents Articles Business rule management system 1 Semantic reasoner 3 Bossam (software) 6 Business rules engine 6 Cleverpath AION Business Rules Expert 10 Corticon 12 D3web 15 Drools 17 DTRules 20 Event condition action 21 Jess (programming language) 22 JSR 94 24 Mandarax 25 OpenL Tablets 26 Production Rule Representation 28 R2ML 29 Reasoning system 30 Rule-based system 33 RuleML 34 StrixDB 35 Versata 37 Expert system 40 Expert systems for mortgages 47 Backward chaining 49 CADUCEUS (expert system) 51 CLIPS 52 Dendral 54 EGanges 57 Explanation facility 58 Explanation module 58 Forward chaining 58 FuzzyCLIPS 59 Global Infectious Disease Epidemiology Network 60 Illyria (software) 61

Inference engine 61 Internist-I 63 Mycin 65 OpenKBM 67 Production system 68 PROPHET system 71 Rete algorithm 72 Rog-O-Matic 79 SHINE Expert System 80 Shyster (expert system) 82 Split Up (Decision Support System) 85 Validis 88 Xcon 89 References Article Sources and Contributors 91 Image Sources, Licenses and Contributors 93 Article Licenses License 94

Business rule management system 1 Business rule management system A BRMS or Business Rule Management System is a software system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by operational systems within an organization or enterprise. This logic, also referred to as business rules, includes policies, requirements, and conditional statements that are used to determine the tactical actions that take place in applications and systems. Overview A BRMS includes, at minimum: [1] A repository, allowing decision logic to be externalized from core application code Tools, allowing both technical developers and business experts to define and manage decision logic A runtime environment, allowing applications to invoke decision logic managed within the BRMS and execute it using a business rules engine The top benefits of a BRMS include: [2] Reduced or removed reliance on IT departments for changes in live systems. Although, QA and Rules testing would still be needed in any enterprise system. Increased control over implemented decision logic for compliance and better business management The ability to express decision logic with increased precision, using a business vocabulary syntax and graphical rule representations (decision tables, trees, scorecards and flows) Improved efficiency of processes through increased decision automation Most BRMS vendors have evolved from rule engine vendors to provide business-usable software development lifecycle solutions, based on declarative definitions of business rules executed in their own rule engine. However, some vendors come from a different approach (for example, they map decision trees or graphs to executable code). Rules in the repository are generally mapped to decision services that are naturally fully compliant with the latest SOA, Web Services, or other software architecture trends. Related software approaches In a BRMS, a representation of business rules maps to a software system for execution. A BRMS therefore relates to model-driven engineering, such as the Model Driven Architecture (MDA) of the Object Management Group (OMG). It is no coincidence that many of the related standards come under the OMG banner. Associated standards There is no current implementation standard for business rules defined within a BRMS, although there is a standard for a Java Runtime API for rule engines JSR-94. Other standards (under development) include: OMG Business Motivation Model (BMM): A model of how strategies, processes, rules, etc fit together for business modeling OMG SBVR: Targets business constraints as opposed to automating business behavior OMG Production Rule Representation (PRR): Represents rules for production rule systems that make up most BRMS' execution targets W3C RIF: A family of related rule languages for rule interchange Many standards, such as domain-specific languages, define their own representation of rules, requiring translations to generic rule engines or their own custom engines.

Business rule management system 2 Other domains, such as PMML, also define rules. RuleML provides a (mostly academic) family of mark-up languages that could be used in a BRMS, but are usually used for research purposes. Products and vendors JBoss Enterprise BRMS (open source) OpenL Tablets BRMS (open source) Be Informed [3] BRMS, BRE and BPM WebSphere ILOG BRMS: IBM WebSphere ILOG JRules [4] Bosch Software Innovations FICO InRule Technology OpenRules Pegasystems Sparkling Logic SMARTS(tm) [5] next generation collaborative decision management system and BRMS Sapiens International Corporation emerge Platform [6] References [1] Is Your Rules Engine Event-Driven? (http:// www. sapiens-tech. com/ idunedownload. dll?getfile?appid=225& FileID=216581& Anchor=& ext=. pdf) [2] "The Hidden Value of Event-Driven Business Rules Engines" (http:// www. sapiens-tech. com/ idunedownload. dll?getfile?appid=225& FileID=216577& Anchor=& ext=. pdf) Sapiens Whitepaper, May 2005 [3] http:/ / www. BeInformed. com [4] http:/ / www-01. ibm. com/ software/ integration/ business-rule-management/ jrules-family/ [5] http:/ / www. sparklinglogic. com [6] http:/ / www. sapiens-tech. com/ External links Workshop summary paper: Six Views on the Business Rule Management System (http:// www. e-journal-of-pbr. info/ resch-six-views-business-rule-management-system)

Semantic reasoner 3 Semantic reasoner A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining. There are also examples of probabilistic reasoners, including Pei Wang's non-axiomatic reasoning system, Novamente's probabilistic logic network, and Pronto - probabilistic description logic reasoner. Semantic reasoners, etc. Existing semantic reasoners and related software: Non-free software Bossam (software), an RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL rules, and RuleML rules. DLog, Resolution based Description Logic ABox reasoner that translates to Prolog (DLog [1] ). OWLIM, a high-performance semantic repository developed in Java and available in two versions: free SwiftOWLIM and commercial BigOWLIM. Supports a subset of OWL-Lite semantics, which can be configured through rule-set definition and selection. [2] (OWLIM [3] ) RacerPro, a semantic web reasoning system and information repository (RacerPro [4] ) SHER, a scalable Pellet-backed OWL DL reasoner (SHER [5] ). OntoBroker, highly scalable SemanticWeb middleware (OntoBroker [6] ). Free software BaseVISor, a versatile forward chaining inference engine specialized to handle facts in the form of RDF triples with support for OWL 2 RL and XML Schema Datatypes (BaseVISor [7] ). Cwm, a forward chaining reasoner which can be used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, and it uses RDF/XML or N3 serializations as required. (CWM [8] ) Drools, a forward chaining inference based rules engine that uses an enhanced implementation of the Rete algorithm. FaCT, a description logic (DL) classifier. (FaCT [9] ) FaCT++, the new generation of FaCT OWL-DL reasoner. (FaCT++ [10] ) Hoolet, reasons over OWL-DL ontologies by translating them to full first-order logic and then applying a first-order theorem prover. (Hoolet [11] ) Jena (framework), an open source semantic web framework for Java which includes a number of different semantic reasoning modules. KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies. Large_Knowledge_Collider or LarKC is a large scale distributed reasoner that focuses on performance by allowing incomplete reasoning Pellet, an open-source Java OWL DL reasoner. (Pellet [12] ) Prova, an open-source Semantic Web rule engine which supports data integration via SPARQL queries and type systems (RDFS, OWL ontologies as type system). (Prova [13] ) SweetRules, an integrated set of tools for Semantic web rules and ontologies. (SweetRules [14] )

Semantic reasoner 4 HermiT, the first publicly-available OWL reasoner based on a novel hypertableau calculus which provides much more efficient reasoning than any previously-known algorithm. (HermiT [15] ) Reasoner comparison BaseVISor Bossam Hoolet Pellet KAON2 RacerPro Jena FaCT FaCT++ SweetRules OWLIM OntoBroker HermiT OWL-DL Entailment No Unknown Yes Yes Yes Yes No complete reasoner included with standard distribution Yes Yes No No Yes Yes Supported Unknown Unknown SROIQ(D) SHIQ(D) SHIQ(D-) varies by SHIQ SROIQ(D) Unknown OWL: SHIQ(D) SHOIQ+ expressivity R-entailment, reasoner R-entailment, (for OntoBroker for OWL 2 RL (incomplete OWL 2 RL 6.1: Subset of reasoning for OWL-RL); nontrivial F-logic: normal description logic, logics) wellfounded semantics Reasoning Rule-based, Rule-based First-order Tableau Resolution & Tableau Rule-based Tableau Tableau Rule-based Rule-based OWL: algorithm Rete prover Datalog Resolution & Hypertableau Datalog; F-logic: Rule-based (BottomUp, MagicSet, DynamicFiltering, QSQ) Consistency checking Yes Unknown Yes Yes Yes Yes Incomplete for OWL DL Yes Yes No Yes Yes Yes DIG Support No No No Yes Yes Yes Yes Yes Yes No No Yes No Rule Yes (Own Yes (SWRL Yes Yes Yes Yes Yes (Own No No Yes Yes (Own Yes (SWRL, Yes Support rule format) & own rule (SWRL) (SWRL DL (SWRL DL (SWRL not rule (SWRL, format) RIF, F-logic, (SWRL DL format) Safe Rules) Safe Rules) fully format) RuleML, ObjectLogic) Safe Rules) supported) & Jess) own rule format Version 2.0 0.9b45 Unknown 2.0.2 2008-06-29 2.0 preview 2.5.4 Unknown 1.1.8 2.1 2.x/3.x 6.1 1.3.4 Licensing Non- Non- closed-source closed-source open-source open-source closed-source closed-source open-source open-source open-source open-source open-source closed-source open-source (academic & Non- & Non- and research closed-source closed-source use) & Non-Free / closed-source

Semantic reasoner 5 External links OWL 2 Reasoners listed on W3C OWL Working Group homepage [16] SPARQL Query Language for RDF [17] Introduction to Description Logics DL course [18] by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italy Marko Luther, Thorsten Liebig, Sebastian Böhm, Olaf Noppens: Who the Heck Is the Father of Bob? [19]. ESWC 2009: 66-80 Jurgen Bock, Peter Haase, Qiu Ji, Raphael Volz. Benchmarking OWL Reasoners [20]. In ARea2008 - Workshop on Advancing Reasoning on the Web: Scalability and Commonsense (June 2008) Tom Gardiner, Ian Horrocks, Dmitry Tsarkov. Automated Benchmarking of Description Logic Reasoners [21]. Description Logics Workshop 2006 OpenRuleBench [22] Senlin Liang, Paul Fodor, Hui Wan, Michael Kifer. OpenRuleBench: An Analysis of the Performance of Rule Engines. 2009. Latest benchmarks at OpenRuleBench website [23]. Pronto [24], a probabilistic description logic reasoner. References [1] http:/ / sintagma. szit. bme. hu/ dlog [2] OntoText.com (http:// www. ontotext. com/ inference/ rdfs_rules_owl. html#owl_fragments) [3] http:/ / www. ontotext. com/ owlim/ index. html [4] http:/ / www. racer-systems. com [5] http:/ / www. alphaworks. ibm. com/ tech/ sher [6] http:/ / www. ontoprise. de/ index. php?id=135 [7] http:/ / vistology. com/ basevisor/ basevisor. html [8] http:/ / www. w3. org/ 2000/ 10/ swap/ doc/ cwm. html [9] http:/ / www. cs. man. ac. uk/ ~horrocks/ FaCT/ [10] http:/ / owl. man. ac. uk/ factplusplus/ [11] http:/ / owl. man. ac. uk/ hoolet/ [12] http:/ / pellet. owldl. com/ [13] http:/ / prova. ws [14] http:/ / sweetrules. projects. semwebcentral. org/ [15] http:/ / hermit-reasoner. com/ [16] http:/ / www. w3. org/ 2007/ OWL/ wiki/ Implementations [17] http:/ / www. w3. org/ TR/ rdf-sparql-query/ [18] http:/ / www. inf. unibz. it/ ~franconi/ dl/ course/ [19] http:/ / dx. doi. org/ 10. 1007/ 978-3-642-02121-3_9 [20] http:/ / www. aifb. uni-karlsruhe. de/ WBS/ pha/ publications/ owlbenchmark_07_2007. pdf [21] http:/ / sunsite. informatik. rwth-aachen. de/ Publications/ CEUR-WS/ Vol-189/ submission_23. pdf [22] http:/ / www2009. org/ proceedings/ pdf/ p601. pdf [23] http:/ / rulebench. projects. semwebcentral. org/ [24] http:/ / pellet. owldl. com/ pronto

Bossam (software) 6 Bossam (software) Bossam is an inference engine (a Semantic Reasoner) for the semantic web. It is basically a RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL ontologies, and RuleML rules. Additionally, Bossam includes several expressivity features including: 1) URI references as symbols, 2) 2nd-order logic syntax, 3) disjunctions in the antecedent and conjunctions in the consequent (both via Lloyd-Topor transformation), 4) URI-based java method attachment, 5) support for both negation-as-failure and classical negation. Bossam loads, performs reasoning over, and answers to the queries over a knowledge set, which can include any combination of the following document types. 1. RDF(S) documents (in RDF/XML or in N3) 2. OWL documents (in RDF/XML or in N3) 3. Bossam rule documents 4. SWRL(+OWL) documents (in OWLX or in RDF/XML) Bossam can call Java objects from the antecedent or consequent of rules through the URI-based java method attachment. It's possible to easily mix Java objects into the combination of rules and ontologies. External links Bossam Rule/OWL Reasoner Homepage (http:/ / bossam. wordpress. com) Business rules engine A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal reason"), company policy ("All customers that spend more than $100 at one time will receive a 10% discount"), or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code. Rule engines typically support rules, facts, priority (score), mutual exclusion, preconditions, and other functions. Rule engine software is commonly provided as a component of a business rule management system which, among other functions, provides the ability to: register, define, classify, and manage all the rules, verify consistency of rules definitions ( Gold-level customers are eligible for free shipping when order quantity > 10 and maximum order quantity for Silver-level customers = 15 ), define the relationships between different rules, and relate some of these rules to IT applications that are affected or need to enforce one or more of the rules. IT use In any IT application, business rules change more frequently than the rest of the application code. Rules engines or inference engines are the pluggable software components that execute business rules that have been externalized from application code as part of a business rules approach. This externalization of business rules allows the business users to modify the rules frequently without the need of IT intervention. The system as a whole becomes more adaptable with business rules that can be changed dynamically, although QA and other testing would still be required.

Business rules engine 7 Design strategies Many organizations' rules efforts combine aspects of what is generally considered work-flow design with traditional rule design. This failure to separate the two approaches can lead to problems with the ability to re-use and control both business rules and workflows. Design approaches that avoid this quandary separate the role of business rules and work flows as follows: [1] Business rules produce knowledge; work flows perform business work. Concretely, that means that a business rule may do things like detect that a business situation has occurred and raise a business event (typically carried via a messaging infrastructure) or create higher level business knowledge (e.g., evaluating the series of organizational, product, and regulatory-based rules concerning whether or not a loan meets underwriting criteria). On the other hand, a work flow would respond to an event that indicated something such as the overloading of a routing point by initiating a series of activities. This separation is important because the same business judgment (mortgage meets underwriting criteria) or business event (router is overloaded) can be reacted to by many different work flows. Embedding the work done in response to rule-driven knowledge creation into the rule itself greatly reduces the ability of business rules to be reused across an organization because it makes them work-flow specific. To create an architecture that employs a business rules engine it is essential to establish the integration between a BPM (Business Process Management) and a BRM (Business Rules Management) platform that is based upon processes responding to events or examining business judgments that are defined by business rules. There are some products in the marketplace that provide this integration natively. In other situations this type of abstraction and integration will have to be developed within a particular project or organization. Most Java-based rules engines provide a technical call-level interface, based on the JSR-94 application programming interface (API) standard, in order to allow for integration with different applications, and many rule engines allow for service-oriented integrations through Web-based standards such as WSDL and SOAP. Most rule engines supply the ability to develop a data abstraction that represents the business entities and relationships that rules should be written against. This business entity model can typically be populated from a variety of sources including XML, POJOs, flat files, etc. There is no standard language for writing the rules themselves. Many engines use a Java-like syntax, while some allow the definition of custom business friendly languages. Most rules engines function as a callable library. However, it is becoming more popular for them to run as a generic process akin to the way that RDBMSs behave. Most engines treat rules as a configuration to be loaded into their process instance, although some are actually code generators for the whole rule execution instance and others allow the user to choose. Types of rule engines There are a number of different types of rule engines. These types (generally) differ in how Rules are scheduled for execution. Most Rules Engines used by businesses are forward chaining, which can be further divided into two classes: The first class processes so-called production/inference rules. These types of rules are used to represent behaviors of the type IF condition THEN action. For example, such a rule could answer the question: "Should this customer be allowed a mortgage?" by executing rules of the form "IF some-condition THEN allow-customer-a-mortgage". The other type of rule engine processes so-called reaction/event Condition Action rules. The reactive rule engines detect and react to incoming events and process event patterns. For example, a reactive rule engine could be used to alert a manager when certain items are out of stock.