Logic-based Software Modeling with FOML

By: Mira Balaban, Igal Khitron, Michael Kifer


Models are at the heart of the emerging Model-Based Systems Engineering (MBSE) approach. MBSE is motivated by the growing complexity of software, which requires multiple levels of abstraction that programming languages do not support. In MBSE, models play a central role in the software evolution process. Rich model management must rely on a unifying underlying formal framework that can support, integrate, and mediate powerful modeling services. This paper describes FOML, a Framework for Object Modeling with Logic, its realization in a modeling tool, proves the correctness of class modeling in FOML, illustrates the process of software modeling with the tool, and presents the main features of the system. The FOML framework for software modeling is compact yet powerful, formal, and is based on an underlying logic rule language called PathLP. The combination of class-based conceptualization with a formal logical base enables clean mediation and integration of a wide range of modeling activities and provides a provably correct formulation of class models. Our implementation of FOML features seamless integration of multiple modeling services that simultaneously support multiple models and provide reasoning, meta-reasoning, validation, testing, and evolution servi


UML class diagrams, F-Logic, objects, constraints, types, model transformation, OCL, logic programming, model theory.

Cite as:

Mira Balaban, Igal Khitron, Michael Kifer, “Logic-based Software Modeling with FOML”, Journal of Object Technology, Volume 19, no. 3 (October 2020), pp. 3:1-21, doi:10.5381/jot.2020.19.3.a19.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact