{"id":"https://openalex.org/W2029432892","doi":"https://doi.org/10.1145/1294325.1294352","title":"A Prolog-oriented extension of Java programming based on generics and annotations","display_name":"A Prolog-oriented extension of Java programming based on generics and annotations","publication_year":2007,"publication_date":"2007-01-01","ids":{"openalex":"https://openalex.org/W2029432892","doi":"https://doi.org/10.1145/1294325.1294352","mag":"2029432892"},"language":"en","primary_location":{"id":"doi:10.1145/1294325.1294352","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1294325.1294352","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 5th international symposium on Principles and practice of programming in Java  - PPPJ '07","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/A5032968509","display_name":"Maurizio Cimadamore","orcid":null},"institutions":[{"id":"https://openalex.org/I9360294","display_name":"University of Bologna","ror":"https://ror.org/01111rn36","country_code":"IT","type":"education","lineage":["https://openalex.org/I9360294"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Maurizio Cimadamore","raw_affiliation_strings":["Universit\u00e0 di Bologna, Cesena, Italy","Universit\u00e0 di Bologna, Cesena, Italy#TAB#"],"affiliations":[{"raw_affiliation_string":"Universit\u00e0 di Bologna, Cesena, Italy","institution_ids":["https://openalex.org/I9360294"]},{"raw_affiliation_string":"Universit\u00e0 di Bologna, Cesena, Italy#TAB#","institution_ids":["https://openalex.org/I9360294"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014225579","display_name":"Mirko Viroli","orcid":"https://orcid.org/0000-0003-2702-5702"},"institutions":[{"id":"https://openalex.org/I9360294","display_name":"University of Bologna","ror":"https://ror.org/01111rn36","country_code":"IT","type":"education","lineage":["https://openalex.org/I9360294"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Mirko Viroli","raw_affiliation_strings":["Universit\u00e0 di Bologna, Cesena, Italy","Universit\u00e0 di Bologna, Cesena, Italy#TAB#"],"affiliations":[{"raw_affiliation_string":"Universit\u00e0 di Bologna, Cesena, Italy","institution_ids":["https://openalex.org/I9360294"]},{"raw_affiliation_string":"Universit\u00e0 di Bologna, Cesena, Italy#TAB#","institution_ids":["https://openalex.org/I9360294"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5032968509"],"corresponding_institution_ids":["https://openalex.org/I9360294"],"apc_list":null,"apc_paid":null,"fwci":0.9659,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.81800656,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"197","last_page":"197"},"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.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/T10126","display_name":"Logic, programming, and type systems","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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9961000084877014,"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/T10142","display_name":"Formal Methods in Verification","score":0.9945999979972839,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/programming-language","display_name":"Programming language","score":0.8733566999435425},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8430806398391724},{"id":"https://openalex.org/keywords/prolog","display_name":"Prolog","score":0.835446834564209},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.74961256980896},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.6419613361358643},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.5805425047874451},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.5561394691467285},{"id":"https://openalex.org/keywords/interoperability","display_name":"Interoperability","score":0.5108732581138611},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.4209745228290558},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.38264843821525574},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.22197741270065308}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8733566999435425},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8430806398391724},{"id":"https://openalex.org/C81721847","wikidata":"https://www.wikidata.org/wiki/Q163468","display_name":"Prolog","level":2,"score":0.835446834564209},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.74961256980896},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.6419613361358643},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.5805425047874451},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.5561394691467285},{"id":"https://openalex.org/C20136886","wikidata":"https://www.wikidata.org/wiki/Q749647","display_name":"Interoperability","level":2,"score":0.5108732581138611},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.4209745228290558},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.38264843821525574},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.22197741270065308}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1294325.1294352","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1294325.1294352","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 5th international symposium on Principles and practice of programming in Java  - PPPJ '07","raw_type":"proceedings-article"},{"id":"pmh:oai:cris.unibo.it:11585/46433","is_oa":false,"landing_page_url":"http://hdl.handle.net/11585/46433","pdf_url":null,"source":{"id":"https://openalex.org/S4306402579","display_name":"Archivio istituzionale della ricerca (Alma Mater Studiorum Universit\u00e0 di Bologna)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210117483","host_organization_name":"Istituto di Ematologia di Bologna","host_organization_lineage":["https://openalex.org/I4210117483"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W69642498","https://openalex.org/W1492803714","https://openalex.org/W1590554478","https://openalex.org/W1975620959","https://openalex.org/W1993140586","https://openalex.org/W1996005700","https://openalex.org/W2093370559","https://openalex.org/W2094160561","https://openalex.org/W2153006094"],"related_works":["https://openalex.org/W2547095320","https://openalex.org/W2541866089","https://openalex.org/W1572758480","https://openalex.org/W1974508891","https://openalex.org/W1519944186","https://openalex.org/W2365754790","https://openalex.org/W3172992491","https://openalex.org/W15884308","https://openalex.org/W2186199411","https://openalex.org/W2267955400"],"abstract_inverted_index":{"Although":[0],"object-oriented":[1],"languages":[2],"are":[3],"nowadays":[4],"the":[5,59,104,110],"mainstream":[6],"of":[7,92,106,109],"application":[8,111],"development,":[9],"several":[10],"research":[11],"contexts":[12],"suggest":[13],"that":[14,100],"a":[15,23,48],"multi-paradigm":[16],"approach":[17],"is":[18,97],"worth":[19],"pursuing.":[20],"In":[21,41],"particular,":[22],"declarative,":[24],"logic-based":[25],"paradigm":[26],"could":[27],"fruitfully":[28],"add":[29],"functionalities":[30],"related":[31],"to":[32],"automatic":[33],"reasoning,":[34],"adaptivity,":[35],"and":[36,55,84,88],"conciseness":[37],"in":[38],"expressing":[39],"algorithms.":[40],"this":[42],"paper":[43],"we":[44],"present":[45],"[email":[46,66],"protected],":[47],"framework":[49],"for":[50,64,76],"enhancing":[51],"interoperability":[52],"between":[53],"Java":[54,82,102],"Prolog":[56,62],"based":[57],"on":[58],"tuProlog":[60],"open-source":[61],"engine":[63],"Java.":[65],"protected]":[67],"supports":[68],"smooth":[69],"language-interoperability":[70],"by":[71,81],"first":[72],"introducing":[73],"an":[74,94],"API":[75],"modeling":[77],"first-order":[78],"logic":[79],"terms":[80],"generics":[83],"wildcards,":[85],"promoting":[86],"expressiveness":[87],"safety.":[89],"On":[90],"top":[91],"it,":[93],"annotation":[95],"layer":[96],"then":[98],"introduced":[99],"extends":[101],"with":[103],"ability":[105],"implementing":[107],"parts":[108],"code":[112],"using":[113],"Prolog.":[114]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
