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: "Genetic and Evolutionary Computation Conference, GECCO 2007, Proceedings, London, England, UK, July 7-11, 2007" editor: - name: "Hod Lipson" link: "https://researchr.org/alias/hod-lipson" publisher: "ACM" isbn: "978-1-59593-697-4" 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: "25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20-26, 2009, Edmonton, Alberta, Canada" publisher: "IEEE" 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: "Satellite Events at the MoDELS 2005 Conference, MoDELS 2005 International Workshops, Doctoral Symposium, Educators Symposium, Montego Bay, Jamaica, October 2-7, 2005, Revised Selected Papers" editor: - name: "Jean-Michel Bruel" link: "https://researchr.org/alias/jean-michel-bruel" volume: "3844" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-31780-5" 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: "Software and Systems Modeling" 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: "Proceedings of The Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009)" editor: - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" volume: "253" number: "7" series: "Electronic Notes in Theoretical Computer Science" publisher: "Elsevier" 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: "Fundamental Approaches to Software Engineering, 12th International Conference, FASE 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings" editor: - name: "Marsha Chechik" link: "https://researchr.org/alias/marsha-chechik" - name: "Martin Wirsing" link: "https://researchr.org/alias/martin-wirsing" volume: "5503" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00592-3" 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: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" volume: "5235" series: "Lecture Notes in Computer Science" address: "Braga, Portugal" publisher: "Springer" isbn: "978-3-540-88642-6" 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: "Proceedings of the 2008 Symposium on Dynamic Languages, DLS 2008, July 8, 2008, Paphos, Cyprus" editor: - name: "Johan Brichau" link: "https://researchr.org/alias/johan-brichau" publisher: "ACM" isbn: "978-1-60558-270-2" 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: "Science of Computer Programming" 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: "Advances in Computers" 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: "Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA" editor: - name: "Shail Arora" link: "https://researchr.org/alias/shail-arora" - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" publisher: "ACM" isbn: "978-1-60558-768-4" 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: "ACM Transactions on Programming Languages and Systems" 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: "Proceedings of the 2006 ACM Symposium on Applied Computing (SAC), Dijon, France, April 23-27, 2006" editor: - name: "Hisham Haddad" link: "https://researchr.org/alias/hisham-haddad" publisher: "ACM" isbn: "1-59593-108-2" 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" volume: "5235" series: "Lecture Notes in Computer Science" publisher: "Springer Berlin / Heidelberg" isbn: "978-3-540-88642-6" 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: "Proceedings of the 2005 Symposium on Dynamic Languages, DLS 2005, October 18, 2007, San Diego, California, USA" editor: - name: "Roel Wuyts" link: "http://roelwuyts.be" publisher: "ACM" 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: "Journal of Object Technology" 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"