Skip to main contentSkip to search
Powered by Zoomin Software. For more details please contactZoomin
Progress DocumentationProgress Documentation
Progress Documentation
  • Home
  • Home
  • EnglishČeštinaDeutsch (Germany)Español (Spain)Français (France)Italiano (Italy)Português (Brasil)日本語Русский (Russia)中文 (简体) (China)中文 (繁體, 台灣) (Taiwan)ar-AR
  • Login

Corticon Rule Modeling

Advanced Ruleflow techniques and tools

Save PDF
Save selected topicSave selected topic and subtopicsSave all topics
Share
Share to emailCopy topic URL
Print
Table of Contents
  • Introduction to Corticon rule modeling
  • Build the Vocabulary
    • Generate a Vocabulary
      • Use JSON Schema to generate a vocabulary
      • Use JSON to generate a vocabulary
    • Build a Vocabulary by hand
      • Step 1: Design the Vocabulary
      • Step 2: Identify the terms
      • Step 3: Separate the generic terms from the specific
      • Step 4: Assemble and relate the terms
      • Step 5: Diagram the Vocabulary
      • Step 6: Model the Vocabulary in Corticon Studio
    • Populate a Vocabulary from a Datasource
      • Step 1: How Datasources are transformed into a Corticon Vocabulary
      • Step 2: The Vocabulary generation process for RDBMS sources
      • Step 3: The Vocabulary generation process from REST sources
      • Step 4: Verify and update the generated Vocabulary
    • Extend a Vocabulary
      • Custom Data Types
        • Constraint Expressions
          • How to use non-enumerated Custom Data Types in Rulesheets and Ruletests
        • Enumerations
          • How enumeration labels and values behave
          • Enumerations defined in the Vocabulary
          • Enumerations retrieved from a database
        • How to use Custom Data Types
          • Use Custom Data Types in a Vocabulary
            • Use enumerated Custom Data Types in Ruletests
            • Use IN operator with an enumerated list
          • Use enumerated Custom Data Types in Rulesheets
          • Use enumerated Custom Data Types in Ruletests
          • Use IN operator with an enumerated list
        • How to relax enforcement of Custom Data Types
      • Domains
        • Domains in a Rulesheet
        • Domains in a Ruletest
      • Support for inheritance
    • TestYourself questions for Build the vocabulary
  • Rule scope and context
    • Rule scope
    • Aliases
    • Scope and perspectives in the vocabulary tree
      • How to use roles
      • Technical aside
    • TestYourself questions for Rule scope and context
  • Rule writing techniques
    • How to generate rules with the AI Assistant
    • How to work with rules and filters in natural language
    • Filters versus conditions
    • Qualify rules with ranges and lists
      • Ranges and lists in conditions and filters
        • Value ranges in condition and filter expressions
        • Value lists in condition and filter expressions
      • Ranges and value sets in condition cells
        • Boolean condition versus values set
          • Exclusionary syntax
          • How to use other in condition cells
        • Numeric value ranges in conditions
        • String value ranges in condition cells
        • Value sets in condition cells
        • Variables as condition cell values
        • DateTime, date, and time value ranges in condition cells
        • Inclusive and exclusive ranges
        • Value ranges that overlap
        • Alternatives to value ranges
    • How to use standard Boolean constructions
    • How to embed attributes in posted rule statements
    • How to include apostrophes in strings
    • How to work with rules and filters in natural language
    • TestYourself questions for Rule writing techniques and logical equivalents
  • Collections
    • How Corticon Studio handles collections
    • How to visualize collections
    • A basic collection operator
    • How to filter collections
    • How to use aliases to represent collections
    • Sorted aliases
    • Advanced collection sorting syntax
    • Statement blocks
    • Using sorts to find the first or last in grandchild collections
    • Singletons
    • Special collection operators
      • Universal quantifier
      • Existential quantifier
      • Another example using the existential quantifier
    • Aggregations that optimize EDC database access
    • TestYourself questions for Collections
  • Rules containing calculations and equations
    • Operator precedence and order of evaluation
    • Data type compatibility and casting
      • Data type of an expression
      • Defeating the parser
      • Manipulating data types with casting operators
    • Supported uses of calculation expressions
      • Calculation as a comparison in a precondition
      • Calculation as an assignment in a noncondition
      • Calculation as a comparison in a condition
      • Calculation as an assignment in an action
    • Unsupported uses of calculation expressions
    • TestYourself questions for Rules containing calculations and equations
  • Rule dependency in chaining and looping
    • Forward chaining
    • Rulesheet processing modes of looping
      • Types of loops
    • Looping controls in Corticon Studio
      • How to identify loops
        • The loop detection tool
        • How to remove loops
        • How to terminate infinite loops
    • Looping examples
      • Determine the next working day when given a date
      • Remove duplicated children in an association
    • How to use conditions as a processing threshold
    • TestYourself questions for Rule dependency chaining and looping
  • Filters and preconditions
    • What is a filter
      • Full filters
      • Limiting filters
      • Database filters
    • What is a precondition
      • Summary of filter and preconditions behaviors
      • Performance implications of the precondition behavior
    • How to use collection operators in a filter
      • Location matters
      • Multiple filters on collections
    • Filters that use OR
    • TestYourself questions for Filters and preconditions
  • How to recognize and model parameterized rules
    • Parameterized rule where a specific attribute is a variable or parameter within a general business rule
    • Parameterized rule where a specific business rule is a parameter within a generic business rule
    • How to populate an AccountRestriction table from a sample user interface
    • TestYourself questions for Recognizing and modeling parameterized rules
  • How to write rules to access external data
    • A scope refresher
    • Quick steps for setting up the Cargo sample
    • Enable database access for rules using root-level entities
      • Test the Rulesheet with database access disabled
      • Test the Rulesheet with database access enabled
      • Optimize aggregations that extend to database
    • Precondition and filters as query filters
      • Filter query qualification criteria
      • Operators supported in query filters
      • How to use multiple filters in filter queries
    • Insert new records in a middle table
    • Integrate EDC Datasource data into rule output
    • TestYourself questions for how to write rules to access external data
  • Logical analysis and optimization
    • Ask the AI Assistant for help
    • Test, validate, and optimize your rules
      • Generate Ruletests
      • Scenario testing
      • Rulesheet analysis and optimization
    • Traditional methods of analyzing logic
      • Flowcharts
      • Test suites
    • Validate and test Rulesheets in Corticon Studio
      • How to expand rules
      • The conflict checker
      • The completeness checker
        • Automatically determine the complete values set
        • Automatically compress the new columns
        • Handle limitations of the completeness checker
        • Let the expansion tool work for you with tabular rules
        • Memory management
      • Logical loop detection
    • Test rule scenarios in the Ruletest Expected panel
      • How to navigate in Ruletest Expected comparison results
      • Review test results when using the Expected panel
        • Output results match expected exactly
        • Different values output than expected
        • Fewer values output than expected
        • More values output than expected
        • All Expected panel problems
      • Techniques that refine rule testing
        • Set selected attributes to ignore validation
        • Use key attributes to improve difference detection in Ruletests
        • Set how whitespace is handled
        • Numerical equivalence
    • How to optimize Rulesheets
      • The compress tool
      • How to produce characteristic Rulesheet patterns
      • Compression creates subrule redundancy
      • Effect of compression on Corticon Server performance
    • Precise location of problem markers in editors
    • TestYourself questions for Logical analysis and optimization
  • Advanced Ruleflow techniques and tools
    • How to use a Ruleflow in another Ruleflow
    • Conditional branching in Ruleflows
      • Example of branching based on a Boolean
      • Example of branching based on an enumeration
      • Logical analysis of a branch container
      • How branches in a Ruleflow are processed
    • How to generate Ruleflow dependency graphs
    • Ruleflow versions and effective dates
    • TestYourself questions for Ruleflow versions and effective dates
  • Troubleshooting Corticon Studio problems
    • Where did the problem occur
    • Use Corticon Studio to reproduce the behavior
      • Observe constraint violations or severe errors
      • Analyze Ruletest results
      • Trace rule execution
      • Use rule messages to expose values
      • Identify the breakpoint
      • At the breakpoint
        • No results
        • Incorrect results in Studio
      • Partial rule firing
      • How to initialize null attributes
      • How to handle nulls in compare operations
    • Studio license expiration
    • How to compare and report on Rulesheet differences
    • TestYourself questions for Troubleshooting rulesheets and ruleflows
  • Studio properties and settings
  • Answers to TestYourself questions
    • TestYourself answers for Building the vocabulary
    • TestYourself answers for Rule scope and context
    • TestYourself answers for Rule writing techniques and logical equivalents
    • TestYourself answers for Collections
    • TestYourself answers for Rules containing calculations and equations
    • TestYourself answers for Rule dependency and inferencing
    • TestYourself answers for Filters and preconditions
    • TestYourself answers for Recognizing and modeling parameterized rules
    • TestYourself answers for Writing rules to access external data
    • TestYourself answers for Logical analysis and optimization
    • TestYourself answers for Ruleflow versioning and effective dating
    • TestYourself answers for Troubleshooting rulesheets
Table of Contents

Advanced Ruleflow techniques and tools

Save PDF
Save selected topicSave selected topic and subtopicsSave all topics
Share
Share to emailCopy topic URL
Print
  • Last Updated: June 2, 2021
  • 1 minute read
    • Corticon
    • Version 7.2
    • Documentation

Ruleflows provide techniques for combining, branching, and graphing. You can also use versioning and effective dating to precisely manage your Ruleflows when they are compiled into Decision Services.

Contents
  1. How to use a Ruleflow in another Ruleflow
  2. Conditional branching in Ruleflows
  3. How to generate Ruleflow dependency graphs
  4. Ruleflow versions and effective dates
  5. TestYourself questions for Ruleflow versions and effective dates
TitleResults for “How to create a CRG?”Also Available inAlert