publications: - title: "Pareto optimal search based refactoring at the design level" author: - name: "Mark Harman" link: "https://researchr.org/alias/mark-harman" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2007" doi: "http://doi.acm.org/10.1145/1276958.1277176" links: doi: "http://doi.acm.org/10.1145/1276958.1277176" tags: - "rule-based" - "refactoring" - "rule-based refactoring" - "search" - "design" researchr: "https://researchr.org/publication/HarmanT07" cites: 0 citedby: 0 pages: "1106-1113" booktitle: "gecco" kind: "inproceedings" key: "HarmanT07" - title: "Compile-time meta-programming in Converge" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2002" month: "December" abstract: "Compile-time meta-programming allows programs to be constructed by the user at compile-time. Few modern languages are capable of compile-time meta-programming, and of those that do, many of the most powerful are statically typed functional languages. In this paper I present the dynamically typed, object orientated language Converge which allows compile-time meta-programming in the spirit of Template Haskell. Converge demonstrates that integrating powerful, safe compiletime meta-programming features into a dynamic language requires few restrictions to the exible development style facilitated by the paradigm." tags: - "converge" - "programming languages" - "object-oriented programming" - "meta programming" - "meta-model" - "functional programming" - "Haskell" - "model-driven development" - "programming paradigms" - "compiler" - "programming" - "subject-oriented programming" - "Meta-Environment" - "extensible language" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/tratt04compiletm" cites: 0 citedby: 0 institution: "Department of Computer Science, King's College London" number: "TR-04-11" kind: "techreport" key: "tratt04compiletm" - title: "A theoretical and empirical study of EFSM dependence" author: - name: "Kelly Androutsopoulos" link: "https://researchr.org/alias/kelly-androutsopoulos" - name: "Nicolas Gold" link: "https://researchr.org/alias/nicolas-gold" - name: "Mark Harman" link: "https://researchr.org/alias/mark-harman" - name: "Zheng Li" link: "http://cist.buct.edu.cn/zheng/" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSM.2009.5306309" links: doi: "http://dx.doi.org/10.1109/ICSM.2009.5306309" tags: - "empirical" researchr: "https://researchr.org/publication/AndroutsopoulosGHLT09" cites: 0 citedby: 0 pages: "287-296" booktitle: "ICSM" kind: "inproceedings" key: "AndroutsopoulosGHLT09" - title: "Model Transformations in Practice Workshop" author: - name: "Jean Bézivin" link: "https://researchr.org/alias/jean-b%C3%A9zivin" - name: "Bernhard Rumpe" link: "http://www.se-rwth.de/~rumpe/" - name: "Andy Schürr" link: "http://www.es.tu-darmstadt.de/index.php?id=66" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2005" doi: "http://dx.doi.org/10.1007/11663430_13" links: doi: "http://dx.doi.org/10.1007/11663430_13" tags: - "model-to-model transformation" - "meta-model" - "UML" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/BezivinRST05" cites: 0 citedby: 0 pages: "120-127" booktitle: "uml" kind: "inproceedings" key: "BezivinRST05" - title: "Model transformations and tool integration" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2005" doi: "http://dx.doi.org/10.1007/s10270-004-0070-1" links: doi: "http://dx.doi.org/10.1007/s10270-004-0070-1" tags: - "model-to-model transformation" - "meta-model" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/Tratt05" cites: 0 citedby: 0 journal: "SoSyM" volume: "4" number: "2" pages: "112-122" kind: "article" key: "Tratt05" - title: "The Converge programming language" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2005" month: "February" tags: - "converge" - "programming languages" - "programming" - "extensible language" researchr: "https://researchr.org/publication/tratt05convergepl" cites: 0 citedby: 1 institution: "Department of Computer Science, King's College London" number: "TR-05-01" kind: "techreport" key: "tratt05convergepl" - title: "Formalizing homogeneous language embeddings" author: - name: "Tony Clark" link: "http://itcentre.tvu.ac.uk/~clark/" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2009" doi: "http://tratt.net/laurie/research/publications/papers/clark_tratt__formalizing_homogeneous_language_embeddings.pdf" abstract: "The cost of implementing syntactically distinct Domain Specific Languages (DSLs) can be reduced by homogeneously embedding them in a host language in cooperation with its compiler. Current homogeneous embedding approaches either restrict the embedding of multiple DSLs in order to provide safety guarantees, or allow multiple DSLs to be embedded but force the user to deal with the interoperability burden. In this paper we present the m-calculus which allows parameterisable language embeddings to be specified and analysed. By reducing the problem to its core essentials we are able to show how multiple, expressive language embeddings can be defined in a homogeneous embedding context. We further show how variant calculi with safety guarantees can be defined." links: doi: "http://tratt.net/laurie/research/publications/papers/clark_tratt__formalizing_homogeneous_language_embeddings.pdf" tags: - "language embeddings" - "compiler" - "DSL" - "context-aware" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/Clark%3ATratt%3A2009" cites: 0 citedby: 0 booktitle: "LDTA" kind: "inproceedings" key: "Clark:Tratt:2009" - title: "Guest Editors Introduction: Dynamically Typed Languages" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" - name: "Roel Wuyts" link: "http://roelwuyts.be" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2007.140" links: doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2007.140" researchr: "https://researchr.org/publication/TrattW07" cites: 0 citedby: 0 journal: "IEEE Software" volume: "24" number: "5" pages: "28-30" kind: "article" key: "TrattW07" - title: "Control Dependence for Extended Finite State Machines" author: - name: "Kelly Androutsopoulos" link: "https://researchr.org/alias/kelly-androutsopoulos" - name: "David Clark" link: "https://researchr.org/alias/david-clark" - name: "Mark Harman" link: "http://www.dcs.kcl.ac.uk/staff/mark/" - name: "Zheng Li" link: "http://cist.buct.edu.cn/zheng/" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00593-0_15" links: doi: "http://dx.doi.org/10.1007/978-3-642-00593-0_15" tags: - "state machines" researchr: "https://researchr.org/publication/AndroutsopoulosCHLT09" cites: 0 citedby: 0 pages: "216-230" booktitle: "FASE" kind: "inproceedings" key: "AndroutsopoulosCHLT09" - title: "Evolving a DSL Implementation" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_11" links: doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_11" tags: - "DSL" researchr: "https://researchr.org/publication/Tratt07" cites: 0 citedby: 0 pages: "425-441" booktitle: "GTTSE" kind: "inproceedings" key: "Tratt07" - title: "Language design: back to the future?" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2008" doi: "http://doi.acm.org/10.1145/1408681.1408686" links: doi: "http://doi.acm.org/10.1145/1408681.1408686" tags: - "language design" - "design" researchr: "https://researchr.org/publication/Tratt08" cites: 0 citedby: 0 pages: "5" booktitle: "DLS" kind: "inproceedings" key: "Tratt08" - title: "Model transformations in MT" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2007" doi: "http://dx.doi.org/10.1016/j.scico.2007.05.003" links: doi: "http://dx.doi.org/10.1016/j.scico.2007.05.003" tags: - "model-to-model transformation" - "meta-model" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/Tratt07%3A0" cites: 0 citedby: 0 journal: "SCP" volume: "68" number: "3" pages: "196-213" kind: "article" key: "Tratt07:0" - title: "Dynamically Typed Languages" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2009" doi: "http://dx.doi.org/10.1016/S0065-2458(09)01205-4" links: doi: "http://dx.doi.org/10.1016/S0065-2458(09)01205-4" researchr: "https://researchr.org/publication/Tratt09" cites: 0 citedby: 0 journal: "ac" volume: "77" pages: "149-184" kind: "article" key: "Tratt09" - title: "Language factories" author: - name: "Tony Clark" link: "https://researchr.org/alias/tony-clark" - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2009" doi: "http://doi.acm.org/10.1145/1639950.1640062" abstract: "Programming languages are the primary mechanism by which software is created, yet most of us have access to only a few, fixed, programming languages. Any problem we wish to express must be framed in terms of the concepts the programming language provides for us, be they suitable for the problem or not. Domain Specific Languages (DSLs) suggest an appealing escape route from this fate, but since there is no real technology or theory underpinning them, new DSLs are rare. In this paper we present the Language Factories vision, which aims to bring together the theory and practice necessary to realise DSLs in a systematic way. In so doing, we hope to lower the barrier for language creation significantly, ultimately allowing software creators to use the languages most suited to them and their needs" links: doi: "http://doi.acm.org/10.1145/1639950.1640062" tags: - "programming languages" - "DSL" - "programming" - "routing" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/ClarkT09" cites: 0 citedby: 0 pages: "949-955" booktitle: "OOPSLA" kind: "inproceedings" key: "ClarkT09" - title: "Domain specific language implementation via compile-time meta-programming" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2008" doi: "http://doi.acm.org/10.1145/1391956.1391958" abstract: "Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable tool for software developers and non-developers alike. DSLs must currently be created in an ad-hoc fashion, often leading to high development costs and implementations of variable quality. In this article, I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error reporting techniques. By making use of pre-existing facilities, and following a simple methodology, DSL implementation costs can be significantly reduced whilst leading to higher quality DSL implementations." links: doi: "http://doi.acm.org/10.1145/1391956.1391958" tags: - "programming languages" - "meta programming" - "meta-model" - "embedded software" - "model-driven development" - "compiler" - "DSL" - "programming" - "Meta-Environment" - "extensible language" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/Tratt08-TOPLAS" cites: 0 citedby: 1 journal: "TOPLAS" volume: "30" number: "6" kind: "article" key: "Tratt08-TOPLAS" - title: "The MT model transformation language" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2006" doi: "http://doi.acm.org/10.1145/1141277.1141577" links: doi: "http://doi.acm.org/10.1145/1141277.1141577" tags: - "model-to-model transformation" - "meta-model" - "modeling language" - "transformation language" - "language modeling" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/Tratt06" cites: 0 citedby: 0 pages: "1296-1303" booktitle: "SAC" kind: "inproceedings" key: "Tratt06" - title: "Evolving a DSL Implementation" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2008" doi: "10.1007/978-3-540-88643-3_11" abstract: "Domain Specific Languages (DSLs) are small languages designed for use in a specific domain. DSLs typically evolve quite radically throughout their lifetime, but current DSL implementation approaches are often clumsy in the face of such evolution. In this paper I present a case study of an DSL evolving in its syntax, semantics, and robustness, implemented in the Converge language. This shows how real-world DSL implementations can evolve along with changing requirements." links: "url": "http://www.springerlink.com/content/526lt41lw10jq728/" tags: - "semantics" - "case study" - "language design" - "DSL" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/Tratt2008EvolvingaDSLImplementation" cites: 0 citedby: 0 booktitle: "Generative and Transformational Techniques in Software Engineering II" kind: "inproceedings" key: "Tratt2008EvolvingaDSLImplementation" - title: "Compile-time meta-programming in a dynamically typed OO language" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2005" doi: "http://doi.acm.org/10.1145/1146841.1146846" links: doi: "http://doi.acm.org/10.1145/1146841.1146846" tags: - "programming languages" - "meta programming" - "meta-model" - "compiler" - "programming" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/Tratt05-0" cites: 0 citedby: 0 pages: "49-63" booktitle: "DLS" kind: "inproceedings" key: "Tratt05-0" - title: "A change propagating model transformation Language" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2008" doi: "http://www.jot.fm/issues/issue_2008_03/article3.pdf" links: doi: "http://www.jot.fm/issues/issue_2008_03/article3.pdf" tags: - "model-to-model transformation" - "meta-model" - "modeling language" - "transformation language" - "language modeling" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/Tratt08%3A1" cites: 0 citedby: 0 journal: "jot" volume: "7" number: "3" pages: "107-124" kind: "article" key: "Tratt08:1" - title: "Theory and Practice of Model Transformations, Third International Conference, ICMT 2010, Malaga, Spain, June 28-July 2, 2010. Proceedings" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-13688-7" links: doi: "http://dx.doi.org/10.1007/978-3-642-13688-7" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icmt/2010" tags: - "model-to-model transformation" - "meta-model" - "source-to-source" - "model transformation" - "peer-to-peer" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/icmt-2010" cites: 0 citedby: 0 booktitle: "Theory and Practice of Model Transformations, Third International Conference, ICMT 2010, Malaga, Spain, June 28-July 2, 2010. Proceedings" conference: "ICMT" editor: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" - name: "Martin Gogolla" link: "https://researchr.org/alias/martin-gogolla" volume: "6142" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-13687-0" kind: "proceedings" key: "icmt-2010"