{"id":"https://openalex.org/W2098606386","doi":"https://doi.org/10.1109/ase.2002.1114991","title":"Generative design patterns","display_name":"Generative design patterns","publication_year":2002,"publication_date":"2002-01-01","ids":{"openalex":"https://openalex.org/W2098606386","doi":"https://doi.org/10.1109/ase.2002.1114991","mag":"2098606386"},"language":"en","primary_location":{"id":"doi:10.1109/ase.2002.1114991","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ase.2002.1114991","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5114161007","display_name":"S. MacDonald","orcid":null},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"S. MacDonald","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5000711683","display_name":"Duane Szafron","orcid":"https://orcid.org/0000-0001-7864-6811"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"D. Szafron","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018637996","display_name":"Jonathan Schaeffer","orcid":"https://orcid.org/0000-0002-2447-7394"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"J. Schaeffer","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038565477","display_name":"John Anvik","orcid":"https://orcid.org/0000-0002-6912-1754"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"J. Anvik","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011778418","display_name":"S. Bromling","orcid":null},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"S. Bromling","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073875168","display_name":"Kai Tan","orcid":null},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"K. Tan","raw_affiliation_strings":["Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada"],"affiliations":[{"raw_affiliation_string":"Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada","institution_ids":["https://openalex.org/I154425047"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5114161007"],"corresponding_institution_ids":["https://openalex.org/I154425047"],"apc_list":null,"apc_paid":null,"fwci":5.1138,"has_fulltext":false,"cited_by_count":38,"citation_normalized_percentile":{"value":0.95650148,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"23","last_page":"34"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12490","display_name":"Software Engineering and Design Patterns","score":0.9970999956130981,"subfield":{"id":"https://openalex.org/subfields/3303","display_name":"Development"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7736039161682129},{"id":"https://openalex.org/keywords/generative-grammar","display_name":"Generative grammar","score":0.7359333038330078},{"id":"https://openalex.org/keywords/generative-design","display_name":"Generative Design","score":0.7068044543266296},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.6977611780166626},{"id":"https://openalex.org/keywords/object-oriented-design","display_name":"Object-oriented design","score":0.6652105450630188},{"id":"https://openalex.org/keywords/usable","display_name":"USable","score":0.5761567950248718},{"id":"https://openalex.org/keywords/design-pattern","display_name":"Design pattern","score":0.5537247061729431},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.5477197170257568},{"id":"https://openalex.org/keywords/structural-pattern","display_name":"Structural pattern","score":0.5295138359069824},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.5093072652816772},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5061506628990173},{"id":"https://openalex.org/keywords/software-design","display_name":"Software design","score":0.48456087708473206},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46495211124420166},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4327332675457001},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4148882031440735},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4139111042022705},{"id":"https://openalex.org/keywords/human\u2013computer-interaction","display_name":"Human\u2013computer interaction","score":0.4134535789489746},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.3968995213508606},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3624610900878906},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3180810511112213},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3108043074607849},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.09690436720848083},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.09059217572212219}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7736039161682129},{"id":"https://openalex.org/C39890363","wikidata":"https://www.wikidata.org/wiki/Q36108","display_name":"Generative grammar","level":2,"score":0.7359333038330078},{"id":"https://openalex.org/C184408114","wikidata":"https://www.wikidata.org/wiki/Q1502022","display_name":"Generative Design","level":3,"score":0.7068044543266296},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.6977611780166626},{"id":"https://openalex.org/C53073257","wikidata":"https://www.wikidata.org/wiki/Q7075021","display_name":"Object-oriented design","level":3,"score":0.6652105450630188},{"id":"https://openalex.org/C2780615836","wikidata":"https://www.wikidata.org/wiki/Q2471869","display_name":"USable","level":2,"score":0.5761567950248718},{"id":"https://openalex.org/C14501506","wikidata":"https://www.wikidata.org/wiki/Q5253831","display_name":"Design pattern","level":2,"score":0.5537247061729431},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.5477197170257568},{"id":"https://openalex.org/C164202143","wikidata":"https://www.wikidata.org/wiki/Q635280","display_name":"Structural pattern","level":5,"score":0.5295138359069824},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.5093072652816772},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5061506628990173},{"id":"https://openalex.org/C52913732","wikidata":"https://www.wikidata.org/wiki/Q857102","display_name":"Software design","level":4,"score":0.48456087708473206},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46495211124420166},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4327332675457001},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4148882031440735},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4139111042022705},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.4134535789489746},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.3968995213508606},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3624610900878906},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3180810511112213},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3108043074607849},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09690436720848083},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.09059217572212219},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C176217482","wikidata":"https://www.wikidata.org/wiki/Q860554","display_name":"Metric (unit)","level":2,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1109/ase.2002.1114991","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ase.2002.1114991","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.15.3612","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.3612","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ualberta.ca/~janvik/papers/ASE2002.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.408.449","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.408.449","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://plg.uwaterloo.ca/~stevem/papers/unused/OOPSLA2002.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.59.2706","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.2706","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ualberta.ca/~duane/pdf/2002ase.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W41699526","https://openalex.org/W94032536","https://openalex.org/W109260298","https://openalex.org/W1569144507","https://openalex.org/W1574158455","https://openalex.org/W1575238410","https://openalex.org/W1592740644","https://openalex.org/W1596169426","https://openalex.org/W1603994548","https://openalex.org/W1610570299","https://openalex.org/W1616782664","https://openalex.org/W1649645444","https://openalex.org/W1668924526","https://openalex.org/W1963588736","https://openalex.org/W1969483458","https://openalex.org/W1983163123","https://openalex.org/W1990000511","https://openalex.org/W2088322083","https://openalex.org/W2116665965","https://openalex.org/W2121153954","https://openalex.org/W2121984483","https://openalex.org/W2150470619","https://openalex.org/W2897535665","https://openalex.org/W6601698369","https://openalex.org/W6603824141","https://openalex.org/W6604486489","https://openalex.org/W6636228212","https://openalex.org/W6636323515","https://openalex.org/W6636954095","https://openalex.org/W6672507381"],"related_works":["https://openalex.org/W2037721767","https://openalex.org/W2088322083","https://openalex.org/W1531468785","https://openalex.org/W4231940311","https://openalex.org/W2075566062","https://openalex.org/W1554217755","https://openalex.org/W4385303825","https://openalex.org/W3040588613","https://openalex.org/W2183981186","https://openalex.org/W2098606386"],"abstract_inverted_index":{"A":[0,12,79,94,105],"design":[1,13,22,29,46,58,92,126],"pattern":[2,14],"encapsulates":[3],"the":[4,77,99],"knowledge":[5],"of":[6,51,56,69,101],"object-oriented":[7],"designers":[8],"into":[9],"re-usable":[10],"artifacts.":[11],"is":[15,44,62,82,85,98,151],"a":[16,49,54,66,102,111,121],"descriptive":[17],"device":[18],"that":[19,37,45,71,83,128],"fosters":[20],"software":[21],"re-use.":[23,40],"There":[24],"are":[25,31],"several":[26],"reasons":[27],"why":[28],"patterns":[30,47,117,127],"not":[32],"used":[33],"as":[34],"generative":[35,91,125],"constructs":[36],"support":[38],"code":[39,70],"The":[41],"first":[42],"reason":[43,81],"describe":[48,120],"set":[50],"solutions":[52],"to":[53,64,87,110,114,124],"family":[55],"related":[57],"problems":[59],"and":[60,89,144],"it":[61,84],"difficult":[63,86,132],"generate":[65],"single":[67],"body":[68],"adequately":[72],"solves":[73,129],"each":[74],"problem":[75],"in":[76],"family.":[78],"second":[80],"construct":[88],"edit":[90],"patterns.":[93],"third":[95],"major":[96],"impediment":[97],"lack":[100],"tool-independent":[103],"representation.":[104],"common":[106],"representation":[107],"could":[108],"lead":[109],"shared":[112],"repository":[113],"make":[115],"more":[116],"available.":[118],"We":[119,134],"new":[122],"approach":[123,137,150],"these":[130],"three":[131],"problems.":[133],"illustrate":[135],"this":[136],"using":[138],"tools":[139],"called":[140],"CO/sub":[141],"2/P/sub":[142,146],"2/S":[143,147],"Meta-CO/sub":[145],"but":[148],"our":[149],"tool-independent.":[152]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":5}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
