{"title":"逆向工程遗留代码有限元场计算在磁学","authors":"T. Arudchelvam, J. Wijayakulasooriya, S. Hoole","doi":"10.1109/CEFC.2010.5481490","DOIUrl":null,"url":null,"abstract":"The development of code for finite elements-based field computation has been going on at a pace since the 1970s, yielding code that was not put through the formal software lifecycle. As a result, today we have legacy code running into millions of lines, implemented without planning and not using proper state-of-the-art software design tools. It is necessary to redo this code to exploit object oriented facilities and make corrections or run on the web in Java. Object oriented code's principal advantage is reusability. It is ideal for describing autonomous agents so that values inside a method are private unless otherwise so provided — that is encapsulation makes programming neat and less error-prone in unexpected situations. Recent advances in software make such reverse engineering/reengineering of this code into object oriented form possible. In this paper we reverse engineer legacy code in FORTRAN written decades ago for the computation of magnetic fields by the finite element method into the modern languages of Java and C++.","PeriodicalId":148739,"journal":{"name":"Digests of the 2010 14th Biennial IEEE Conference on Electromagnetic Field Computation","volume":"251 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-05-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Reverse engineering legacy code for finite element field computation in magnetics\",\"authors\":\"T. Arudchelvam, J. Wijayakulasooriya, S. Hoole\",\"doi\":\"10.1109/CEFC.2010.5481490\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The development of code for finite elements-based field computation has been going on at a pace since the 1970s, yielding code that was not put through the formal software lifecycle. As a result, today we have legacy code running into millions of lines, implemented without planning and not using proper state-of-the-art software design tools. It is necessary to redo this code to exploit object oriented facilities and make corrections or run on the web in Java. Object oriented code's principal advantage is reusability. It is ideal for describing autonomous agents so that values inside a method are private unless otherwise so provided — that is encapsulation makes programming neat and less error-prone in unexpected situations. Recent advances in software make such reverse engineering/reengineering of this code into object oriented form possible. In this paper we reverse engineer legacy code in FORTRAN written decades ago for the computation of magnetic fields by the finite element method into the modern languages of Java and C++.\",\"PeriodicalId\":148739,\"journal\":{\"name\":\"Digests of the 2010 14th Biennial IEEE Conference on Electromagnetic Field Computation\",\"volume\":\"251 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-05-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Digests of the 2010 14th Biennial IEEE Conference on Electromagnetic Field Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CEFC.2010.5481490\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Digests of the 2010 14th Biennial IEEE Conference on Electromagnetic Field Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CEFC.2010.5481490","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Reverse engineering legacy code for finite element field computation in magnetics
The development of code for finite elements-based field computation has been going on at a pace since the 1970s, yielding code that was not put through the formal software lifecycle. As a result, today we have legacy code running into millions of lines, implemented without planning and not using proper state-of-the-art software design tools. It is necessary to redo this code to exploit object oriented facilities and make corrections or run on the web in Java. Object oriented code's principal advantage is reusability. It is ideal for describing autonomous agents so that values inside a method are private unless otherwise so provided — that is encapsulation makes programming neat and less error-prone in unexpected situations. Recent advances in software make such reverse engineering/reengineering of this code into object oriented form possible. In this paper we reverse engineer legacy code in FORTRAN written decades ago for the computation of magnetic fields by the finite element method into the modern languages of Java and C++.