{"title":"Contracts: from analysis to C++ implementation","authors":"Reinhold Plösch, J. Pichler","doi":"10.1109/TOOLS.1999.787553","DOIUrl":null,"url":null,"abstract":"Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by B. Meyer (1996; 1992). We earlier developed a set of techniques and tools facilitating the prototyping of object oriented architectures based on the idea of design by contract (R. Ploesch, 1997; 1998). As it is crucial for us to support evolutionary prototyping, we need to provide mechanisms to automatically transform the classes and assertions specified in our prototyping environment to C++. Therefore we developed a system that automatically transforms classes and assertions of our prototyping system to C++. As a side effect, our environment provides general mechanisms for realizing design by contract for the programming language C++.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"151 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"34","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.787553","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 34
Abstract
Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by B. Meyer (1996; 1992). We earlier developed a set of techniques and tools facilitating the prototyping of object oriented architectures based on the idea of design by contract (R. Ploesch, 1997; 1998). As it is crucial for us to support evolutionary prototyping, we need to provide mechanisms to automatically transform the classes and assertions specified in our prototyping environment to C++. Therefore we developed a system that automatically transforms classes and assertions of our prototyping system to C++. As a side effect, our environment provides general mechanisms for realizing design by contract for the programming language C++.