How to Educate Your Digital Twin with Blockly

Following the successful use of Google Blockly to build OWL class expressions, the next Otter Project effort is to move forward with building all description logic with Blockly. The outcome will be a full implementation of the edit functionality needed to educate your digital twin to perform in the digital ecosystem.

Knowledge vs Learning

The first step is to formalize the definition of knowledge building for AI. For the Otter Project, this definition has been extrapolated from the Knowledge Building theory attributed to Carl Bereiter and Marlene Scardamalia, two professors from the University of Toronto. Although they address knowledge building from the perspective of how human beings build their knowledge, their model is also applicable to AI.

According to their theory, knowledge building in education is either done in belief mode or design mode. Belief mode is what we are told to believe, based upon publicly shared knowledge. Design mode incorporates actual experience that fosters improvement. Consider that in AI, the same distinction exists. Building OWL DL documents is based upon shared beliefs, while training neural networks is based upon design by incorporating actual experience.

OWL DL documents represent the capturing of knowledge by humans to share with computers. Neural networks are essentially trained by repetition. The methods applied for training continue to improve so a computer can learn from big data observations.

Cognitive Artifacts

Bereiter and Scardamalia describe knowledge building as a way to create new cognitive artifacts. They recognize the importance of the community in building public knowledge artifacts, and of individuals applying innovation to build new artifacts. In the OTTER project, this concept is formalized by layered groups of knowledge topics for OWL DL documents as listed below:

  • Innovation – Unique and private topics building upon Business, Academia, and Universal topics.
  • Business – Topics defined by the North American Industry Classification System (NAICS) and building upon Academia and Universal topics.
  • Academia – Topics defined by the Classification of Instructional Programs (CIP) and building upon Universal topics.
  • Universal – Common topics for classification, processing, and federation as provided by the Otter Server.

Each OWL DL is classified in one and only one of a given topic.

Knowledge Building Graph

The following is an initial implementation showing a knowledge building graph. The Pizza Stores DL topic from the Otter Server prototype is selected as the focus for the topic filter. The visible layer options of Innovation, Business, and Academia are set on where Universal is set off.

Setting Business and Academia off and setting Universal on shows the Universal topics applied in the Pizza Stores OWL DL document.

The Knowledge Building graph is dynamically created based upon the selection criteria and the dependency of a OWL DL document on another. Dependency is based upon the imports defined in each of the OWL DL documents.

Knowledge Building Artifacts

In the OTTER project, these artifacts exist within Lights, Camera, Action, and Perform. Each of these will implement Blockly edits to visualize, create, and update content artifacts. The list of items in each are an indication of what is to come.

Data Properties
Object Properties
Query Database
Request a Response

This is the beginning implementation of building AI knowledge by the Otter Project using Google Blockly. It is the next step towards achieving the education of your digital twin.

Blockly Experiment

Logic brings lights, objects bring the camera, and services bring the action. Together the performance is staged by the Otter Server. Blockly may be an ideal editor for Otter Server content.

The Blockly visual development process is currently being evaluated as a possible method for providing edit capability to the components of the Otter Project. A sample test is being run using a prototype development of Blockly blocks for constructing logic, services, and objects. Readers can view the test and try it for themselves at:

Motivation to Use Blockly

Blockly is an editor for visually constructing logical statements by connecting 2D blocks. Whereas most ontology editors are either forms-based or text-based, Blockly is picture-based. All blocks have a common shape, and each supplies content and connectivity. However, each individual block has its own unique content, connection restrictions, and differentiating color.

Blockly provides localization so the same blocks can be presented in multiple languages. The approach used in Blockly for localization may also be extended to ontologies.

Starting with Objects

The first test is with objects, as defined by the standard for Service Data Objects. In the Otter Project, objects are defined by OWL class expressions. The test shows how Blockly blocks can be combined to build a class expression, and that the Blockly visual can then be transformed into a text-based class expression. The Blockly blocks may also be created directly from a text-based class expression.

Objects was chosen as the first area to experiment with Blockly due to the importance of class expressions to the Otter Server. Class expressions are the language used to access and update the Abox database. Class expressions are also used to define all the messages in service dialogues.

Next Steps

  1. Finalize the blocks for objects.
  2. Complete localization for the blocks and the OWL DL ontologies.
  3. Develop the blocks for services as defined by the standard Service Component Architecture and the Business Process Execution Language.
  4. Develop blocks for logic as defined by description logic and specified by the OWL language.


Sharing and reuse of multilingual description logic, processes, and data with consistency when combined.