Rules Check

The Rules Check OSID provides a means for managing and evaluating a series of Checks that comprise a business process. Inspired by the fine work at Kuali Student, this service manages the go/no-go business requirements that can be used within other OSID Providers to organize and manage requirement logic, rules, and actions.

Checks

A Check is an OsidRule that is to be evaluated. Check defines a few simple rules that can be managed directly.

  • time based check using dates
  • time based check using Events
  • time based checks using CyclicEvents
  • checks for Blocks in the Hold OSID
  • checks for authorizations in the Authorization OSID
  • checks for Audits in the Inquiry OSID
  • checks for other agendas
  • checks to perform logging in the Logging OSID

Other kinds of checks can be defined using the CheckRecord or by referencing an external Rule. Although the entity name imples something is checked, as any rule it can perform any action where it makes sense to configure into an Agenda.

Agendas

An Agenda represents a process and has a related set of Checks to perform. OSID Consumers can simply reference an Agenda Id.

Instructions

Instructions are OsidRelationships used to relate a Check to an Agenda. Checks, once defined, can be reused among multiple Agendas. The Instruction provides the relationship along with information about how the Check is to be applied such as sequencing managed in the InstructionAdminSession, failed check messages, and processing control. Instructions are also OsidEnablers managing the applicability of a Check. The Instruction may apply a Check at certain times, to certain Demographics of the target object, or based on a custom Rule.

Evaluations

Several evaluation sessions are provided.

  • CheckEvaluationSession:E evaluates Checks using an input/output pattern.
  • InstructionApplicabilitySession: Finds applicable Instructions to be used in evaluating an Agenda.
  • AgendaEvaluationSession: Evaluates entire Agendas using an input/output pattern.
  • AgendaSession: Evaluates entire Agendas providing a go/no-go response. Feedback, inquiry acknowledgements, and any exemptions are handled out-of-band through the Communication OSID.

The above sessions also suggest an approach to understand the pieces of this rules-oriented model from Check evaluation up through communication with a user.

Engine Cataloging

Checks, Instructions, and Agendas are organized into federatable OsidCatalogs called Engines.
Package List Model