ENGINE-REA

Rails Engine for MDA pattern Resource Event Agent

What's REA

Resources, events, agents (REA) is a model of how an accounting system can be re-engineered for the computer age. REA was originally proposed in 1982 by William E. McCarthy as a generalized accounting model, and contained the concepts of resources, events and agents.

see REA model on wikipedia

REA is a popular model in teaching accounting information systems (AIS). But it is rare in business practice—companies cannot easily dismantle their legacy systems to meet REA's radical demands. REA has never actually been implemented, it is a data model primarily, the processing model is still vague (see Huang Wei-Peng 2005).

The REA model gets rid of many accounting objects that are not necessary in the computer age. Most visible of these are debits and credits—double-entry bookkeeping disappears in an REA system. Many general ledger accounts also disappear, at least as persistent objects; e.g., accounts receivable or accounts payable. The computer can generate these accounts in real time using source document records.

REA treats the accounting system as a virtual representation of the actual business. In other words, it creates computer objects that directly represent real-world-business objects. In computer science terms, REA is an ontology. The real objects included in the REA model are:

  • goods, services or money, i.e., resources
  • business transactions or agreements that affect resources, i.e., events
  • people or other human agencies (other companies, etc.), i.e., agents

The Aim of The Project

This project added useful functions to ActiveRecord, aim to support easy modeling with REA ontology. Provide straight forward DSLs that follows Structural and Behavioral patterns defined in REA.

see https://github.com/lazing/engine-rea/wiki

REA Ontology

“An ontology is a study of the categories of things that exist or may exist in some domain” (Sowa 1999). Ontological categories define the concepts that exist in the domain, as well as relationships between these concepts. Geerts and McCarthy (Geerts, McCarthy 2000, 2002) formulated REA as an ontology for business systems. The REA ontological categories are il- lustrated in Fig. 226.