An overview of F-OML: An F-Logic based Object Modeling Language

Mira Balaban, Michael Kifer

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


F-OML is an F-Logic based Object Modeling Language. It can be used for extending UML diagrams, reasoning about them, testing UML models, and defining their syntax (meta-modeling) and semantics. This wide range of applications of F-OML stems from several language features, including polymorphism, multi-level object modeling, and model instantiation. F-OML is layered on top of an elegant formal language of guarded path expressions, called PathLP, which is used to define objects and their types. PathLP is a logic programming language, inspired by F-logic [KLW95]. It supports path expressions, rules, constraints, and queries, and it is easy to implement by translation into a tabling Prolog engine, such as XSB. In this short overview we informally describe the main constructs of PathLP and F-OML, and provide examples that demonstrate the four modes of F-OML usage. Formal definitions and additional details are found in the full paper. Finally, we analyze how language features contribute to its expressiveness, and provide a brief comparison with OCL [WK03, Obj06].

Original languageEnglish
JournalElectronic Communications of the EASST
StatePublished - 1 Jan 2010


  • Constraints
  • F-Logic
  • Logic programming
  • Model theory
  • Model transformation
  • OCL
  • Objects
  • Types
  • UML class diagrams

ASJC Scopus subject areas

  • Software
  • Computational Theory and Mathematics


Dive into the research topics of 'An overview of F-OML: An F-Logic based Object Modeling Language'. Together they form a unique fingerprint.

Cite this