Home » Articole » Articles » Business » Finance » Bitcoin » Blockchain Ontologies: OCL and REA

Blockchain Ontologies: OCL and REA


Unified Modeling Language (UML) of Object Management Group, along with Object Constraint Language (OCL), (Purvis and Cranefield 1999) are considered by Joost de Kruijff and Hans Weigand as the best fit for blockchain ontology. (de Kruijff and Weigand 2017) OCL is a declarative language that describes the rules applicable to UML models and is part of the UML standard. Initially, OCL was just an extension of the formal specification language for UML. (Object Management Group 2000) Now, OCL can be used with any meta-model. (Object Management Group 2006) OCL is a precise text language that provides constraint expressions and query objects on any specific model or meta-model that cannot be expressed otherwise by schematic notation. OCL is a major component within the new standard recommendation for model transformation.

OCL is an analysis and design method resulted from a previous second-generation object-oriented method. OCL includes:

  1. a context defining the condition when the statement is valid
  2. a property of context features (for example an attribute if the context is a class)
  3. an operation handling or qualifying a property; and
  4. keywords for conditional expressions.

Joost de Kruijff uses OCL for datalogical blockchain ontology (de Kruijff and Weigand 2017) where wallet (that initiates transactions on the blockchain and receives the result), transaction (a request to nodes containing an entry, an amount and an exit, or custom data), and node (an entity to prove or validates and adds transactions to a block using a unique hash, being rewarded for each successful transaction) are most important components of this ontology. In the taxonomy for the ontological structure of a chain, Joost de Kruijff and Hans Weigand distinguish several objects.

Langefors distinguished between information (as well as knowledge) and data (as representation), (Goldkuhl 1995) creating a new field in knowledge engineering called infology, for the administration of complicated structures. (Dietz 2006) Blockchain as a “distributed register” is an infological characterization. A registry consists of accounts. Transactions must comply with trading rules. For each transaction the entry is equal to the output. (de Kruijff and Weigand 2017)

Essential or business level refers to what is created directly or indirectly through communication. In the Language/Action Perspective, (Narayanan et al. 2016) the key notion in communication is commitment as a social relationship based on the common understanding of what is right and true, a change of social reality. (de Kruijff and Weigand 2017)

Enterprise ontology is combined with the business ontology of Resources, Events, Agents (REA) to be used for the content of the change. (Huňka and Zacek 2015) REA was originally proposed in 1982 by William E. McCarthy as generalized accounting model. (McCarthy 1982) REA can add value when shaping current ERP business processes, providing an useful tool for understanding. (Fallon and Polovina 1982)

REA sees the accounting system as a virtual representation of the real business. REA is an ontology, with the following real objects included in the model:

  • Resources: goods, services, or money
  • Events: business transactions or agreements affecting resources
  • Agents: people or other human agents (companies, etc.)

REA philosophy is based on the idea of reusable design patterns, although REA models are used to describe databases.

In ontology-based modeling, conceptualization is the set of ontologies needed to ensure common interpretation of data from one or more databases. If blockchain modeling is a specialized form of inter-enterprise modeling based on ontology results in a blockchain with improved interpretability. (Kim and Laskowski 2016)

  • For informal or semi-formal ontologies, can lead to improvement of database standards as well as business practices and processes.
  • For formal ontologies, can help with the formal specification of automatic inference and verification.

In the formal ontology approach, the description is very similar to the definition of smart contracts as “pieces of software that represent a business arrangement and execute themselves automatically under pre-determined circumstances.” (The Economist 2016)

The REA model developed of Bill McCarthy (McCarthy 1982) can be used in accounting. The accounting perspective is appropriate in the context of the blockchain. (de Kruijff and Weigand 2017)

Since the blockchain transaction refers to events that trigger changes in economic reality, REA is perceived as more suitable for the baseline analysis than DEMO, which is more appropriate for coordinating these events, which is less important for the blockchain.

REA includes the concept of a contract as a package of mutual commitments, through transactions and commitments, where some of the engagements are executed automatically. (Szabo 1997)

Referring to REA processes, it can be said that planning (creating a smart contract) and allocation of input resources (output events) materialize on the blockchain, while executing the contract by exchange and conversion (in a smaller extension) triggers output resources (input events) that could go beyond the blockchain, even for physical entities, such as, for example, IoT devices. (de Kruijff and Weigand 2017)


  • Dietz, Jan L. G. 2006. Enterprise Ontology: Theory and Methodology. Berlin Heidelberg: Springer-Verlag. //www.springer.com/la/book/9783540291695.
  • Fallon, Richard, and Simon Polovina. 1982. “REA Analysis of SAP HCM; Some Initial Findings.” http://ceur-ws.org/Vol-1040/paper4.pdf.
  • Goldkuhl, Goran. 1995. “Information as Action and Communication, The Infological Equation.” http://www.vits.org/publikationer/dokument/145.pdf.
  • Huňka, František, and Jaroslav Zacek. 2015. “A New View of REA State Machine.” ResearchGate. 2015. https://www.researchgate.net/publication/277942361_A_new_view_of_REA_state_machine.
  • Kim, Henry M., and Marek Laskowski. 2016. “Towards an Ontology-Driven Blockchain Design for Supply Chain Provenance.” ArXiv:1610.02922 [Cs]. http://arxiv.org/abs/1610.02922.
  • Kruijff, Joost de, and Hans Weigand. 2017. “Understanding the Blockchain Using Enterprise Ontology.” Springerprofessional.De. 2017. https://www.springerprofessional.de/en/understanding-the-blockchain-using-enterprise-ontology/12328482.
  • McCarthy, William E. 1982. “The REA Accounting Model: A Generalized Framework for Accounting Systems in a Shared Data Environment.” The Accounting Review 57 (3): 554–78. https://www.jstor.org/stable/246878.
  • Narayanan, Arvind, Joseph Bonneau, Edward Felten, Andrew Miller, and Steven Goldfeder. 2016. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press.
  • Object Management Group. 2000. “ObjectConstraintLanguage Specification.” http://homepage.divms.uiowa.edu/~tinelli/classes/5810/Spring08/Papers/OCL_1.5.pdf.
  • ———. 2006. “Object Constraint Language – OMG Available Specification – Version 2.0.” http://www2.imm.dtu.dk/courses/02291/files/OCL2.0_06_05_01.pdf.
  • Szabo, Nick. 1997. “Formalizing and Securing Relationships on Public Networks.” First Monday 2 (9). https://doi.org/10.5210/fm.v2i9.548.
  • The Economist. 2016. “Not-so-Clever Contracts.” Internet Archive. 2016. https://archive.org/details/perma_cc_QNH7-5BJZ.

Nicolae Sfetcu
Email: nicolae@sfetcu.com

This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/.

Sfetcu, Nicolae, “Blockchain Ontologies: OCL and REA”, SetThings (April 13, 2019), MultiMedia Publishing (ed.), URL = https://www.telework.ro/en/blockchain-ontologies-ocl-and-rea/

Leave a Reply

Your email address will not be published. Required fields are marked *