{"title":"在c++中模拟契约设计","authors":"David Maley, I. Spence","doi":"10.1109/TOOLS.1999.779000","DOIUrl":null,"url":null,"abstract":"To date, much of the software written in computational physics has been produced with little regard paid to modern software engineering techniques. The paper documents experiences in beginning to address this shortcoming for Config, a component of the Graphical R-Matrix Atomic Collision Environment (GRACE). The work is based around a formal specification of the Config component. The principal focus of the paper will be on a non-intrusive mechanism for monitoring constraints such as class invariants, preconditions and postconditions for highly structured data types based on the containers and algorithms of the Standard Template Library (STL), a mechanism which can be extended to handle structured object update and display prototyping.","PeriodicalId":434404,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Emulating design by contract in C++\",\"authors\":\"David Maley, I. Spence\",\"doi\":\"10.1109/TOOLS.1999.779000\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"To date, much of the software written in computational physics has been produced with little regard paid to modern software engineering techniques. The paper documents experiences in beginning to address this shortcoming for Config, a component of the Graphical R-Matrix Atomic Collision Environment (GRACE). The work is based around a formal specification of the Config component. The principal focus of the paper will be on a non-intrusive mechanism for monitoring constraints such as class invariants, preconditions and postconditions for highly structured data types based on the containers and algorithms of the Standard Template Library (STL), a mechanism which can be extended to handle structured object update and display prototyping.\",\"PeriodicalId\":434404,\"journal\":{\"name\":\"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)\",\"volume\":\"55 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-06-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/TOOLS.1999.779000\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TOOLS.1999.779000","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
To date, much of the software written in computational physics has been produced with little regard paid to modern software engineering techniques. The paper documents experiences in beginning to address this shortcoming for Config, a component of the Graphical R-Matrix Atomic Collision Environment (GRACE). The work is based around a formal specification of the Config component. The principal focus of the paper will be on a non-intrusive mechanism for monitoring constraints such as class invariants, preconditions and postconditions for highly structured data types based on the containers and algorithms of the Standard Template Library (STL), a mechanism which can be extended to handle structured object update and display prototyping.