{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:40:03Z","timestamp":1736642403102,"version":"3.32.0"},"reference-count":39,"publisher":"Wiley","issue":"10","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6238,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1989,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>TGMS (tiered geometric modelling system) is an experimental system intended to reduce the difficulty and cost of developing new solid modelling applications while preserving investment in an existing, time\u2010tested, solid modeller. The application developer writes programs in the TGMS language, which consists of a base language augmented by data types (classes) for geometry. The base programming language is AML\/X, an object\u2010oriented language intended for use in design and manufacturing applications. Solid modelling is done using an interface to GDP (geometric design processor), an existing, production\u2010quality solid modelling system. TGMS shows how a system written in a non\u2010object\u2010oriented language can be used as a base for an object\u2010oriented application programming environment.<\/jats:p><jats:p>This paper presents the design of TGMS and discusses important aspects of its implementation. The TGMS language defines classes and methods that provide an interface to functions and data represented in a non\u2010object\u2010oriented language. To implement TGMS, issues related to communication, storage management and consistency were addressed. These, and other, implementation issues are discussed. The paper includes sample programs and a summary of feedback from TGMS users. It concludes that the use of object\u2010oriented programming for geometry has many benefits, and that an object\u2010oriented system can be built on top of a non\u2010object\u2010oriented system at less cost than building the equivalent object\u2010oriented system from scratch.<\/jats:p>","DOI":"10.1002\/spe.4380191006","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T05:00:08Z","timestamp":1163826008000},"page":"979-1013","source":"Crossref","is-referenced-by-count":6,"title":["TGMS: An object\u2010oriented system for programming geometry"],"prefix":"10.1002","volume":"19","author":[{"suffix":"Jr.","given":"Walter C.","family":"Dietrich","sequence":"first","affiliation":[]},{"given":"Lee R.","family":"Nackman","sequence":"additional","affiliation":[]},{"given":"Christine J.","family":"Sundaresan","sequence":"additional","affiliation":[]},{"given":"Franklin","family":"Gracer","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.206.0582"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.241.0064"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCG.1982.1674149"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCG.1982.1674167"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCG.1982.1674161"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.313.0277"},{"key":"e_1_2_1_8_2","unstructured":"CATIA Interactive User Access IBM Form No. G520\u20106261\u20100 IBM 1987."},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/965141.563863"},{"key":"e_1_2_1_10_2","first-page":"50","volume-title":"System facilities for CAD databases","author":"Eastman C.","year":"1980"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/0010-4485(86)90068-0"},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","unstructured":"David L.Spooner Michael J.WoznyandMark S.Shephard \u2018Abstract data types for CAD systems\u2019 Proc. 1985 IEEE Conf. on Robotics and Automation St Louis MO 1985 pp.359\u2013364.","DOI":"10.1109\/ROBOT.1985.1087326"},{"key":"e_1_2_1_13_2","doi-asserted-by":"crossref","unstructured":"Lee R.Nackman \u2018Software environments for CAD systems\u2019 Proc. 1985 IEEE Conf. on Robotics and Automation St. Louis MO 1985 pp.354\u2013357.","DOI":"10.1109\/ROBOT.1985.1087335"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCG.1986.276657"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/15886.15907"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1986.6312937"},{"key":"e_1_2_1_17_2","first-page":"211","article-title":"Object\u2010oriented programming: themes and variations","author":"Stefik M.","year":"1986","journal-title":"AI Magazine"},{"key":"e_1_2_1_18_2","unstructured":"M. A.Lavin L. R.NackmanandM. A.Wesley Personal discussions 1986."},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.254.0281"},{"key":"e_1_2_1_20_2","unstructured":"Lee R.Nackman Mark A.Lavin Russell H.Taylor Walter C.DietrichJr. andDavid. D.Grossman \u2018AML\/X: a programming language for design and manufacturing\u2019 Proc. Fall Joint Computer Conference 1986 pp.145\u2013159."},{"volume-title":"Programming Language Concepts","year":"1982","author":"Ghezzi C.","key":"e_1_2_1_21_2"},{"key":"e_1_2_1_22_2","unstructured":"J. R.Rossignac \u2018AML\/X tools for primitive geometric calculations: points vectors coordinate frames and linear transformations\u2019 IBM Thomas J. Watson Research Center RA 189 Yorktown Heights NY May1987."},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/356827.356833"},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233833"},{"key":"e_1_2_1_25_2","first-page":"589","volume-title":"A polyhedron representation for computer vision","author":"Baumgart B. G.","year":"1975"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380141008"},{"volume-title":"Proceedings of the 1986 International Workshop on Object\u2010Oriented Database Systems","year":"1986","author":"Dittrich Klaus","key":"e_1_2_1_27_2"},{"issue":"3","key":"e_1_2_1_28_2","article-title":"A workcell application design environment (WADE)","volume":"5","author":"Levas Anthony","year":"1989","journal-title":"IEEE Trans. Robotics and Automation"},{"key":"e_1_2_1_29_2","unstructured":"J. R.Rossignac \u2018Blending and offsetting solid models\u2019 Ph.D. Thesis University of Rochester 1985 Chapter 4."},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8396(86)90017-8"},{"key":"e_1_2_1_31_2","unstructured":"Walter C.Dietrich Jr. Lee R.Nackman Christine J.SundaresanandFranklinGracer \u2018TGMS: an object\u2010oriented system for programming geometry\u2019 IBM Thomas J. Watson Research Center RC 13444 Yorktown Heights NY January1988."},{"key":"e_1_2_1_32_2","unstructured":"DerekLieber \u2018Interactive debugging with AML\/X\u2019 IBM Thomas J. Watson Research Center RA 184 Yorktown Heights NY January1987."},{"key":"e_1_2_1_33_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-5983-1"},{"volume-title":"A Discipline of Programming","year":"1976","author":"Dijkstra Edsger W.","key":"e_1_2_1_34_2"},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380181106"},{"key":"e_1_2_1_36_2","doi-asserted-by":"crossref","unstructured":"James U.Korein GeorgMaier Russell H.TaylorandLawrenceDurfee \u2018A configurable system for automation programming and control\u2019 Proc 1986 IEEE Conf. on Robotics and Automation San Francisco 1986 pp.1871\u20131877.","DOI":"10.1109\/ROBOT.1986.1087474"},{"key":"e_1_2_1_37_2","first-page":"93","volume-title":"Proceedings of 1986 Workshop on Interactive 3D Graphics","author":"Rossignac J. R.","year":"1986"},{"key":"e_1_2_1_38_2","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1145\/960112.28702","article-title":"Encapsulation and inheritance in object\u2010oriented programming languages","volume":"21","author":"Snyder A.","year":"1986","journal-title":"SIGPLAN Notices"},{"key":"e_1_2_1_39_2","unstructured":"Lee R.Nackman Mark A.Lavin Russell H.TaylorandWalter C.Dietrich Jr. AML\/X User's Manual IBM Thomas J. Watson Research Center RA175 Yorktown Heights NY 1986."},{"key":"e_1_2_1_40_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.272.0149"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380191006","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380191006","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:05:43Z","timestamp":1736640343000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380191006"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,10]]},"references-count":39,"journal-issue":{"issue":"10","published-print":{"date-parts":[[1989,10]]}},"alternative-id":["10.1002\/spe.4380191006"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380191006","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1989,10]]}}}