TY - JOUR
T1 - An overview of F-OML
T2 - An F-Logic based Object Modeling Language
AU - Balaban, Mira
AU - Kifer, Michael
N1 - Publisher Copyright:
© OCL and Textual Modelling, 2010.
PY - 2010/1/1
Y1 - 2010/1/1
N2 - 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].
AB - 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].
KW - Constraints
KW - F-Logic
KW - Logic programming
KW - Model theory
KW - Model transformation
KW - OCL
KW - Objects
KW - Types
KW - UML class diagrams
UR - https://www.scopus.com/pages/publications/80054070370
U2 - 10.14279/tuj.eceasst.36.537.535
DO - 10.14279/tuj.eceasst.36.537.535
M3 - Article
AN - SCOPUS:80054070370
SN - 1863-2122
VL - 36
JO - Electronic Communications of the EASST
JF - Electronic Communications of the EASST
ER -