Skip to main content
QUICK REVIEW

[Paper Review] XFO: Toward Programming Rich Semantic Models

Robert B. Allen, Teryn K. Jones|arXiv (Cornell University)|Apr 30, 2018
Semantic Web and Ontologies2 references3 citations
TL;DR

This paper introduces XFO, a programming environment that integrates the Basic Formal Ontology (BFO2) with object-oriented software engineering to enable the development of rich semantic models. By aligning ontological rigor with programming practices, XFO supports the implementation of complex domain models—demonstrated through a Traffic Light Microworld—enabling precise, extensible, and reusable semantic software systems.

ABSTRACT

We have proposed that ontologies and programming languages should be more closely aligned. Specifically, we have argued that the Basic Formal Ontology (BFO2) has many features that are consistent with object-oriented analysis, design, and modeling. Here, we describe the eXtended Formal Ontology (XFO), a programming environment we developed to support semantic modeling. We then use XFO to implement a Traffic Light Microworld and discuss more complex applications.

Motivation & Objective

  • To bridge the semantic gap between ontologies and software engineering by aligning formal ontologies with object-oriented modeling principles.
  • To address the limitations of traditional ontologies in expressing complex, dynamic domain semantics required in software systems.
  • To develop a programming environment that supports both semantic modeling and executable code generation from rich ontological specifications.
  • To demonstrate the feasibility of using formal ontologies as first-class citizens in software development through a concrete implementation.
  • To enable the creation of extensible, maintainable, and semantically grounded software systems through integrated ontology and code development.

Proposed method

  • Design and implement XFO, a domain-specific environment that natively supports the Basic Formal Ontology (BFO2) as a foundation for modeling.
  • Integrate BFO2's top-level ontological categories (e.g., continuants, occurrents) into a programming language-like syntax for model specification.
  • Support object-oriented principles such as inheritance, encapsulation, and polymorphism within the semantic modeling framework.
  • Define domain-specific constructs in XFO to model complex real-world systems, such as traffic light systems, using formal ontological primitives.
  • Enable the execution and validation of semantic models through runtime type checking and semantic consistency enforcement.
  • Use the Traffic Light Microworld as a case study to demonstrate the expressiveness and correctness of XFO in modeling dynamic, real-time systems.

Experimental results

Research questions

  • RQ1How can formal ontologies like BFO2 be effectively integrated into programming environments to support semantic software development?
  • RQ2To what extent can object-oriented programming principles be applied to ontological modeling to improve model expressiveness and reusability?
  • RQ3Can a programming environment based on formal ontology support the specification and execution of complex, real-world domain models?
  • RQ4What are the practical benefits of using a unified framework for both semantic modeling and code generation in software engineering?
  • RQ5How does the integration of BFO2 into a programming environment improve the precision and maintainability of software systems?

Key findings

  • XFO successfully enables the specification of rich semantic models using a syntax and structure aligned with object-oriented programming principles.
  • The integration of BFO2 into XFO allows for the formal representation of complex domain entities, such as traffic lights and their states, with semantic consistency.
  • The Traffic Light Microworld case study demonstrates that XFO can model dynamic, time-sensitive systems with precise ontological grounding.
  • XFO supports runtime validation of semantic constraints, reducing errors in model implementation and improving system reliability.
  • The environment enables seamless transition from ontological specification to executable code, enhancing maintainability and reuse.
  • The approach shows that formal ontologies can serve as a robust foundation for software development, particularly in domains requiring high semantic fidelity.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.