Skip to main navigation Skip to search Skip to main content

Semantically Reflected Programs

  • Eduard Kamburjan
  • , Vidar Norstein Klungre
  • , Yuanwei Qu
  • , Rudolf Schlatte
  • , Egor V. Kostylev
  • , Martin Giese
  • , Einar Broch Johnsen
  • University of Oslo

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

Abstract

This paper addresses the dichotomy between the formalization of structural and the formalization of executable behavioral knowledge by means of semantically lifted programs, which explore an intuitive connection between imperative programs and knowledge graphs. While knowledge graphs and ontologies are eminently useful to represent formal knowledge about a system’s individuals and universals, programming languages are designed to describe the system’s evolution. To address this dichotomy, we introduce a semantic lifting of the program states of an executing progam into a knowledge graph, for an object-oriented programming language. The resulting graph is exposed as a semantic reflection layer within the programming language, allowing programmers to leverage knowledge of the application domain in their programs during execution. In this paper, we formalize semantic lifting and semantic reflection for a small imperative programming language, SMOL, explain the operational aspects of the language, and consider type correctness and virtualization for runtime program queries through the semantic reflection layer. We illustrate semantic lifting and semantic reflection through a case study of geological modeling and discuss different applications of the technique. The language implementation is open source and available online.
Original languageEnglish
JournalTransactions of Graph Data and Knowledge
Volume4
Issue number1
Pages (from-to)1-52
ISSN2942-7517
DOIs
Publication statusPublished - 31 Mar 2026

Keywords

  • Knowledge Graphs
  • Ontologies
  • Object-Oriented Modelling
  • Imperative Programming Languages
  • Reflection
  • Type Safety

Fingerprint

Dive into the research topics of 'Semantically Reflected Programs'. Together they form a unique fingerprint.

Cite this