{"id":5062,"date":"2015-12-07T11:14:07","date_gmt":"2015-12-07T11:14:07","guid":{"rendered":"https:\/\/modeling-languages.com\/?p=5062"},"modified":"2015-12-07T13:11:01","modified_gmt":"2015-12-07T13:11:01","slug":"incremental-integrity-checking-in-uml-ocl","status":"publish","type":"post","link":"https:\/\/modeling-languages.com\/incremental-integrity-checking-in-uml-ocl\/","title":{"rendered":"Incremental integrity checking in UML\/OCL Conceptual Schemas"},"content":{"rendered":"
This is a “going down the memory lane” kind of post but while working in my member page <\/a>on our team website<\/a> I realized that my Phd Thesis had never been featured in this blog. It makes sense since the thesis was finished three years before the blog started but I still think it’s of justice to add it even if we are almost 10 years late.<\/p>\n Obviously, the field of incremental evaluation of OCL constraints has advanced since I finished my thesis (though not so much as you may think) but I do believe it’s still worth checking out (for those just wanting to take a quick look at the main ideas behind the work, this article<\/a> could be a better option). <\/p>\n The shortest possible summary would be that instead of evaluating all constraints on the whole data after every change (to make sure the data is still consistent with the constraints after an insert\/update\/delete event) our method would:<\/p>\n Below the “official” abstracts (reads a little “old fashioned” specially regarding the terminology used at the time \ud83d\ude42 ) and the full pdf.<\/p>\n Abstract<\/strong>:<\/p>\n Integrity constraints play a fundamental role in the definition of conceptual schemas (CSs) of information systems. An integrity constraint defines a condition that must be satisfied in each state of the information base (IB). Hence, the information system must guarantee that the state of the IB is always consistent with respect to the integrity constraints of the CS. This process is known as integrity checking. Unfortunately, current methods and tools do not provide adequate integrity checking mechanisms since most of them only admit some predefined types of constraints. Moreover, the few ones supporting a full expressivity in the constraint definition language present a lack of efficiency regarding the verification of the IB.<\/p>\n In this thesis, we propose a new method to deal with the incremental evaluation of the integrity constraints defined in a CS. We consider CSs specified in the UML with constraints defined as OCL invariants. We say that our method is incremental since it adapts some of the ideas of the well-known methods developed for incremental integrity checking in deductive and relational databases. The main goal of these incremental methods is to consider as few entities of the IB as possible during the evaluation of an integrity constraint. This is achieved in general by reasoning from the structural events that modify the contents of the IB. Our method is fully automatic and ensures an incremental evaluation of the integrity constraints regardless their concrete syntactic definition.<\/p>\n The main feature of our method is that it works at the conceptual level. That is, the result of our method is a standard CS. Thus, the method is not technology-dependent and, in contrast with previous approaches, our results can be used regardless the final technology platform selected to implement the CS. In fact, any code-generation method or tool able to generate code from a CS could be enhanced with our method to automatically generate incremental constraints, with only minor adaptations. Moreover, the efficiency of the generated constraints is comparable to the efficiency obtained by existing methods for relational and deductive databases. <\/em><\/p>\n Full document<\/strong>: Download it here<\/a><\/p>\n\n