{"id":"https://openalex.org/W2007701153","doi":"https://doi.org/10.1145/1411732.1411758","title":"Embedded typesafe domain specific languages for Java","display_name":"Embedded typesafe domain specific languages for Java","publication_year":2008,"publication_date":"2008-09-09","ids":{"openalex":"https://openalex.org/W2007701153","doi":"https://doi.org/10.1145/1411732.1411758","mag":"2007701153"},"language":"en","primary_location":{"id":"doi:10.1145/1411732.1411758","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411732.1411758","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international symposium on Principles and practice of programming in Java","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/A5090012748","display_name":"Jevgeni Kabanov","orcid":null},"institutions":[{"id":"https://openalex.org/I56085075","display_name":"University of Tartu","ror":"https://ror.org/03z77qz90","country_code":"EE","type":"education","lineage":["https://openalex.org/I56085075"]}],"countries":["EE"],"is_corresponding":true,"raw_author_name":"Jevgeni Kabanov","raw_affiliation_strings":["University of Tartu, Tartu, Estonia"],"affiliations":[{"raw_affiliation_string":"University of Tartu, Tartu, Estonia","institution_ids":["https://openalex.org/I56085075"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5005118428","display_name":"Rein Raudj\u00e4rv","orcid":null},"institutions":[{"id":"https://openalex.org/I56085075","display_name":"University of Tartu","ror":"https://ror.org/03z77qz90","country_code":"EE","type":"education","lineage":["https://openalex.org/I56085075"]}],"countries":["EE"],"is_corresponding":false,"raw_author_name":"Rein Raudj\u00e4rv","raw_affiliation_strings":["University of Tartu, Tartu, Estonia"],"affiliations":[{"raw_affiliation_string":"University of Tartu, Tartu, Estonia","institution_ids":["https://openalex.org/I56085075"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5090012748"],"corresponding_institution_ids":["https://openalex.org/I56085075"],"apc_list":null,"apc_paid":null,"fwci":5.7033,"has_fulltext":false,"cited_by_count":20,"citation_normalized_percentile":{"value":0.95568634,"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":"189","last_page":"197"},"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.9988999962806702,"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.9988999962806702,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9984999895095825,"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.9954000115394592,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8522716164588928},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7877837419509888},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7391010522842407},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.6684811115264893},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.5785395503044128},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.5132150650024414},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.46797990798950195},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.45468875765800476},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.44460529088974},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.4302513897418976},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.4157862961292267}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8522716164588928},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7877837419509888},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7391010522842407},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.6684811115264893},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.5785395503044128},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.5132150650024414},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.46797990798950195},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.45468875765800476},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.44460529088974},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.4302513897418976},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.4157862961292267},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1411732.1411758","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411732.1411758","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international symposium on Principles and practice of programming in Java","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.180.4784","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.180.4784","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ekabanov.net/uploads/3/8/4/6/3846628/kabanov-raudjarv-pppj08.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320321018","display_name":"Eesti Teadusfondi","ror":"https://ror.org/00jjeja18"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":8,"referenced_works":["https://openalex.org/W576367677","https://openalex.org/W1649645444","https://openalex.org/W1988412861","https://openalex.org/W1989488683","https://openalex.org/W2026049208","https://openalex.org/W2041378382","https://openalex.org/W2155028447","https://openalex.org/W2336485197"],"related_works":["https://openalex.org/W1970806266","https://openalex.org/W1602642926","https://openalex.org/W2035069210","https://openalex.org/W1521580745","https://openalex.org/W4249764155","https://openalex.org/W148331396","https://openalex.org/W2016474211","https://openalex.org/W2186011611","https://openalex.org/W2005119878","https://openalex.org/W4235014231"],"abstract_inverted_index":{"Projects":[0],"like":[1],"jMock":[2],"and":[3,28,63],"Hibernate":[4],"Criteria":[5],"Query":[6],"introduced":[7],"embedded":[8,21],"DSLs":[9,23,42,50],"into":[10],"Java.":[11],"We":[12,32,75],"describe":[13],"two":[14],"case":[15],"studies":[16],"in":[17],"which":[18],"we":[19,51],"develop":[20],"typesafe":[22,41],"for":[24,39,43,66],"building":[25],"SQL":[26],"queries":[27],"engineering":[29],"Java":[30,49,83],"bytecode.":[31],"proceed":[33],"to":[34,86],"extract":[35],"several":[36],"patterns":[37],"useful":[38],"developing":[40],"arbitrary":[44],"domains.":[45],"Unlike":[46],"most":[47],"previous":[48],"find":[52],"that":[53],"mixing":[54],"the":[55,82,88,93],"Fluent":[56],"Interface":[57],"idiom":[58],"with":[59],"static":[60],"functions,":[61],"metadata":[62],"closures":[64],"provides":[65],"a":[67],"better":[68],"user":[69],"experience":[70],"than":[71],"pure":[72],"method":[73],"chaining.":[74],"also":[76],"make":[77],"very":[78],"liberal":[79],"use":[80],"of":[81,92],"5":[84],"Generics":[85],"improve":[87],"type":[89],"safety":[90],"properties":[91],"DSLs.":[94]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
