\(\hbox {OCL}_\textsf {FO}\): first-order expressive OCL constraints for efficient integrity checking

Software and Systems Modeling(2019)

引用 7|浏览48
暂无评分
摘要
OCL is the standard language for defining constraints in UML class diagrams. Unfortunately, as we show in this paper, full OCL is so expressive that it is not possible to check general OCL constraints efficiently. In particular, we show that checking general OCL constraints is not only not polynomial, but not even semidecidable. To overcome this situation, we identify \(\hbox {OCL}_\textsf {FO}\), a fragment of OCL which is expressively equivalent to relational algebra (RA). By equivalent we mean that any \(\hbox {OCL}_\textsf {FO}\) constraint can be checked through a RA query (which guarantees that \(\hbox {OCL}_\textsf {FO}\) checking is efficient, i.e., polynomial), and any RA query encoding some constraint can be written as an \(\hbox {OCL}_\textsf {FO}\) constraint (which guarantees expressiveness of \(\hbox {OCL}_\textsf {FO}\)). In this paper we define the syntax of \(\hbox {OCL}_\textsf {FO}\), we concisely determine its semantics through set theory, and we prove its equivalence to RA. Additionally, we identify the core of this language, i.e., a minimal subset of \(\hbox {OCL}_\textsf {FO}\) equivalent to RA.
更多
查看译文
关键词
OCL, Relational algebra, Integrity checking
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要