{"id":"https://openalex.org/W2055970549","doi":"https://doi.org/10.1145/353171.353181","title":"MultiJava: modular open classes and symmetric multiple dispatch for Java","display_name":"MultiJava: modular open classes and symmetric multiple dispatch for Java","publication_year":2000,"publication_date":"2000-10-01","ids":{"openalex":"https://openalex.org/W2055970549","doi":"https://doi.org/10.1145/353171.353181","mag":"2055970549"},"language":"en","primary_location":{"id":"doi:10.1145/353171.353181","doi":"https://doi.org/10.1145/353171.353181","is_oa":true,"landing_page_url":"https://doi.org/10.1145/353171.353181","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/354222.353181","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"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":"Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/354222.353181","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052398249","display_name":"Curtis Charles Clifton","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Curtis Clifton","raw_affiliation_strings":["Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA","Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames IA#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA","institution_ids":["https://openalex.org/I173911158"]},{"raw_affiliation_string":"Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames IA#TAB#","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014066009","display_name":"Gary Todd Leavens","orcid":"https://orcid.org/0000-0003-3271-3921","observed_orcids":["https://orcid.org/0000-0003-3271-3921"]},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gary T. Leavens","raw_affiliation_strings":["Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA","Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames IA#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA","institution_ids":["https://openalex.org/I173911158"]},{"raw_affiliation_string":"Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames IA#TAB#","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070604627","display_name":"Craig Chambers","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Craig Chambers","raw_affiliation_strings":["Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd D. Millstein","orcid":"https://orcid.org/0000-0002-2031-1514","observed_orcids":["https://orcid.org/0000-0002-2031-1514"]},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA","institution_ids":["https://openalex.org/I201448701"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":10.6373,"has_fulltext":true,"cited_by_count":285,"citation_normalized_percentile":{"value":0.99227799,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":92,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"130","last_page":"145"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.0003000000142492354,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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":9.999999747378752e-05,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/open-lessons","display_name":"open classes","score":0.781000018119812},{"id":"https://openalex.org/keywords/multiple-dispatch","display_name":"multiple dispatch","score":0.800000011920929},{"id":"https://openalex.org/keywords/java-extension","display_name":"Java extension","score":0.6079999804496765},{"id":"https://openalex.org/keywords/static-type-checking","display_name":"static type checking","score":0.7149999737739563},{"id":"https://openalex.org/keywords/backward-compatibility","display_name":"backward compatibility","score":0.5559999942779541},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"object-oriented programming","score":0.5120000243186951}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8787851333618164},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7252495288848877},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6507763862609863},{"id":"https://openalex.org/C48947383","wikidata":"https://www.wikidata.org/wiki/Q830719","display_name":"Visitor pattern","level":2,"score":0.5801833868026733},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.49170738458633423},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.47694745659828186},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4507262706756592},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4226442575454712},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12815311551094055}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/353171.353181","doi":"https://doi.org/10.1145/353171.353181","is_oa":true,"landing_page_url":"https://doi.org/10.1145/353171.353181","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/354222.353181","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"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":"Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/353171.353181","doi":"https://doi.org/10.1145/353171.353181","is_oa":true,"landing_page_url":"https://doi.org/10.1145/353171.353181","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/354222.353181","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"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":"Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G1177476711","display_name":"Towards Practical, Expressive Multimethods","funder_award_id":"9970986","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G2966871224","display_name":"Formal Methods for Multimethod Software Components","funder_award_id":"9803843","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2055970549.pdf","grobid_xml":"https://content.openalex.org/works/W2055970549.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W25798763","https://openalex.org/W108020401","https://openalex.org/W168248273","https://openalex.org/W1503831567","https://openalex.org/W1505718642","https://openalex.org/W1521422937","https://openalex.org/W1525643703","https://openalex.org/W1533109738","https://openalex.org/W1537618227","https://openalex.org/W1579555714","https://openalex.org/W1602914846","https://openalex.org/W1644882639","https://openalex.org/W1649645444","https://openalex.org/W1977655588","https://openalex.org/W2017743728","https://openalex.org/W2022373880","https://openalex.org/W2029414465","https://openalex.org/W2054373994","https://openalex.org/W2080674003","https://openalex.org/W2084686108","https://openalex.org/W2091703106","https://openalex.org/W2116793756","https://openalex.org/W2133546079","https://openalex.org/W2133786491","https://openalex.org/W2143238865","https://openalex.org/W2144015080","https://openalex.org/W2161064529","https://openalex.org/W2171351846","https://openalex.org/W2173184982","https://openalex.org/W2178405344","https://openalex.org/W2270807569","https://openalex.org/W2911735617","https://openalex.org/W3003157687","https://openalex.org/W4235702462","https://openalex.org/W4238080674","https://openalex.org/W4298691655"],"related_works":["https://openalex.org/W7096260621","https://openalex.org/W1596337349","https://openalex.org/W7002374515","https://openalex.org/W4213255512","https://openalex.org/W1580631325","https://openalex.org/W2032609375","https://openalex.org/W2027261723","https://openalex.org/W4243073033","https://openalex.org/W7100987215","https://openalex.org/W7099166012"],"abstract_inverted_index":{"We":[0,98,122],"present":[1,124],"MultiJava,":[2],"a":[3,79,125],"backward-compatible":[4],"extension":[5],"to":[6,19,21,57,82,103,107],"Java":[7],"supporting":[8],"open":[9,44,52,138],"classes":[10,16,45,53,139],"and":[11,51,62,112,132],"symmetric":[12],"multiple":[13,90,141],"dispatch.":[14],"Open":[15],"allow":[17,104],"one":[18],"add":[20,58],"the":[22,40,55,71],"set":[23],"of":[24,74,85],"methods":[25],"that":[26,129],"an":[27],"existing":[28,37,94],"class":[29],"supports":[30],"without":[31],"creating":[32],"distinct":[33],"subclasses":[34,60],"or":[35,118,140],"editing":[36],"code.":[38],"Unlike":[39],"\"Visitor\"":[41],"design":[42],"pattern,":[43],"do":[46],"not":[47],"require":[48],"advance":[49],"planning,":[50],"preserve":[54],"ability":[56],"new":[59],"modularly":[61,111,131],"safely.":[63],"Multiple":[64],"dispatch":[65,91],"offers":[66],"several":[67],"well-known":[68],"advantages":[69],"over":[70],"single":[72],"dispatching":[73,142],"conventional":[75],"object-oriented":[76],"languages,":[77],"including":[78],"simple":[80],"solution":[81],"some":[83],"kinds":[84],"\"binary":[86],"method\"":[87],"problems.":[88],"MultiJava's":[89],"retains":[92],"Java's":[93],"class-based":[95],"encapsulation":[96],"properties.":[97],"adapt":[99],"previous":[100],"theoretical":[101],"work":[102],"compilation":[105,127],"units":[106],"be":[108],"statically":[109],"typechecked":[110],"safely,":[113],"ruling":[114],"out":[115],"any":[116],"link-time":[117],"run-time":[119],"type":[120],"errors.":[121],"also":[123],"n":[126],"scheme":[128],"operates":[130],"incurs":[133],"performance":[134],"overhead":[135],"only":[136],"where":[137],"are":[143],"actually":[144],"used.":[145]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":9},{"year":2013,"cited_by_count":13},{"year":2012,"cited_by_count":10}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
