{"id":"https://openalex.org/W4252684506","doi":"https://doi.org/10.1109/icse.2003.1201256","title":"Patterns, frameworks, and middleware: their synergistic relationships","display_name":"Patterns, frameworks, and middleware: their synergistic relationships","publication_year":2003,"publication_date":"2003-01-01","ids":{"openalex":"https://openalex.org/W4252684506","doi":"https://doi.org/10.1109/icse.2003.1201256"},"language":"en","primary_location":{"id":"doi:10.1109/icse.2003.1201256","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2003.1201256","pdf_url":null,"source":{"id":"https://openalex.org/S4363608967","display_name":"25th International Conference on Software Engineering, 2003. Proceedings.","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"25th International Conference on Software Engineering, 2003. Proceedings.","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/A5082548649","display_name":"Douglas C. Schmidt","orcid":"https://orcid.org/0000-0002-7389-4995"},"institutions":[{"id":"https://openalex.org/I200719446","display_name":"Vanderbilt University","ror":"https://ror.org/02vm5rt34","country_code":"US","type":"education","lineage":["https://openalex.org/I200719446"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"D.C. Schmidt","raw_affiliation_strings":["Electrical Engineering & Computer Science, Vanderbilt University, Nashville, TN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Electrical Engineering & Computer Science, Vanderbilt University, Nashville, TN, USA","institution_ids":["https://openalex.org/I200719446"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5048753191","display_name":"Frank Buschmann","orcid":null},"institutions":[{"id":"https://openalex.org/I1325886976","display_name":"Siemens (Germany)","ror":"https://ror.org/059mq0909","country_code":"DE","type":"company","lineage":["https://openalex.org/I1325886976"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"F. Buschmann","raw_affiliation_strings":["Corporate Research, Siemens AG, Munich, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Corporate Research, Siemens AG, Munich, Germany","institution_ids":["https://openalex.org/I1325886976"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.5281,"has_fulltext":false,"cited_by_count":50,"citation_normalized_percentile":{"value":0.9389313,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10933","display_name":"Real-Time Systems Scheduling","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9979000091552734,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9948999881744385,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7972995042800903},{"id":"https://openalex.org/keywords/middleware","display_name":"Middleware (distributed applications)","score":0.6981552243232727},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.674467921257019},{"id":"https://openalex.org/keywords/reusability","display_name":"Reusability","score":0.49591049551963806},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.46459245681762695},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.4635433852672577},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.46114760637283325},{"id":"https://openalex.org/keywords/software-framework","display_name":"Software framework","score":0.4456256628036499},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.4412645697593689},{"id":"https://openalex.org/keywords/resource-oriented-architecture","display_name":"Resource-oriented architecture","score":0.4251178205013275},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4171302616596222},{"id":"https://openalex.org/keywords/software-architecture","display_name":"Software architecture","score":0.41594427824020386},{"id":"https://openalex.org/keywords/component-based-software-engineering","display_name":"Component-based software engineering","score":0.3919553756713867},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.27200376987457275},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.16809862852096558},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.10960742831230164}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7972995042800903},{"id":"https://openalex.org/C169468491","wikidata":"https://www.wikidata.org/wiki/Q146923","display_name":"Middleware (distributed applications)","level":2,"score":0.6981552243232727},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.674467921257019},{"id":"https://openalex.org/C137981799","wikidata":"https://www.wikidata.org/wiki/Q1369184","display_name":"Reusability","level":3,"score":0.49591049551963806},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.46459245681762695},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.4635433852672577},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.46114760637283325},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.4456256628036499},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.4412645697593689},{"id":"https://openalex.org/C97382630","wikidata":"https://www.wikidata.org/wiki/Q13501132","display_name":"Resource-oriented architecture","level":5,"score":0.4251178205013275},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4171302616596222},{"id":"https://openalex.org/C35869016","wikidata":"https://www.wikidata.org/wiki/Q846636","display_name":"Software architecture","level":3,"score":0.41594427824020386},{"id":"https://openalex.org/C174683762","wikidata":"https://www.wikidata.org/wiki/Q609588","display_name":"Component-based software engineering","level":4,"score":0.3919553756713867},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.27200376987457275},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.16809862852096558},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.10960742831230164},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/icse.2003.1201256","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2003.1201256","pdf_url":null,"source":{"id":"https://openalex.org/S4363608967","display_name":"25th International Conference on Software Engineering, 2003. Proceedings.","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"25th International Conference on Software Engineering, 2003. Proceedings.","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W32003858","https://openalex.org/W41699526","https://openalex.org/W89477581","https://openalex.org/W114559391","https://openalex.org/W183002433","https://openalex.org/W1483520933","https://openalex.org/W1492493930","https://openalex.org/W1495466313","https://openalex.org/W1501652040","https://openalex.org/W1518346225","https://openalex.org/W1535654799","https://openalex.org/W1563525108","https://openalex.org/W1564594068","https://openalex.org/W1592740644","https://openalex.org/W1593452780","https://openalex.org/W1649645444","https://openalex.org/W1669329984","https://openalex.org/W1806068651","https://openalex.org/W1991319391","https://openalex.org/W2022529720","https://openalex.org/W2023247355","https://openalex.org/W2052982904","https://openalex.org/W2082897112","https://openalex.org/W2091399604","https://openalex.org/W2127036198","https://openalex.org/W2146507316","https://openalex.org/W2156013704","https://openalex.org/W2161057382","https://openalex.org/W2346555914","https://openalex.org/W3009999046","https://openalex.org/W4253733701","https://openalex.org/W6601326710","https://openalex.org/W6601698369","https://openalex.org/W6603665648","https://openalex.org/W6604665057","https://openalex.org/W6607454057","https://openalex.org/W6635645845","https://openalex.org/W6637535255","https://openalex.org/W6681871233","https://openalex.org/W6704900012"],"related_works":["https://openalex.org/W2372761019","https://openalex.org/W2109345116","https://openalex.org/W1589514039","https://openalex.org/W2365277668","https://openalex.org/W2145298726","https://openalex.org/W1553848812","https://openalex.org/W1480329237","https://openalex.org/W2099812765","https://openalex.org/W182180983","https://openalex.org/W1542812389"],"abstract_inverted_index":{"The":[0],"knowledge":[1,38],"required":[2,32],"to":[3,33,119,173,210,226],"develop":[4],"complex":[5,233],"software":[6,46,71,89,122,167,234],"has":[7],"historically":[8],"existed":[9],"in":[10,21,82,126,224],"programming":[11],"folklore,":[12],"the":[13,22,30,106,162,175,178,184,228],"heads":[14],"of":[15,54,70,105,147,154,161,181,198,232],"experienced":[16],"developers,":[17],"or":[18],"buried":[19],"deep":[20],"code.":[23],"These":[24],"locations":[25],"are":[26,97],"not":[27,75],"ideal":[28],"since":[29],"effort":[31],"capture":[34],"and":[35,42,49,73,91,95,129,150,171,183,191,201,213,215,230],"evolve":[36],"this":[37],"is":[39,62,80,165],"expensive,":[40],"time-consuming,":[41],"error-prone.":[43],"Many":[44],"popular":[45,99],"modeling":[47],"methods":[48],"tools":[50],"address":[51],"certain":[52],"aspects":[53,104],"these":[55,205],"problems":[56,123],"by":[57,141],"documenting":[58],"how":[59,204,218],"a":[60,78,83,134,145],"system":[61,79],"designed":[63,81],"However":[64],"they":[65,219],"only":[66],"support":[67],"limited":[68],"portions":[69],"development":[72],"do":[74],"articulate":[76],"why":[77],"particular":[84,127],"way,":[85],"which":[86],"complicates":[87],"subsequent":[88],"reuse":[90,212],"evolution.":[92],"Patterns,":[93],"frameworks,":[94,200],"middleware":[96],"increasingly":[98],"techniques":[100],"for":[101,144],"addressing":[102],"key":[103],"challenges":[107],"outlined":[108],"above.":[109],"Patterns":[110],"codify":[111],"reusable":[112,135,166],"design":[113],"expertise":[114],"that":[115,124,157,168],"provides":[116],"time-proven":[117],"solutions":[118],"commonly":[120],"occurring":[121],"arise":[125],"contexts":[128],"domains.":[130],"Frameworks":[131],"provide":[132],"both":[133],"product-line":[136],"architecture":[137],"[1]":[138],"-":[139,143],"guided":[140],"patterns":[142,170],"family":[146],"related":[148],"applications":[149,182],"an":[151,196],"integrated":[152],"set":[153],"collaborating":[155],"components":[156],"implement":[158],"concrete":[159],"realizations":[160],"architecture.":[163],"Middleware":[164],"leverages":[169],"frameworks":[172],"bridge":[174],"gap":[176],"between":[177],"functional":[179],"requirements":[180],"underlying":[185],"operating":[186],"systems,":[187],"network":[188],"protocol":[189],"stacks,":[190],"databases.":[192],"This":[193],"paper":[194],"presents":[195],"overview":[197],"patterns,":[199],"middleware,":[202],"describes":[203],"technologies":[206],"complement":[207],"each":[208],"other":[209],"enhance":[211],"productivity,":[214],"then":[216],"illustrates":[217],"have":[220],"been":[221],"applied":[222],"successfully":[223],"practice":[225],"improve":[227],"reusability":[229],"quality":[231],"systems.":[235]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
