{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,11]],"date-time":"2026-06-11T05:01:03Z","timestamp":1781154063941,"version":"3.54.1"},"reference-count":84,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2010,2,11]],"date-time":"2010-02-11T00:00:00Z","timestamp":1265846400000},"content-version":"vor","delay-in-days":5247,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Cognitive Science"],"published-print":{"date-parts":[[1995,10]]},"abstract":"<jats:p>Most models of computer programming explain the programmer's behaviour by a single design strategy. This article presents a cognitive architecture that uses cue\u2010based search to model multiple design strategies including procedural, functional, means\u2010end or focal, and opportunistic design. The model has been implemented in an artificial intelligence (AI) system that generates Pascal programs from English specifications.<\/jats:p><jats:p>Knowledge is represented as nodes that reside in internal or external memory, where a node encodes an action that may range from a line of code to a routine in size. A program is built by linking nodes through a search cue of the form &lt;role, goal, object&gt;. The cue is broadcast to memory, and any matching node is returned; the cue provides a question to ask, and the return provides the answer. A cue on the newly linked node is then selected as a new focus, and the search process repeated. Each design strategy defines a specific node visiting order that traverses the program structure through its links.<\/jats:p>","DOI":"10.1207\/s15516709cog1904_3","type":"journal-article","created":{"date-parts":[[2005,8,6]],"date-time":"2005-08-06T01:24:36Z","timestamp":1123291476000},"page":"507-562","update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":43,"title":["Program Structure and Design"],"prefix":"10.1111","volume":"19","author":[{"given":"Robert S.","family":"Rist","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"311","published-online":{"date-parts":[[2010,2,11]]},"reference":[{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1037\/0278-7393.10.3.483"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231883"},{"key":"e_1_2_1_4_1","volume-title":"The architecture of cognition","author":"Anderson J. R.","year":"1983"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog0802_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0102_2"},{"key":"e_1_2_1_7_1","unstructured":"Ball L. J.(1990).Cognitive processes in engineering design. Unpublished doctoral dissertation Department of Psychology Polytechnic South West Plymouth United Kingdom."},{"key":"e_1_2_1_8_1","first-page":"123","volume-title":"Automating software design","author":"Barstow D.","year":"1991"},{"key":"e_1_2_1_9_1","volume-title":"Machine intelligence","author":"Barstow D. R.","year":"1982"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(83)80031-5"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"e_1_2_1_12_1","first-page":"141","volume-title":"Cognitive skills and their acquisition","author":"Chase W. G.","year":"1981"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(05)80143-9"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog1504_3"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci1002&3_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01933419"},{"key":"e_1_2_1_17_1","volume-title":"A discipline of programming","author":"Dijkstra E. W.","year":"1976"},{"key":"e_1_2_1_18_1","volume-title":"Program derivation","author":"Feather M. S.","year":"1989"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/357153.357154"},{"key":"e_1_2_1_20_1","volume-title":"Frame analysis","author":"Goffman E.","year":"1974"},{"key":"e_1_2_1_21_1","volume-title":"People and computers V","author":"Green T. R. G.","year":"1989"},{"key":"e_1_2_1_22_1","first-page":"132","volume-title":"Empirical studies of programmers: Second workshop","author":"Green T. R. G.","year":"1987"},{"key":"e_1_2_1_23_1","volume-title":"E unum pinhead","author":"Griffith B.","year":"1980"},{"key":"e_1_2_1_24_1","first-page":"65","volume-title":"Empirical studies of programmers: Second workshop","author":"Guindon R.","year":"1987"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/52.43052"},{"key":"e_1_2_1_26_1","unstructured":"Hartman J.(1991).Automatic control understanding for natural programs. Unpublished doctoral dissertation (No. AI91\u2010161). Artificial Intelligence Laboratory Department of Computer Sciences University of Texas at Austin."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog0304_1"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/65979.65980"},{"key":"e_1_2_1_29_1","first-page":"285","volume-title":"Cognitive skills and their acquisition","author":"Jeffries R.","year":"1981"},{"key":"e_1_2_1_30_1","volume-title":"Flexible reuse and modification in hierarchical planning","author":"Kambhampati S.","year":"1989"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231884"},{"key":"e_1_2_1_32_1","first-page":"141","volume-title":"Automating software design","author":"Kant E.","year":"1991"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1016\/0306-4573(84)90042-6"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0202_2"},{"key":"e_1_2_1_35_1","first-page":"125","volume-title":"Expert problem solving strategies for program comprehension","author":"Koenemann J.","year":"1991"},{"key":"e_1_2_1_36_1","volume-title":"Retrieval and organizational strategies in conceptual memory: A computer model","author":"Kolodner J. L.","year":"1984"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1986.233414"},{"key":"e_1_2_1_38_1","volume-title":"Object\u2010oriented software construction","author":"Meyer B.","year":"1988"},{"key":"e_1_2_1_39_1","volume-title":"Eiffel: The language","author":"Meyer B.","year":"1992"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01932307"},{"key":"e_1_2_1_41_1","volume-title":"Human problem solving","author":"Newell A.","year":"1972"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1037\/0033-295X.88.1.1"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1201\/b15703-3"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1016\/0010-0285(79)90006-9"},{"key":"e_1_2_1_45_1","unstructured":"O'Keeffe J. &Rist R.(1994).A model of plan recognition. Unpublished manuscript."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/361598.361623"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1986.6312940"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(85)80078-X"},{"key":"e_1_2_1_49_1","volume-title":"The programmer's apprentice","author":"Rich C.","year":"1990"},{"key":"e_1_2_1_50_1","volume-title":"Direct memory access parsing","author":"Riesbeck C. K.","year":"1985"},{"key":"e_1_2_1_51_1","first-page":"28","volume-title":"Empirical studies of programmers","author":"Rist R. S.","year":"1986"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog1303_3"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(05)80121-X"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0601_1"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-03035-6_13"},{"key":"e_1_2_1_56_1","volume-title":"Automated plan analysis in programming","author":"Rist R. S.","year":"1991"},{"key":"e_1_2_1_57_1","unstructured":"Rist R. S. &McDermott T.(1993).Tracer: A tool for tracing plans in Pascal. Unpublished user manual."},{"key":"e_1_2_1_58_1","volume-title":"Object\u2010oriented programming in Eiffel","author":"Rist R. S.","year":"1995"},{"key":"e_1_2_1_59_1","volume-title":"A structure for plans and behavior","author":"Sacerdoti E. D.","year":"1975"},{"key":"e_1_2_1_60_1","volume-title":"Dynamic memory","author":"Schank R.","year":"1982"},{"key":"e_1_2_1_61_1","volume-title":"Explanation patterns: Understanding mechanically and creatively","author":"Schank R.","year":"1986"},{"key":"e_1_2_1_62_1","volume-title":"Scripts, plans, goals, and understanding","author":"Schank R. C.","year":"1977"},{"key":"e_1_2_1_63_1","volume-title":"Inside computer understanding","author":"Schank R. C.","year":"1981"},{"key":"e_1_2_1_64_1","first-page":"187","volume-title":"Empirical studies of programmers: Fifth Workshop","author":"Scholtz J.","year":"1993"},{"key":"e_1_2_1_65_1","volume-title":"The sciences of the artificial","author":"Simon H. A.","year":"1969"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/182.358436"},{"key":"e_1_2_1_67_1","first-page":"27","volume-title":"Directions in human\u2010computer interactions","author":"Soloway E.","year":"1982"},{"key":"e_1_2_1_68_1","volume-title":"Software engineering","author":"Sommerville I.","year":"1989"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15327051hci0102_4"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(81)90007-2"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1126\/science.153.3736.652"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog1701_5"},{"key":"e_1_2_1_73_1","volume-title":"Plans and situated actions: The problems of human\u2010machine communication","author":"Suchman L. A.","year":"1987"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/358557.358572"},{"key":"e_1_2_1_75_1","first-page":"217","volume-title":"Empirical studies of programmers: Second workshop","author":"Visser W.","year":"1987"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(05)80119-1"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(71)90014-2"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/358557.358577"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"},{"key":"e_1_2_1_80_1","first-page":"187","volume-title":"Empirical studies of programmers","author":"Weiser M.","year":"1986"},{"key":"e_1_2_1_81_1","first-page":"48","volume-title":"Empirical studies of programmers","author":"Wiedenbeck S.","year":"1986"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(84)80052-8"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog0502_1"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/362575.362577"},{"key":"e_1_2_1_85_1","volume-title":"Structured design","author":"Yourdon E.","year":"1979"}],"container-title":["Cognitive Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1207%2Fs15516709cog1904_3","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1207\/s15516709cog1904_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T15:57:28Z","timestamp":1698249448000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1207\/s15516709cog1904_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,10]]},"references-count":84,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1995,10]]}},"alternative-id":["10.1207\/s15516709cog1904_3"],"URL":"https:\/\/doi.org\/10.1207\/s15516709cog1904_3","archive":["Portico"],"relation":{},"ISSN":["0364-0213","1551-6709"],"issn-type":[{"value":"0364-0213","type":"print"},{"value":"1551-6709","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,10]]},"assertion":[{"value":"2010-02-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}