M. Kopylov, Nikolai Borisovich Deryabin, E. Denisov
{"title":"An object-oriented approach to scenario support in optics CAD systems","authors":"M. Kopylov, Nikolai Borisovich Deryabin, E. Denisov","doi":"10.15514/ispras-2023-35(2)-12","DOIUrl":null,"url":null,"abstract":"This article discusses the problems of supporting Python scripts in an actively developing interactive graphics system. Such support is a time-consuming task, which is difficult to automate in the general case. As a solution to this problem, we propose an approach that allows developers to combine the creation of new system components with the simultaneous embedding of scripting support without writing redundant additional code. The result is a user-friendly object-oriented API that describes all aspects of interaction between the system and scripts. Scripts using this API can be used to modeling automation as well as to extend the system with custom extension classes. The latter is especially important as it leaves the ability for ordinary users to extend closed-source systems on their own.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"19 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Trudy Instituta sistemnogo programmirovaniia RAN","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.15514/ispras-2023-35(2)-12","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This article discusses the problems of supporting Python scripts in an actively developing interactive graphics system. Such support is a time-consuming task, which is difficult to automate in the general case. As a solution to this problem, we propose an approach that allows developers to combine the creation of new system components with the simultaneous embedding of scripting support without writing redundant additional code. The result is a user-friendly object-oriented API that describes all aspects of interaction between the system and scripts. Scripts using this API can be used to modeling automation as well as to extend the system with custom extension classes. The latter is especially important as it leaves the ability for ordinary users to extend closed-source systems on their own.