{"title":"Towards efficient support for executing the Object Constraint Language","authors":"P. Collet, R. Rousseau","doi":"10.1109/TOOLS.1999.787605","DOIUrl":null,"url":null,"abstract":"The Object Constraint Language (OCL) forms part of the UML notation as a language to complete graphical models by expressing precise constraints or assertions. As OCL is developed as a non-executable language, expressed properties cannot be embedded as executable assertions in the resulting implementations to provide correctness testing. Nonetheless a large part of OCL seems to be easily executable, but straightforward implementations would be inefficient and detrimental to the approach. The paper proposes a pragmatic solution for an OCL runtime support and determines the origins of potential inefficiency. The evaluation of assertions is streamlined according to their roles and the possibility of sampling quantified assertions. The triggering of assertions is driven by a changed based system that simplifies large scale use while ensuring that unstable parts undergo more controls.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TOOLS.1999.787605","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
Abstract
The Object Constraint Language (OCL) forms part of the UML notation as a language to complete graphical models by expressing precise constraints or assertions. As OCL is developed as a non-executable language, expressed properties cannot be embedded as executable assertions in the resulting implementations to provide correctness testing. Nonetheless a large part of OCL seems to be easily executable, but straightforward implementations would be inefficient and detrimental to the approach. The paper proposes a pragmatic solution for an OCL runtime support and determines the origins of potential inefficiency. The evaluation of assertions is streamlined according to their roles and the possibility of sampling quantified assertions. The triggering of assertions is driven by a changed based system that simplifies large scale use while ensuring that unstable parts undergo more controls.