{"id":"https://openalex.org/W2045273776","doi":"https://doi.org/10.1145/1353482.1353486","title":"Modularity first","display_name":"Modularity first","publication_year":2008,"publication_date":"2008-03-31","ids":{"openalex":"https://openalex.org/W2045273776","doi":"https://doi.org/10.1145/1353482.1353486","mag":"2045273776"},"language":"en","primary_location":{"id":"doi:10.1145/1353482.1353486","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1353482.1353486","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th international conference on Aspect-oriented software development","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/A5052865315","display_name":"Pavel Avgustinov","orcid":null},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Pavel Avgustinov","raw_affiliation_strings":["University of Oxford, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011487894","display_name":"Torbj\u00f6rn Ekman","orcid":"https://orcid.org/0000-0002-3413-191X"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Torbj\u00f6rn Ekman","raw_affiliation_strings":["University of Oxford, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5039710262","display_name":"Julian Tibble","orcid":null},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Julian Tibble","raw_affiliation_strings":["University of Oxford, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5052865315"],"corresponding_institution_ids":["https://openalex.org/I40120149"],"apc_list":null,"apc_paid":null,"fwci":8.0087,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":{"value":0.97141511,"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":"25","last_page":"35"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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.9997000098228455,"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/T10679","display_name":"Service-Oriented Architecture and Web Services","score":0.9959999918937683,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9879999756813049,"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/aspectj","display_name":"AspectJ","score":0.959715723991394},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8558251857757568},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7846983671188354},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7540644407272339},{"id":"https://openalex.org/keywords/aspect-oriented-programming","display_name":"Aspect-oriented programming","score":0.7305943965911865},{"id":"https://openalex.org/keywords/modularity","display_name":"Modularity (biology)","score":0.5661136507987976},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5325194001197815},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4734613299369812},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.4647981524467468},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.4602152109146118},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.45638683438301086},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4462229907512665},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.4387187361717224},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4220642149448395},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.10492381453514099},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.08126020431518555}],"concepts":[{"id":"https://openalex.org/C2781009160","wikidata":"https://www.wikidata.org/wiki/Q735604","display_name":"AspectJ","level":4,"score":0.959715723991394},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8558251857757568},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7846983671188354},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7540644407272339},{"id":"https://openalex.org/C60051680","wikidata":"https://www.wikidata.org/wiki/Q30267","display_name":"Aspect-oriented programming","level":3,"score":0.7305943965911865},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.5661136507987976},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5325194001197815},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4734613299369812},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.4647981524467468},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.4602152109146118},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.45638683438301086},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4462229907512665},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.4387187361717224},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4220642149448395},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.10492381453514099},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.08126020431518555},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1353482.1353486","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1353482.1353486","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th international conference on Aspect-oriented software development","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":25,"referenced_works":["https://openalex.org/W1495806955","https://openalex.org/W1580723896","https://openalex.org/W1712062258","https://openalex.org/W1738994323","https://openalex.org/W1812582761","https://openalex.org/W1964071625","https://openalex.org/W1971138166","https://openalex.org/W2003686116","https://openalex.org/W2013071456","https://openalex.org/W2013354658","https://openalex.org/W2046324828","https://openalex.org/W2070821087","https://openalex.org/W2080696000","https://openalex.org/W2089241138","https://openalex.org/W2096383607","https://openalex.org/W2097964082","https://openalex.org/W2098396599","https://openalex.org/W2111141292","https://openalex.org/W2127610832","https://openalex.org/W2128347075","https://openalex.org/W2135951036","https://openalex.org/W2136033258","https://openalex.org/W2579796627","https://openalex.org/W4237774781","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W4240435256","https://openalex.org/W2277843704","https://openalex.org/W1553451134","https://openalex.org/W2038093010","https://openalex.org/W2146356030","https://openalex.org/W2182403552","https://openalex.org/W2146740093","https://openalex.org/W4246432544","https://openalex.org/W1585507594","https://openalex.org/W2098364822"],"abstract_inverted_index":{"We":[0],"have":[1,122],"reimplemented":[2],"the":[3,6,13,59,63,103,110,147,168],"frontend":[4,19,24],"of":[5,33,47,54,56,85,112,171],"extensible":[7,169],"AspectBench":[8],"Compiler":[9],"for":[10],"AspectJ,":[11],"using":[12,57],"aspect-oriented":[14],"meta-compiler":[15],"JastAdd.":[16],"The":[17],"original":[18],"was":[20],"purely":[21],"object-oriented.":[22],"Each":[23],"extends":[25],"Java":[26],"with":[27],"AspectJ":[28],"and":[29,50,75,92,115,133,142],"an":[30,159],"additional":[31,99],"set":[32],"pointcuts":[34],"in":[35,109,138],"a":[36,44,52,81,125],"modular":[37],"fashion.":[38],"In":[39],"this":[40],"paper":[41],"we":[42],"give":[43],"detailed":[45],"comparison":[46],"both":[48,130],"approaches":[49],"show":[51],"number":[53],"advantages":[55],"JastAdd:":[58],"implementation":[60,119,170],"is":[61],"half":[62],"size,":[64],"twice":[65],"as":[66,158],"fast,":[67],"concerns":[68],"are":[69,73,77,96,107],"better":[70],"localised,":[71],"extensions":[72,141],"composable,":[74],"computations":[76,173],"automatically":[78],"scheduled.JastAdd":[79],"provides":[80],"very":[82],"constrained":[83],"form":[84,111],"static":[86],"AOP":[87,148],"where":[88],"only":[89],"inter-type":[90],"declarations":[91],"method":[93],"execution":[94],"interception":[95],"supported.":[97],"However,":[98],"modularisation":[100,161],"mechanisms":[101],"from":[102,124,154],"compiler":[104],"construction":[105],"community":[106,149],"supported":[108],"demand-driven":[113,156],"evaluation":[114,132,157],"attribute":[116,165],"grammars.":[117],"Our":[118],"would":[120],"not":[121],"benefited":[123],"richer":[126],"pointcut":[127],"language,":[128],"while":[129],"demand-drive":[131],"declarative":[134],"attributes":[135],"were":[136],"essential":[137],"enabling":[139],"composable":[140],"flexible":[143],"modularisation.We":[144],"believe":[145],"that":[146,174],"at":[150],"large":[151],"can":[152],"benefit":[153],"acknowledging":[155],"important":[160],"mechanism.":[162],"Also,":[163],"reference":[164],"grammars":[166],"enhance":[167],"graphbased":[172],"rely":[175],"on":[176],"context-sensitive":[177],"information.":[178]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
