{"id":"https://openalex.org/W1991712822","doi":"https://doi.org/10.1109/tkde.2002.1000347","title":"R++: adding path-based rules to C++","display_name":"R++: adding path-based rules to C++","publication_year":2002,"publication_date":"2002-05-01","ids":{"openalex":"https://openalex.org/W1991712822","doi":"https://doi.org/10.1109/tkde.2002.1000347","mag":"1991712822"},"language":"en","primary_location":{"id":"doi:10.1109/tkde.2002.1000347","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tkde.2002.1000347","pdf_url":null,"source":{"id":"https://openalex.org/S30698027","display_name":"IEEE Transactions on Knowledge and Data Engineering","issn_l":"1041-4347","issn":["1041-4347","1558-2191","2326-3865"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Knowledge and Data Engineering","raw_type":"journal-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/A5048682514","display_name":"Diane Litman","orcid":"https://orcid.org/0000-0001-7282-7531"},"institutions":[{"id":"https://openalex.org/I1283103587","display_name":"AT&T (United States)","ror":"https://ror.org/02bbd5539","country_code":"US","type":"company","lineage":["https://openalex.org/I1283103587"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"D. Litman","raw_affiliation_strings":["AT and T Research Laboratories, Florham Park, NJ, USA"],"affiliations":[{"raw_affiliation_string":"AT and T Research Laboratories, Florham Park, NJ, USA","institution_ids":["https://openalex.org/I1283103587"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076726764","display_name":"Peter F. Patel\u2010Schneider","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"P.F. Patel-Schneider","raw_affiliation_strings":["Bell Laboratories, Murray Hill, NJ, USA"],"affiliations":[{"raw_affiliation_string":"Bell Laboratories, Murray Hill, NJ, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089777216","display_name":"Anil Kumar Mishra","orcid":"https://orcid.org/0000-0003-2504-3309"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"A. Mishra","raw_affiliation_strings":["Inautix Technology, NJ, USA"],"affiliations":[{"raw_affiliation_string":"Inautix Technology, NJ, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082248197","display_name":"James M. Crawford","orcid":"https://orcid.org/0000-0003-3614-6055"},"institutions":[{"id":"https://openalex.org/I182980787","display_name":"University of Dallas","ror":"https://ror.org/00v3ak792","country_code":"US","type":"education","lineage":["https://openalex.org/I182980787"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"J. Crawford","raw_affiliation_strings":["Irving, TX, USA"],"affiliations":[{"raw_affiliation_string":"Irving, TX, USA","institution_ids":["https://openalex.org/I182980787"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5111466736","display_name":"Daniel Dvorak","orcid":null},"institutions":[{"id":"https://openalex.org/I122411786","display_name":"California Institute of Technology","ror":"https://ror.org/05dxps055","country_code":"US","type":"education","lineage":["https://openalex.org/I122411786"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"D. Dvorak","raw_affiliation_strings":["Propulsion Laboratory, California Institute of Technology, Pasadena, CA, USA"],"affiliations":[{"raw_affiliation_string":"Propulsion Laboratory, California Institute of Technology, Pasadena, CA, USA","institution_ids":["https://openalex.org/I122411786"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5048682514"],"corresponding_institution_ids":["https://openalex.org/I1283103587"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.15056022,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"14","issue":"3","first_page":"638","last_page":"658"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9993000030517578,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9993000030517578,"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.996999979019165,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9968000054359436,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8447071313858032},{"id":"https://openalex.org/keywords/path","display_name":"Path (computing)","score":0.6395951509475708},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6200101971626282},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.513340413570404},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.48670485615730286},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4841962158679962},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.4836946129798889},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.46269094944000244},{"id":"https://openalex.org/keywords/rule-based-system","display_name":"Rule-based system","score":0.45077207684516907},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.41126787662506104},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.3386352062225342},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2947238087654114},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.24371221661567688}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8447071313858032},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.6395951509475708},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6200101971626282},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.513340413570404},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.48670485615730286},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4841962158679962},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.4836946129798889},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.46269094944000244},{"id":"https://openalex.org/C149271511","wikidata":"https://www.wikidata.org/wiki/Q1417149","display_name":"Rule-based system","level":2,"score":0.45077207684516907},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.41126787662506104},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3386352062225342},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2947238087654114},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.24371221661567688},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/tkde.2002.1000347","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tkde.2002.1000347","pdf_url":null,"source":{"id":"https://openalex.org/S30698027","display_name":"IEEE Transactions on Knowledge and Data Engineering","issn_l":"1041-4347","issn":["1041-4347","1558-2191","2326-3865"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Knowledge and Data Engineering","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.32.5652","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.5652","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.research.att.com/~diane/ieeetkde01.ps","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.4099999964237213,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":50,"referenced_works":["https://openalex.org/W10589072","https://openalex.org/W13165544","https://openalex.org/W29484930","https://openalex.org/W53575411","https://openalex.org/W83148842","https://openalex.org/W91169701","https://openalex.org/W137561315","https://openalex.org/W160496411","https://openalex.org/W199552691","https://openalex.org/W1496304139","https://openalex.org/W1496689342","https://openalex.org/W1555797260","https://openalex.org/W1572135705","https://openalex.org/W1597227583","https://openalex.org/W1607315048","https://openalex.org/W1835762651","https://openalex.org/W1971757488","https://openalex.org/W1983026603","https://openalex.org/W1991247646","https://openalex.org/W2016580249","https://openalex.org/W2021364735","https://openalex.org/W2085158159","https://openalex.org/W2097163489","https://openalex.org/W2107328638","https://openalex.org/W2110420023","https://openalex.org/W2116502002","https://openalex.org/W2122211300","https://openalex.org/W2137726164","https://openalex.org/W2138484389","https://openalex.org/W2152631562","https://openalex.org/W2161337438","https://openalex.org/W2162702010","https://openalex.org/W2170603094","https://openalex.org/W2397627990","https://openalex.org/W2972167349","https://openalex.org/W4213215958","https://openalex.org/W4243926669","https://openalex.org/W4285719527","https://openalex.org/W4385439174","https://openalex.org/W6600564771","https://openalex.org/W6601223687","https://openalex.org/W6602187226","https://openalex.org/W6605591030","https://openalex.org/W6606493514","https://openalex.org/W6608032004","https://openalex.org/W6629573608","https://openalex.org/W6635637080","https://openalex.org/W6636156774","https://openalex.org/W6676149658","https://openalex.org/W6682641034"],"related_works":["https://openalex.org/W2541817194","https://openalex.org/W1644865499","https://openalex.org/W1624398140","https://openalex.org/W2059247387","https://openalex.org/W4252338223","https://openalex.org/W2161156675","https://openalex.org/W2504620268","https://openalex.org/W2107072074","https://openalex.org/W1776881751","https://openalex.org/W3004782279"],"abstract_inverted_index":{"Object-oriented":[0],"languages":[1,4,21],"and":[2,8,39,100,131],"rule-based":[3,38],"offer":[5,132],"two":[6],"distinct":[7],"useful":[9,88],"programming":[10,48,99],"abstractions.":[11],"However,":[12],"previous":[13],"attempts":[14],"to":[15,66,79],"integrate":[16],"data-driven":[17],"rules":[18,62,85,122],"into":[19],"object-oriented":[20,40,104,129],"have":[22],"typically":[23],"achieved":[24],"an":[25],"uneasy":[26],"union":[27],"at":[28,125],"best.":[29],"R++":[30],"is":[31],"a":[32,46,54,87,94,107],"new,":[33],"closer":[34],"integration":[35],"of":[36,57,90,98,109,113],"the":[37,50,80,128],"paradigms":[41],"that":[42,63,74,92],"extends":[43],"C++":[44],"with":[45,127],"single":[47],"construct,":[49],"path-based":[51,121],"rule,":[52],"as":[53,106],"new":[55],"kind":[56],"class":[58],"member.":[59],"Path-based":[60,84],"rules-data-driven":[61],"are":[64,75,101,123],"restricted":[65],"following":[67],"pointers":[68],"between":[69],"objects-are":[70],"like":[71],"automatic":[72],"methods":[73],"triggered":[76],"by":[77],"changes":[78],"objects":[81],"they":[82],"monitor.":[83],"provide":[86],"level":[89],"abstraction":[91],"encourages":[93],"more":[95,117],"declarative":[96],"style":[97],"valuable":[102],"in":[103],"designs":[105],"means":[108],"modeling":[110],"dynamic":[111],"collections":[112],"interdependent":[114],"objects.":[115],"Unlike":[116],"traditional":[118],"pattern-matching":[119],"rules,":[120],"not":[124],"odds":[126],"paradigm":[130],"performance":[133],"advantages":[134],"for":[135],"many":[136],"natural":[137],"applications.":[138]},"counts_by_year":[],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
