publications: - title: "Towards an Incremental Update Approach for Concrete Textual Syntaxes for UUID-Based Model Repositories" author: - name: "Thomas Goldschmidt" link: "https://researchr.org/alias/thomas-goldschmidt" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_11" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_11" tags: - "rule-based" - "incremental" - "systematic-approach" - "concrete syntax" researchr: "https://researchr.org/publication/Goldschmidt08" cites: 0 citedby: 0 pages: "168-177" booktitle: "SLE" kind: "inproceedings" key: "Goldschmidt08" - title: "The Java Programmer s Phrase Book" author: - name: "Einar W. Høst" link: "https://researchr.org/alias/einar-w.-h%C3%B8st" - name: "Bjarte M. Østvold" link: "https://researchr.org/alias/bjarte-m.-%C3%B8stvold" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_20" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_20" tags: - "Java" researchr: "https://researchr.org/publication/HostO08" cites: 0 citedby: 0 pages: "322-341" booktitle: "SLE" kind: "inproceedings" key: "HostO08" - title: "Using a Visual Software Engineering Language for Specifying and Analyzing Workflows" author: - name: "Guido Wirtz" link: "https://researchr.org/alias/guido-wirtz" year: "2000" doi: "http://www.computer.org/proceedings/vl/0840/08400097abs.htm" links: doi: "http://www.computer.org/proceedings/vl/0840/08400097abs.htm" tags: - "language engineering" - "software language engineering" - "software engineering" - "workflow" researchr: "https://researchr.org/publication/Wirtz00" cites: 0 citedby: 0 pages: "97-98" booktitle: "vl" kind: "inproceedings" key: "Wirtz00" - title: "A pattern approach to interaction design" author: - name: "Jan O. Borchers" link: "https://researchr.org/alias/jan-o.-borchers" year: "2001" doi: "http://dx.doi.org/10.1007/BF01206115" abstract: "To create successful interactive systems, user interface designers need to cooperate with developers and application domain experts in an interdisciplinary team. These groups, however, usually lack a common terminology to exchange ideas, opinions and values. This paper presents an approach that uses pattern languages to capture this knowledge in software development, human-computer interaction (HCI) and the application domain. A formal, domain-independent definition of design patterns allows for computer support without sacrificing readability, and pattern use is integrated into the usability engineering life cycle. As an example, experience from building an award-winning interactive music exhibit was turned into a pattern language, which was then used to inform follow-up projects and support HCI education." links: doi: "http://dx.doi.org/10.1007/BF01206115" tags: - "interaction design" - "pattern language" - "language engineering" - "software language engineering" - "human-computer interaction" - "language design" - "software engineering" - "design" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/Borchers01" cites: 0 citedby: 0 journal: "ais" volume: "15" number: "4" pages: "359-376" kind: "article" key: "Borchers01" - title: "A Survey of Strategies in Program Transformation Systems" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)00270-1" abstract: "Program transformation is used in a wide range of applications including compiler construction, optimization, program synthesis, refactoring, software renovation, and reverse engineering. Complex program transformations are achieved through a num- ber of consecutive modifications of a program. Transformation rules define basic modifications. A transformation strategy is an algorithm for choosing a path in the rewrite relation induced by a set of rules. This paper surveys the support for the definition of strategies in program transformation systems. After a discussion of kinds of program transformation and choices in program representation, the basic elements of a strategy system are discussed and the choices in the design of a strategy language are considered. Several styles of strategy systems as provided in existing languages are then analyzed." links: doi: "https://doi.org/10.1016/S1571-0661(04)00270-1" successor: "https://researchr.org/publication/Visser05" "stratego/xt wiki": "http://strategoxt.org/Transform/ASurveyOfRewritingStrategiesInProgramTransformationSystems" tags: - "programming languages" - "optimization" - "rule-based" - "transformation engineering" - "graph transformation" - "reverse engineering" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "language design" - "strategies" - "graph-rewriting" - "survey" - "software engineering" - "rules" - "transformation system" - "rule-based refactoring" - "compiler" - "programming" - "program optimization" - "rewriting" - "design" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser01-WRS" cites: 0 citedby: 0 journal: "ENTCS" volume: "57" pages: "109-143" kind: "article" key: "Visser01-WRS" - title: "WebDSL: A Case Study in Domain-Specific Language Engineering" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" abstract: " The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boil- erplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a pro ject in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code gener- ation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain- specific language for web-applications with rich data models. The paper concludes with a survey of related approaches. " links: doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-023.pdf" "webdsl": "http://webdsl.org" "stratego/xt": "http://strategoxt.org" tags: - "WebDSL" - "reusable components" - "DSL engineering" - "web application development" - "data-flow language" - "pattern language" - "case study" - "software components" - "SDF" - "meta-model" - "abstract syntax" - "modeling language" - "Stratego/XT" - "language engineering" - "software language engineering" - "language modeling" - "software component" - "web engineering" - "language design" - "reuse" - "model-driven development" - "data-flow" - "survey" - "software engineering" - "model-driven engineering" - "web applications" - "DSL" - "Meta-Environment" - "incremental" - "design" - "process modeling" - "systematic-approach" - "ASF+SDF" - "language" - "Stratego" - "domain-specific language" researchr: "https://researchr.org/publication/Visser07" cites: 0 citedby: 9 pages: "291-373" booktitle: "GTTSE" kind: "inproceedings" key: "Visser07" - title: "Generation of Formatters for Context-Free Languages" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1996" doi: "https://doi.org/10.1145/226155.226156" abstract: "Good documentation is important for the production of reusable and maintainable software. For the production of accurate documentation it is necessary that the original program text is not copied manually to obtain a typeset version. Apart from being tedious, this will invariably introduce errors. The production of tools that support the production of legible and accurate documentation is a software engineering challenge in itself. We present an algebraic approach to the generation of tools that produce typographically effective presentations of computer programs. A specification of a formatter is generated from the context-free grammar of a (programming) language. These generated formatters translate abstract syntax trees of programs into box expressions. Box expressions are translated by language-independent interpreters of the box language into ASCII or TEX. The formatting rules that are generated can easily be tuned in order to get the desired formatting of programs. We demonstrate this by means of real-life applications. Furthermore, we give a practical solution for the problem of formatting comments, which occur in the original text. The formatter generation approach proposed in this article can be used to generate formatting programs for arbitrary programming environments. Our formatter generation approach can be used to automatically generate formatters that have to be programmed explicitly in other systems. " links: doi: "https://doi.org/10.1145/226155.226156" tags: - "programming languages" - "rule-based" - "translation" - "meta programming" - "SDF" - "interpreter" - "abstract syntax" - "language engineering" - "software language engineering" - "reuse" - "source-to-source" - "software engineering" - "rules" - "algebraic specification" - "source code formatting" - "code generation" - "pretty-printing" - " algebra" - "programming" - "context-aware" - "Meta-Environment" - "systematic-approach" - "ASF+SDF" - "open-source" - "grammar" researchr: "https://researchr.org/publication/BrandV96" cites: 46 citedby: 12 journal: "TOSEM" volume: "5" number: "1" pages: "1-41" kind: "article" key: "BrandV96" - title: "From Software Engineering to Enterprise Engineering - Introduction to a Language-critical Approach" author: - name: "Erich Ortner" link: "https://researchr.org/alias/erich-ortner" year: "2008" doi: "http://dx.doi.org/10.1007/978-1-4020-8739-4_24" links: doi: "http://dx.doi.org/10.1007/978-1-4020-8739-4_24" tags: - "language engineering" - "software language engineering" - "software engineering" - "systematic-approach" researchr: "https://researchr.org/publication/Ortner08%3A2" cites: 0 citedby: 0 pages: "135-143" booktitle: "Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education, Proceedings of the 2007 International Conference on Engineering Education, Instructional Technology, Assessment, and E-learning (EIAE 2007), part of the Internationa" editor: - name: "Magued Iskander" link: "https://researchr.org/alias/magued-iskander" publisher: "Springer" isbn: "978-1-4020-8738-7" kind: "incollection" key: "Ortner08:2" - title: "Software Engineering and Programming Language Considerations for Ubiquitous Computing" author: - name: "Gregory D. Abowd" link: "https://researchr.org/alias/gregory-d.-abowd" year: "1996" tags: - "programming languages" - "language engineering" - "software language engineering" - "software engineering" - "programming" researchr: "https://researchr.org/publication/Abowd96" cites: 0 citedby: 0 journal: "ACM Comput. Surv." volume: "28" number: "4es" pages: "190" kind: "article" key: "Abowd96" - title: "Language-Oriented Programming" author: - name: "Martin P. Ward" link: "https://researchr.org/alias/martin-p.-ward" year: "1994" doi: "http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf" abstract: "This paper describes the concept of language oriented programming which is a novel way of organising the development of a large software system, leading to a different structure for the finished product. The approach starts by developing a formally specified, domain-oriented, very high-level language which is designed to be well-suited to developing \"this kind of program\". The development process then splits into two independent stages: (1) Implement the system using this \"middle level\" language, and (2) Implement a compiler or translator or interpreter for the language, using existing technology. The approach is claimed to have advantages for domain analysis, rapid prototyping, maintenance, portability, user-enhanceable systems, reuse of development work, while also providing high development productivity. We give an example where the method has been used very successfully (in conjunction with rapid prototyping) in the development of a large software system: the FermaT reverse engineering tool. A major benefit of this approach to software development, as compared to the usual sequential \"waterfall model\" is the speed with which products can be brought to market. This is due to \"concurrent engineering\": the effective overlap of development stages. Finally, the \"middle out\" development style is compared and contrasted with the more usual \"top down\", \"bottom up\" and \"outside in\" development methods." links: doi: "http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf" tags: - "programming languages" - "object-oriented programming" - "program analysis" - "meta programming" - "language-oriented programming" - "meta-model" - "interpreter" - "reverse engineering" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "LOP" - "domain analysis" - "analysis" - "language design" - "reuse" - "model-driven development" - "maintenance" - "software engineering" - "model-driven engineering" - "object-role modeling" - "compiler" - "programming" - "subject-oriented programming" - "Meta-Environment" - "process modeling" - "systematic-approach" - "feature-oriented programming" - "domain-specific language" researchr: "https://researchr.org/publication/ward94languageoriented" cites: 0 citedby: 0 journal: "Software --- Concepts and Tools" volume: "15" number: "4" kind: "article" key: "ward94languageoriented" - title: "Formal Engineering for Industrial Software Development - An Introduction to the SOFL Specification Language and Method" author: - name: "Shaoying Liu" link: "https://researchr.org/alias/shaoying-liu" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3308&spage=7" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3308&spage=7" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Liu04%3A17" cites: 0 citedby: 0 pages: "7-8" booktitle: "icfem" kind: "inproceedings" key: "Liu04:17" - title: "DeFacto: Language-Parametric Fact Extraction from Source Code" author: - name: "Bas Basten" link: "http://homepages.cwi.nl/~basten" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_17" abstract: "Abstract. Extracting facts from software source code forms the foundation for any software analysis. Experience shows, however, that extracting facts from programs written in a wide range of programming and application languages is labour-intensive and error-prone. We present DeFacto, a new technique for fact extraction. It amounts to annotating the context-free grammar of a language of interest with fact annotations that describe how to extract elementary facts for language elements such as, for instance, a declaration or use of a variable, a procedure or method call, or control flow statements. Once the elementary facts have been extracted, we use relational techniques to further enrich them and to perform the actual software analysis. We motivate and describe our approach, sketch a prototype implementation and assess it using various examples. A comparison with other fact extraction methods indicates that our fact extraction descriptions are considerably smaller than those of competing methods" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_17" tags: - "programming languages" - "program analysis" - "points-to analysis" - "analysis" - "source-to-source" - "programming" - "context-aware" - "systematic-approach" - "open-source" - "grammar" researchr: "https://researchr.org/publication/BastenK08" cites: 0 citedby: 0 pages: "265-284" booktitle: "SLE" kind: "inproceedings" key: "BastenK08" - title: "Java: A Language for Software Engineering (Tutorial)" author: - name: "Jim Waldo" link: "https://researchr.org/alias/jim-waldo" year: "1997" doi: "http://doi.acm.org/10.1145/253228.253539" links: doi: "http://doi.acm.org/10.1145/253228.253539" tags: - "Java" - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Waldo97" cites: 0 citedby: 0 pages: "630" booktitle: "ICSE" kind: "inproceedings" key: "Waldo97" - title: "A Framework for Generating Query Language Code from OCL Invariants" author: - name: "Florian Heidenreich" link: "http://fheidenreich.de/work/" - name: "Christian Wende" link: "http://st.inf.tu-dresden.de" - name: "Birgit Demuth" link: "http://st.inf.tu-dresden.de" year: "2008" doi: "http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/108" abstract: "The semantical integrity of business data is of great importance for the implementation of business applications. Model-Driven Software Development (MDSD) allows for specifying the relevant domain concepts, their interrelations and their concise semantics using a plethora of modelling languages. Since model transformations enable an automatic mapping of platform independent models (PIMs) to platform specific models (PSMs) and code, it is reasonable to utilise them to derive data schemas and integrity rules for business applications. Most current approaches only focus on transforming structural descriptions of software systems while semantical specifications are neglected. However, to preserve also the semantical integrity rules we propose a Query Code Generation Framework that enables Model-Driven Integrity Engineering. This framework allows for mapping UML models to arbitrary data schemas and for mapping OCL invariants to sentences in corresponding declarative query languages, enforcing semantical data integrity on implementation level. This supersedes the manual translation of integrity constraints and, thus, decreases development costs while increasing software quality." links: doi: "http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/108" tags: - "model-to-model transformation" - "object constraint language" - "semantics" - "OCL" - "rule-based" - "transformation engineering" - "translation" - "data-flow language" - "application framework" - "meta-model" - "XML" - "modeling language" - "XML Schema" - "modeling" - "language engineering" - "transformation language" - "software language engineering" - "language modeling" - "business rules" - "constraints" - "UML" - "model-driven development" - "data-flow" - "source-to-source" - "software engineering" - "rules" - "model-driven engineering" - "code generation" - "object-role modeling" - "ocl2sql" - "transformation system" - "model transformation" - "Meta-Environment" - "systematic-approach" - "model-driven integrity engineering" - "transformation" - "query language" - "domain-specific language" researchr: "https://researchr.org/publication/HeidenreichWD08" cites: 0 citedby: 0 journal: "eceasst" volume: "9" kind: "article" key: "HeidenreichWD08" - title: "Software Language Engineering, Fourth International Conference, SLE 2011, Braga, Portugal, July, 2011, Revised Selected Papers" year: "2012" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/sle-2011" cites: 0 citedby: 0 booktitle: "Software Language Engineering, Fourth International Conference, SLE 2011, Braga, Portugal, July, 2011, Revised Selected Papers" conference: "SLE" editor: - name: "Uwe Aßmann" link: "http://st.inf.tu-dresden.de" - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" publisher: "Springer" kind: "proceedings" key: "sle-2011" - title: "Constructive and Destructive Use of Compilers in Elliptic Curve Cryptography" author: - name: "Manuel Bernardo Barbosa" link: "http://www.di.uminho.pt/~mbb/" - name: "Andrew Moss" link: "http://www.cs.bris.ac.uk/home/moss/" - name: "Dan Page" link: "http://www.cs.bris.ac.uk/home/page/" year: "2009" doi: "http://dx.doi.org/10.1007/s00145-008-9023-0" abstract: "Although cryptographic software implementation is often performed by expert programmers, the range of performance and security driven options, as well as more mundane software engineering issues, still make it a challenge. The use of domain specific language and compiler techniques to assist in description and optimisation of cryptographic software is an interesting research challenge. In this paper we investigate two aspects of such techniques, focusing on Elliptic Curve Cryptography (ECC) in particular. Our constructive results show that a suitable language allows description of ECC based software in a manner close to the original mathematics; the corresponding compiler allows automatic production of an executable whose performance is competitive with that of a hand-optimised implementation. In contrast, we study the worrying potential for naïve compiler driven optimisation to render cryptographic software insecure. Both aspects of our work are set within the context of CACE, an ongoing EU funded project on this general topic." links: doi: "http://dx.doi.org/10.1007/s00145-008-9023-0" tags: - "rule-based" - "ECC" - "language engineering" - "software language engineering" - "software engineering" - "model-driven engineering" - "cryptography" - "compiler cryptography ECC" - "security" - "compiler" - "context-aware" - "domain-specific language" researchr: "https://researchr.org/publication/BarbosaMP09" cites: 0 citedby: 0 journal: "joc" volume: "22" number: "2" pages: "259-281" kind: "article" key: "BarbosaMP09" - title: "Language Engineering for Model-Driven Software Development, 29. February - 5. March 2004" year: "2005" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "model-driven development" - "software engineering" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/dagstuhl%3A2004P4101" cites: 0 citedby: 0 booktitle: "Language Engineering for Model-Driven Software Development, 29. February - 5. March 2004" conference: "Dagstuhl" editor: - name: "Jean Bézivin" link: "https://researchr.org/alias/jean-b%C3%A9zivin" - name: "Reiko Heckel" link: "http://www.cs.le.ac.uk/people/rh122/" volume: "04101" series: "Dagstuhl Seminar Proceedings" publisher: "Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany" kind: "proceedings" key: "dagstuhl:2004P4101" - title: "Influences on the design of exception handling: ACM SIGSOFT project on the impact of software engineering research on programming language design" author: - name: "Barbara G. Ryder" link: "https://researchr.org/alias/barbara-g.-ryder" - name: "Mary Lou Soffa" link: "https://researchr.org/alias/mary-lou-soffa" year: "2003" doi: "http://doi.acm.org/10.1145/885638.885644" links: doi: "http://doi.acm.org/10.1145/885638.885644" tags: - "programming languages" - "exceptions" - "language engineering" - "software language engineering" - "design research" - "language design" - "software engineering" - "programming" - "design" researchr: "https://researchr.org/publication/RyderS03%3A0" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "38" number: "6" pages: "16-22" kind: "article" key: "RyderS03:0" - title: "Guest Editorial to the Special Issue on Language Engineering for Model-Driven Software Development" author: - name: "Jean Bézivin" link: "https://researchr.org/alias/jean-b%C3%A9zivin" - name: "Reiko Heckel" link: "http://www.cs.le.ac.uk/people/rh122/" year: "2006" doi: "http://dx.doi.org/10.1007/s10270-006-0028-6" links: doi: "http://dx.doi.org/10.1007/s10270-006-0028-6" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "model-driven development" - "software engineering" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/BezivinH06" cites: 0 citedby: 0 journal: "SoSyM" volume: "5" number: "3" pages: "231-232" kind: "article" key: "BezivinH06" - title: "Eiffel: A language and environment for software engineering" author: - name: "Bertrand Meyer" link: "https://researchr.org/alias/bertrand-meyer" year: "1988" doi: "http://dx.doi.org/10.1016/0164-1212(88)90022-2" links: doi: "http://dx.doi.org/10.1016/0164-1212(88)90022-2" tags: - "language engineering" - "software language engineering" - "software engineering" - "Meta-Environment" - "Eiffel" researchr: "https://researchr.org/publication/Meyer88%3A2" cites: 0 citedby: 0 journal: "jss" volume: "8" number: "3" pages: "199-246" kind: "article" key: "Meyer88:2" - title: "Model-Driven Engineering Meets Generic Language Technology" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_2" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_2" tags: - "meta-model" - "modeling language" - "language engineering" - "language modeling" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/Brand08" cites: 0 citedby: 0 pages: "8-15" booktitle: "SLE" kind: "inproceedings" key: "Brand08" - title: "Practical Scope Recovery Using Bridge Parsing" author: - name: "Emma Nilsson-Nyman" link: "http://www.cs.lth.se/home/Emma.Nilsson_Nyman/" - name: "Torbjörn Ekman" link: "http://progtools.comlab.ox.ac.uk/members/torbjorn" - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_7" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_7" tags: - "layout sensitive parsing" - "indentation" - "layout" - "parsing" - "error recovery" researchr: "https://researchr.org/publication/Nilsson-NymanEH08" cites: 0 citedby: 0 pages: "95-113" booktitle: "SLE" kind: "inproceedings" key: "Nilsson-NymanEH08" - title: "The ArchWare Tower: The Implementation of an Active Software Engineering Environment Using a pi-Calculus Based Architecture Description Language" author: - name: "Brian Warboys" link: "https://researchr.org/alias/brian-warboys" - name: "R. Mark Greenwood" link: "https://researchr.org/alias/r.-mark-greenwood" - name: "Ian Robertson" link: "https://researchr.org/alias/ian-robertson" - name: "Ronald Morrison" link: "https://researchr.org/alias/ronald-morrison" - name: "Dharini Balasubramaniam" link: "https://researchr.org/alias/dharini-balasubramaniam" - name: "Graham N. C. Kirby" link: "https://researchr.org/alias/graham-n.-c.-kirby" - name: "Kath Mickan" link: "https://researchr.org/alias/kath-mickan" year: "2005" doi: "http://dx.doi.org/10.1007/11494713_3" links: doi: "http://dx.doi.org/10.1007/11494713_3" tags: - "software architecture" - "language engineering" - "software language engineering" - "architecture" - "software engineering" - "C++" - "Meta-Environment" researchr: "https://researchr.org/publication/WarboysGRMBKM05" cites: 0 citedby: 0 pages: "30-40" booktitle: "ewsa" kind: "inproceedings" key: "WarboysGRMBKM05" - title: "Definition of a problem-sensitive conceptual modelling language: foundations and application to software engineering" author: - name: "Javier Andrade Garda" link: "https://researchr.org/alias/javier-andrade-garda" - name: "Juan Ares Casal" link: "https://researchr.org/alias/juan-ares-casal" - name: "Rafael García" link: "https://researchr.org/alias/rafael-garc%C3%ADa" - name: "Juan Pazos" link: "https://researchr.org/alias/juan-pazos" - name: "Santiago Rodríguez Yánez" link: "https://researchr.org/alias/santiago-rodr%C3%ADguez-y%C3%A1nez" - name: "Andrés Silva" link: "https://researchr.org/alias/andr%C3%A9s-silva" year: "2006" doi: "http://dx.doi.org/10.1016/j.infsof.2005.05.009" links: doi: "http://dx.doi.org/10.1016/j.infsof.2005.05.009" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "software engineering" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/AndradeAGPRS06" cites: 0 citedby: 0 journal: "INFSOF" volume: "48" number: "7" pages: "517-531" kind: "article" key: "AndradeAGPRS06" - title: "Systematic Usage of Embedded Modelling Languages in Automated Model Transformation Chains" author: - name: "Mathias Fritzsche" link: "https://researchr.org/alias/mathias-fritzsche" - name: "Jendrik Johannes" link: "http://jjohannes.de" - name: "Uwe Aßmann" link: "http://st.inf.tu-dresden.de" - name: "Simon Mitschke" link: "https://researchr.org/alias/simon-mitschke" - name: "Wasif Gilani" link: "https://researchr.org/alias/wasif-gilani" - name: "Ivor T. A. Spence" link: "https://researchr.org/alias/ivor-t.-a.-spence" - name: "T. John Brown" link: "https://researchr.org/alias/t.-john-brown" - name: "Peter Kilpatrick" link: "https://researchr.org/alias/peter-kilpatrick" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_9" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_9" tags: - "model-to-model transformation" - "meta-model" - "modeling language" - "transformation language" - "language modeling" - "source-to-source" - "model transformation" - "Meta-Environment" - "systematic-approach" - "transformation" researchr: "https://researchr.org/publication/FritzscheJAMGSBK08" cites: 0 citedby: 0 pages: "134-150" booktitle: "SLE" kind: "inproceedings" key: "FritzscheJAMGSBK08" - title: "Data Abstraction in AspectJ" author: - name: "Stephan Gudmundson" link: "https://researchr.org/alias/stephan-gudmundson" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2192/21920270.htm" abstract: "The AspectJ project[1] is exploring language support to enable programmers to implement crosscutting concerns in a modular fashion. Previous work in this area has primarily examined the expressiveness of AspectJ, to further aspect-oriented programming language research. In our work we focus on critical software engineering issues related to system modularity. In particular, we want to understand how use of AspectJ interacts with the well-known data abstraction principle[2]. In this abstract, we describe some of our work in identifying the explicit and implicit ways that modules can become dependent upon design decisions of another module in AspectJ. We hope that this information will provide a useful perspective to aspect-oriented programming language designers and will help users of AspectJ make informed design decisions. Given the space constraints, we must assume that the reader is familiar with the AspectJ language[1]. " links: doi: "http://link.springer.de/link/service/series/0558/bibs/2192/21920270.htm" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "data-flow language" - "AOP" - "language engineering" - "software language engineering" - "design research" - "language design" - "constraints" - "data-flow programming" - "data-flow" - "software engineering" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "reflection" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/GudmundsonK01" cites: 0 citedby: 0 pages: "270-271" booktitle: "reflection" kind: "inproceedings" key: "GudmundsonK01" - title: "A Formal Contract Language for Plugin-based Software Engineering" author: - name: "Jens Dietrich" link: "https://researchr.org/alias/jens-dietrich" - name: "John G. Hosking" link: "https://researchr.org/alias/john-g.-hosking" - name: "Jonathan Giles" link: "https://researchr.org/alias/jonathan-giles" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/ICECCS.2007.7" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICECCS.2007.7" tags: - "rule-based" - "contracts" - "language engineering" - "software language engineering" - "software engineering" - "software contracts" researchr: "https://researchr.org/publication/DietrichHG07" cites: 0 citedby: 0 pages: "175-184" booktitle: "ICECCS" kind: "inproceedings" key: "DietrichHG07" - title: "Model-based DSL frameworks" author: - name: "Ivan Kurtev" link: "https://researchr.org/alias/ivan-kurtev" - name: "Jean Bézivin" link: "http://www.emn.fr/x-info/bezivin" - name: "Frédéric Jouault" link: "https://researchr.org/alias/fr%C3%A9d%C3%A9ric-jouault" - name: "Patrick Valduriez" link: "https://researchr.org/alias/patrick-valduriez" year: "2006" doi: "http://doi.acm.org/10.1145/1176617.1176632" abstract: "More than five years ago, the OMG proposed the Model Driven Architecture (MDA™) approach to deal with the separation of platform dependent and independent aspects in information systems. Since then, the initial idea of MDA evolved and Model Driven Engineering (MDE) is being increasingly promoted to handle separation and combination of various kinds of concerns in software or data engineering. MDE is more general than the set of standards and practices recommended by the OMG's MDA proposal. In MDE the concept of model designates not only OMG models but a lot of other artifacts like XML documents, Java programs, RDBMS data, etc. Today we observe another evolutionary step. A convergence between MDE and DSL (Domain Specific Language) engineering is rapidly appearing. In the same way as MDE is a generalization of MDA, the DSL engineering may be viewed as a generalization of MDE. One of the goals of this paper is to explore the potential of this important evolution of engineering practices. In order to anchor the discussion on practical grounds, we present a set of typical problems that could be solved by classical (object-oriented and others), MDE, or DSL-based techniques. Solutions to these problems will be based on current platforms (EMF, AMMA, GME, etc.). This paper illustrates how powerful model-based frameworks, allowing to use and build a variety of DSLs, may help to solve complex problems in a more efficient way." links: doi: "http://doi.acm.org/10.1145/1176617.1176632" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "Java" - "meta programming" - "software architecture" - "data-flow language" - "meta-model" - "XML" - "recommender systems" - "modeling language" - "separation of concerns" - "XML Schema" - "modeling" - "language engineering" - "software language engineering" - "architecture" - "language modeling" - "EMF" - "data-flow programming" - "data-flow" - "software evolution" - "software engineering" - "model-driven engineering" - "object-role modeling" - "aspect oriented programming" - "information models" - "DSL" - "subject-oriented programming" - "Meta-Environment" - "MDE" - "systematic-approach" - "feature-oriented programming" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/KurtevBJV06" cites: 0 citedby: 1 pages: "602-616" booktitle: "OOPSLA" kind: "inproceedings" key: "KurtevBJV06" - title: "Closing the Gap between Modelling and Java" author: - name: "Florian Heidenreich" link: "http://fheidenreich.de/work/" - name: "Jendrik Johannes" link: "http://jjohannes.de" - name: "Mirko Seifert" link: "http://www1.inf.tu-dresden.de/~ms72/" - name: "Christian Wende" link: "http://st.inf.tu-dresden.de" year: "2009" abstract: "Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. However, creating plain text from well-structured models creates a gap that implies several drawbacks: Developers cannot continue to use their model-based tool machinery, relations between model elements and code fragments are hard to track and there is no easy way to rebuild models from their respective code. This paper presents an approach to bridge this gap for the Java programming language. It defines a full metamodel and text syntax specification for Java, from which a parser and a printer are generated. Through this, Java code can be handled like any other model. The implementation is validated with large test sets, example applications are shown, and future directions of research are discussed." tags: - "programming languages" - "rule-based" - "Java" - "translation" - "meta programming" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "software language engineering" - "language modeling" - "testing" - "metamodelling" - "model-driven development" - "software engineering" - "model-driven engineering" - "programming" - "Meta-Environment" - "parsing" - "systematic-approach" researchr: "https://researchr.org/publication/Heidenreich-SLE2009" cites: 0 citedby: 0 booktitle: "SLE" kind: "inproceedings" key: "Heidenreich-SLE2009" - title: "MERA: Meta Language for Software Engineering" author: - name: "K. Takeda" link: "https://researchr.org/alias/k.-takeda" - name: "David N. Chin" link: "https://researchr.org/alias/david-n.-chin" - name: "I. Miyamoto" link: "https://researchr.org/alias/i.-miyamoto" year: "1992" doi: "http://doi.ieeecomputersociety.org/10.1109/SEKE.1992.227912" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SEKE.1992.227912" tags: - "meta-model" - "language engineering" - "software language engineering" - "software engineering" - "model-driven engineering" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/TakedaCM92" cites: 0 citedby: 0 pages: "495-502" booktitle: "seke" kind: "inproceedings" key: "TakedaCM92" - title: "The Field of Software Language Engineering" author: - name: "Anneke Kleppe" link: "https://researchr.org/alias/anneke-kleppe" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_1" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_1" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Kleppe08" cites: 0 citedby: 0 pages: "1-7" booktitle: "SLE" kind: "inproceedings" key: "Kleppe08" - title: "A Model Engineering Approach to Tool Interoperability" author: - name: "Yu Sun" link: "https://researchr.org/alias/yu-sun" - name: "Zekai Demirezen" link: "https://researchr.org/alias/zekai-demirezen" - name: "Frédéric Jouault" link: "https://researchr.org/alias/fr%C3%A9d%C3%A9ric-jouault" - name: "Robert Tairas" link: "https://researchr.org/alias/robert-tairas" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_12" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_12" tags: - "meta-model" - "model-driven engineering" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/SunDJTG08" cites: 0 citedby: 0 pages: "178-187" booktitle: "SLE" kind: "inproceedings" key: "SunDJTG08" - title: "Post-design Domain-Specific Language Embedding: A Case Study in the Software Engineering Domain" author: - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" year: "2002" doi: "http://csdl.computer.org/comp/proceedings/hicss/2002/1435/09/14350281abs.htm" abstract: "Experiences are presented from a new case study of embedding domain-specific languages in the lazy functional language Haskell. The domain languages come from the Odin software build system. Thus, in contrast to most previous embedding projects, a design and implementation of the domain languages existed when the project began. Consequently, the design could not be varied to suit the target language and it was possible to evaluate the success or otherwise of the embedding process in more detail than if the languages were designed from scratch. Experiences were mostly positive. The embedded implementation is significantly smaller than its Odin equivalent. Many benefits are obtained from having the full power of an expressive programming language available to the domain programmer The project also demonstrates in a practical software engineering setting the utility of modern functional programming techniques such as lazy evaluation and monads for structuring programs. On the down side, the efficiency of the embedded version compares unfavourably to the original system." links: doi: "http://csdl.computer.org/comp/proceedings/hicss/2002/1435/09/14350281abs.htm" tags: - "laziness" - "programming languages" - "case study" - "embedded software" - "language engineering" - "software language engineering" - "functional programming" - "language design" - "Haskell" - "software engineering" - "design" - "domain-specific language" researchr: "https://researchr.org/publication/Sloane02" cites: 0 citedby: 0 pages: "281" booktitle: "hicss" kind: "inproceedings" key: "Sloane02" - title: "5SL: a language for declarative specification and generation of digital libraries" author: - name: "Marcos André Gonçalves" link: "http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4763169A6" - name: "Edward A. Fox" link: "http://fox.cs.vt.edu/" year: "2002" doi: "http://doi.acm.org/10.1145/544220.544276" abstract: "Digital libraries (DLs) are among the most complex kinds of information systems, due in part to their intrinsic multi disciplinary nature. Nowadays DLs are built within monolithic, tightly integrated, and generally inflexible systems -- or by assembling disparate components together in an ad-hoc way, with resulting problems in interoperability and adaptability. More importantly, conceptual modeling, requirements analysis, and software engineering approaches are rarely supported, making it extremely difficult to tailor DL content and behavior to the interests, needs, and preferences of particular communities. In this paper, we address these problems. In particular, we present 5SL, a declarative language for specifying and generating domain-specific digital libraries. 5SL is based on the 5S formal theory for digital libraries and enables high-level specification of DLs in five complementary dimensions, including: the kinds of multimedia information the DL supports (Stream Model); how that information is structured and organized (Structural Model); different logical and presentational properties and operations of DL components (Spatial Model); the behavior of the DL (Scenario Model); and the different societies of actors and managers of services that act together to carry out the DL behavior (Societal Model). The practical feasibility of the approach is demonstrated by the presentation of a 5SL digital library generator for the MARIAN digital library system. " links: doi: "http://doi.acm.org/10.1145/544220.544276" tags: - "rule-based" - "software components" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "digital library" - "software language engineering" - "language modeling" - "software component" - "domain analysis" - "analysis" - "requirements engineering" - "software engineering" - "model-driven engineering" - "digital libraries" - "information models" - "Meta-Environment" - "multimedia" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/GoncalvesF02" cites: 0 citedby: 0 pages: "263-272" booktitle: "JCDL" kind: "inproceedings" key: "GoncalvesF02" - title: "Influences on the design of exception handling ACM SIGSOFT project on the impact of software engineering research on programming language design" author: - name: "Barbara G. Ryder" link: "https://researchr.org/alias/barbara-g.-ryder" - name: "Mary Lou Soffa" link: "https://researchr.org/alias/mary-lou-soffa" year: "2003" doi: "http://doi.acm.org/10.1145/882240.882258" links: doi: "http://doi.acm.org/10.1145/882240.882258" tags: - "programming languages" - "exceptions" - "language engineering" - "software language engineering" - "design research" - "language design" - "software engineering" - "programming" - "design" researchr: "https://researchr.org/publication/RyderS03" cites: 0 citedby: 0 journal: "sigsoft" volume: "28" number: "4" pages: "29-35" kind: "article" key: "RyderS03" - title: "Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines" author: - name: "Pablo Sánchez" link: "https://researchr.org/alias/pablo-s%C3%A1nchez" - name: "Neil Loughran" link: "https://researchr.org/alias/neil-loughran" - name: "Lidia Fuentes" link: "https://researchr.org/alias/lidia-fuentes" - name: "Alessandro Garcia" link: "https://researchr.org/alias/alessandro-garcia" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_13" tags: - "software product lines" - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/SanchezLFG08" cites: 0 citedby: 0 pages: "188-207" booktitle: "SLE" kind: "inproceedings" key: "SanchezLFG08" - title: "Types for Programming and Reasoning" author: - name: "Janis Voigtländer" link: "http://www.iai.uni-bonn.de/~jv/" year: "2008" abstract: "Types play an increasingly important role in program construction, software engineering, and reasoning about programs. They serve as documentation of functionality, even as partial specifications, and can help to rule out whole classes of errors before a program is ever run. This provides qualitative guarantees and enables safe reuse of code components. In particular, static type checking constitutes a limited form of automatic correctness proof below the threshold of full, and undecidable, program verification. An important asset for maintaining a strong type discipline, which attempts to prevent the use of code in unfit contexts by assigning types that are as precise and descriptive as possible, without forgoing the goal of also flexible reuse is the availability of polymorphism, first identied as a distinct concept by Strachey (1967). A polymorphic type, or type scheme, expresses that a certain functionality is offered for different concrete type instantiations, and that in a controlled fashion. Even though the prospects of strong typing as a lightweight yet powerful formal method have already begun to influence the design of mainstream programming languages, and in particular Java and C# are embracing ever more sophisticated forms of polymorphism (Naftalin and Wadler 2006, Golding 2005), the real stronghold of typeful programming is in the area of functional programming languages like ML (Milner et al. 1997) and Haskell (Peyton Jones 2003). To some degree this may be an almost incidental consequence of the origin of much of the initial research into expressive types (Cardelli and Wegner 1985), but there are also profound reasons. The clear mathematical basis of the functional paradigm makes languages adhering to it particularly amenable to precise analysis and thus allows the formalization and mastery, both theoretically and practically, of very potent type systems. In fact, one of the defining characteristics of Haskell over the last two decades has been its role as a highly effective laboratory in which to explore, design, and implement advanced type-related ideas (Hudak et al. 2007). So the forefront of type research is still in the field of functional programming, and it is also this setting in which the work reported on in this thesis explores ways of using types for high-level program construction and reasoning about the behavior of programs. Specifically, a very nice synergy arises from Haskell's type discipline and Haskell's insistence on being a pure, rather than just any other \"almost\", functional language. The \"no compromises\" attitude vis-a-vis any impulse to relax the compliance with the mathematical concept of side-effect-free functions contributes to the existence of powerful reasoning techniques that connect the types of functions to those functions' possible observable behaviors. One such technique is the systematic derivation of statements about program behavior from (polymorphic) types alone. Originating from Reynolds' (1983) characterization of what it means, abstractly, for a function to be fully polymorphic over some part of its type, this approach has been popularized by Wadler (1989) under the slogan of \"free theorems\". It combines fruitfully with algebraic techniques like equational reasoning. One prominent application area for free theorems has been, and continues to be, the conception and study of semantics-preserving program transformations that can be used in a compiler to optimize for execution speed. This thesis reports on our furthering of that kind of applications (Chapters 6-9), but also on somewhat surprising applications outside the core area of programming language research as such (Chapters 4 and 5). Another topic that is covered is a series of investigations into the theoretical underpinning of free theorems as regards aspects of Haskell previously unaccounted for (Chapters 8 and 10). To set the stage, though, Chapters 2 and 3 first give a brief introduction to Haskell, its abstraction facilities and associated reasoning techniques in general and on the type level, and a program transformation technique of the mentioned kind. The subsequent chapters then provide high-level overviews of the results obtained in the full papers that are appended after page 84." tags: - "control systems" - "programming languages" - "optimization" - "semantics" - "reusable components" - "rule-based" - "transformation engineering" - "Java" - "program analysis" - "software components" - "program verification" - "formal semantics" - "language engineering" - "transformation language" - "software language engineering" - "functional programming" - "design research" - "software component" - "analysis" - "language design" - "static analysis" - "Haskell" - "type system" - "reuse" - "equational proofs" - "software engineering" - "rules" - "algebraic specification" - "C++" - "programming paradigms" - "type checking" - "transformation system" - "compiler" - " algebra" - "programming" - "context-aware" - "abstraction" - "program optimization" - "design" - "systematic-approach" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/Voi08e" cites: 0 citedby: 0 kind: "misc" key: "Voi08e" - title: "Expressive and safe static reflection with MorphJ" author: - name: "Shan Shan Huang" link: "http://www.freeflygeek.com/" - name: "Yannis Smaragdakis" link: "http://smaragd.org" year: "2008" doi: "http://doi.acm.org/10.1145/1375581.1375592" abstract: "Recently, language extensions have been proposed for Java and C# to support pattern-based reflective declaration. These extensions introduce a disciplined form of meta-programming and aspect-oriented programming to mainstream languages: They allow members of a class (i.e., fields and methods) to be declared by statically iterating over and pattern-matching on members of other classes. Such techniques, however, have been unable to safely express simple, but common, idioms such as declaring getter and setter methods for fields. In this paper, we present a mechanism that addresses the lack of expressiveness in past work without sacrificing safety. Our technique is based on the idea of nested patterns that elaborate the outer-most pattern with blocking or enabling conditions. We implemented this mechanism in a language, MorphJ. We demonstrate the expressiveness of MorphJ with real-world applications. In particular, the MorphJ reimplementation of DSTM2, a software transactional memory library, reduces 1,107 lines of Java reflection and bytecode engineering library calls to just 374 lines of MorphJ code. At the same time, the MorphJ solution is both high level and safer, as MorphJ can separately type check generic classes and catch errors early. We present and formalize the MorphJ type system, and offer a type-checking algorithm." links: doi: "http://doi.acm.org/10.1145/1375581.1375592" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "Java" - "program analysis" - "meta programming" - "pattern language" - "generic programming" - "model checking" - "meta-model" - "Variability-Aware Analysis" - "language engineering" - "software language engineering" - "analysis" - "static analysis" - "type system" - "software engineering" - "model-driven engineering" - "C++" - "pattern matching" - "type checking" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "context-aware" - "Meta-Environment" - "reflection" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/HuangS08" cites: 0 citedby: 1 pages: "79-89" booktitle: "PLDI" kind: "inproceedings" key: "HuangS08" - title: "ScalaQL: Language-Integrated Database Queries for Scala" author: - name: "Daniel Spiewak" link: "http://www.cs.uwm.edu/~dspiewak/" - name: "Tian Zhao" link: "http://jiangxi.cs.uwm.edu/" year: "2009" abstract: "One of the most ubiquitous elements of modern computing is the relational database. Very few modern applications are created without some sort of database backend. Unfortunately, relational database concepts are fundamentally very different from those used in general-purpose programming languages. This creates an impedance mismatch between the the application and the database layers. One solution to this problem which has been gaining traction in the .NET family of languages is Language-Integrated Queries (LINQ). That is, the embedding of database queries within application code in a way that is statically checked and type safe. Unfortunately, certain language changes or core design elements were necessary to make this embedding possible. We present a framework which implements this concept of type safe embedded queries in Scala without any modifications to the language itself. The entire framework is implemented by leveraging existing language features (particularly for-comprehensions)." tags: - "programming languages" - "program comprehension" - "Scala" - "application framework" - "relational database" - "language design" - "programming" - "database" - "design" - "query language" researchr: "https://researchr.org/publication/Spiewak%3A2009" cites: 0 citedby: 0 booktitle: "SLE" kind: "inproceedings" key: "Spiewak:2009" - title: "Software Language Engineering: Creating Domain-Specific Languages Using Metamodels" author: - name: "Anneke Kleppe" link: "https://researchr.org/alias/anneke-kleppe" year: "2008" abstract: "Software practitioners are rapidly discovering the immense value of Domain-Specific Languages (DSLs) in solving problems within clearly definable problem domains. Developers are applying DSLs to improve productivity and quality in a wide range of areas, such as finance, combat simulation, macro scripting, image generation, and more. But until now, there have been few practical resources that explain how DSLs work and how to construct them for optimal use. Software Language Engineering fills that need. Written by expert DSL consultant Anneke Kleppe, this is the first comprehensive guide to successful DSL design. Kleppe systematically introduces and explains every ingredient of an effective language specification, including its description of concepts, how those concepts are denoted, and what those concepts mean in relation to the problem domain. Kleppe carefully illuminates good design strategy, showing how to maximize the flexibility of the languages you create. She also demonstrates powerful techniques for creating new DSLs that cooperate well with general-purpose languages and leverage their power. Completely tool-independent, this book can serve as the primary resource for readers using Microsoft DSL tools, the Eclipse Modeling Framework, openArchitectureWare, or any other DSL toolset. It contains multiple examples, an illustrative running case study, and insights and background information drawn from Kleppes leading-edge work as a DSL researcher. Specific topics covered include Discovering the types of problems that DSLs can solve, and when to use them Comparing DSLs with general-purpose languages, frameworks, APIs, and other approaches Understanding the roles and tools available to language users and engineers Creating each component of a DSL specification Modeling both concrete and abstract syntax Understanding and describing language semantics Defining textual and visual languages based on object-oriented metamodeling and graph transformations Using metamodels and associated tools to generate grammars Integrating object-oriented modeling with graph theory Building code generators for new languages Supporting multilanguage models and programs This book provides software engineers with all the guidance they need to create DSLs that solve real problems more rapidly, and with higher-quality code." links: "url": "http://portal.acm.org/citation.cfm?id=1496375" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "concrete object syntax" - "semantics" - "rule-based" - "transformation engineering" - "Eclipse" - "meta programming" - "case study" - "software components" - "graph transformation" - "meta-model" - "abstract syntax" - "modeling language" - "modeling" - "language engineering" - "transformation language" - "software language engineering" - "language modeling" - "design research" - "software component" - "language design" - "macros" - "source-to-source" - "graph-rewriting" - "software engineering" - "model-driven engineering" - "code generation" - "object-role modeling" - "model transformation" - "information models" - "DSL" - "subject-oriented programming" - "type theory" - "Meta-Environment" - "higher-order transformations" - "rewriting" - "design" - "systematic-approach" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "grammar" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/kleppe08%3A0" cites: 0 citedby: 0 publisher: "Addison-Wesley Professional" isbn: "0321553454, 9780321553454" kind: "book" key: "kleppe08:0" - title: "Parse Table Composition" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" abstract: "Module systems, separate compilation, deployment of binary components, and dynamic linking have enjoyed wide acceptance in programming languages and systems. In contrast, the syntax of languages is usually defined in a non-modular way, cannot be compiled separately, cannot easily be combined with the syntax of other languages, and cannot be deployed as a component for later composition. Grammar formalisms that do support modules use whole program compilation. Current extensible compilers focus on source-level extensibility, which requires users to compile the compiler with a specific configuration of extensions. A compound parser needs to be generated for every combination of extensions. The generation of parse tables is expensive, which is a particular problem when the composition configuration is not fixed to enable users to choose language extensions. In this paper we introduce an algorithm for parse table composition to support separate compilation of grammars to parse table components. Parse table components can be composed (linked) efficiently at runtime, i.e. just before parsing. While the worst-case time complexity of parse table composition is exponential (like the complexity of parse table generation itself), for realistic language combination scenarios involving grammars for real languages, our parse table composition algorithm is an order of magnitude faster than computation of the parse table for the combined grammars. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" tags: - "parsing algorithm" - "programming languages" - "deployment" - "syntax definition" - "SDF" - "composition" - "source-to-source" - "parse table composition" - "compiler" - "programming" - "language composition" - "parsing" - "extensible language" - "ASF+SDF" - "open-source" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV08" cites: 0 citedby: 0 pages: "74-94" booktitle: "SLE" kind: "inproceedings" key: "BravenboerV08" - title: "Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-12107-4" links: doi: "http://dx.doi.org/10.1007/978-3-642-12107-4" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/sle%3A2009" cites: 0 citedby: 0 booktitle: "Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers" conference: "SLE" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" series: "Lecture Notes in Computer Science" publisher: "Springer" kind: "proceedings" key: "sle:2009" - title: "Transformation Language Integration Based on Profiles and Higher Order Transformations" author: - name: "Pieter Van Gorp" link: "http://www.pietervangorp.com/" - name: "Anne Keller" link: "www.ua.ac.be/anne.keller" - name: "Dirk Janssens" link: "http://" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_14" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_14" tags: - "rule-based" - "transformation engineering" - "language engineering" - "transformation language" - "UML" - "higher-order transformations" - "transformation" researchr: "https://researchr.org/publication/GorpKJ08" cites: 0 citedby: 0 pages: "208-226" booktitle: "SLE" kind: "inproceedings" key: "GorpKJ08" - title: "A Practical Approach to Software Process Modelling Language Engineering" author: - name: "Simo Rossi" link: "https://researchr.org/alias/simo-rossi" - name: "Tero Sillander" link: "https://researchr.org/alias/tero-sillander" year: "1998" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "software engineering" - "model-driven engineering" - "Meta-Environment" - "process modeling" - "systematic-approach" researchr: "https://researchr.org/publication/RossiS98" cites: 0 citedby: 0 pages: "28-42" booktitle: "ewspt" kind: "inproceedings" key: "RossiS98" - title: "The scalability of AspectJ" author: - name: "Arjun Singh" link: "https://researchr.org/alias/arjun-singh" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.acm.org/10.1145/1321211.1321233" abstract: "The AspectJ project[1] is exploring language support to enable programmers to implement crosscutting concerns in a modular fashion. Previous work in this area has primarily examined the expressiveness of AspectJ, to further aspect-oriented programming language research. In our work we focus on critical software engineering issues related to system modularity. In particular, we want to understand how use of AspectJ interacts with the well-known data abstraction principle[2]. In this abstract, we describe some of our work in identifying the explicit and implicit ways that modules can become dependent upon design decisions of another module in AspectJ. We hope that this information will provide a useful perspective to aspect-oriented programming language designers and will help users of AspectJ make informed design decisions. Given the space constraints, we must assume that the reader is familiar with the AspectJ language[1]. " links: doi: "http://doi.acm.org/10.1145/1321211.1321233" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "data-flow language" - "AOP" - "language engineering" - "software language engineering" - "design research" - "language design" - "constraints" - "data-flow programming" - "data-flow" - "software engineering" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/SinghK07" cites: 0 citedby: 0 pages: "203-214" booktitle: "cascon" kind: "inproceedings" key: "SinghK07" - title: "Evaluating the Visual Syntax of UML: An Analysis of the Cognitive Effectiveness of the UMLFamily of Diagrams" author: - name: "Daniel L. Moody" link: "https://researchr.org/alias/daniel-l.-moody" - name: "Jos van Hillegersberg" link: "https://researchr.org/alias/jos-van-hillegersberg" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_3" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_3" tags: - "analysis" - "UML" researchr: "https://researchr.org/publication/MoodyH08" cites: 0 citedby: 0 pages: "16-34" booktitle: "SLE" kind: "inproceedings" key: "MoodyH08" - title: "XML-based programming language modeling: An approach to software engineering" author: - name: "Christian Reichel" link: "https://researchr.org/alias/christian-reichel" - name: "Roy Oberhauser" link: "https://researchr.org/alias/roy-oberhauser" year: "2004" tags: - "programming languages" - "rule-based" - "meta programming" - "meta-model" - "XML" - "modeling language" - "XML Schema" - "modeling" - "language engineering" - "software language engineering" - "language modeling" - "software engineering" - "model-driven engineering" - "programming" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/ReichelO04" cites: 0 citedby: 0 pages: "424-429" booktitle: "iastedSEA" kind: "inproceedings" key: "ReichelO04" - title: "Stratego: A Language for Program Transformation Based on Rewriting Strategies" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1007/3-540-45127-7_27" abstract: "Program transformation is used in many areas of software engineering. Examples include compilation, optimization, synthesis, refactoring, migration, normalization and improvement [15]. Rewrite rules are a natural formalism for expressing single program transformations. However, using a standard strategy for normalizing a program with a set of rewrite rules is not adequate for implementing program transformation systems. It may be necessary to apply a rule only in some phase of a transformation, to apply rules in some order, or to apply a rule only to part of a program. These restrictions may be necessary to avoid non-termination or to choose a specific path in a non-con uent rewrite system. Stratego is a language for the specification of program transformation systems based on the paradigm of rewriting strategies. It supports the separation of strategies from transformation rules, thus allowing careful control over the application of these rules. As a result of this separation, transformation rules are reusable in multiple difierent transformations and generic strategies capturing patterns of control can be described independently of the transformation rules they apply. Such strategies can even be formulated independently of the object language by means of the generic term traversal capabilities of Stratego. In this short paper I give a description of version 0.5 of the Stratego system, discussing the features of the language (Section 2), the library (Section 3), the compiler (Section 4) and some of the applications that have been built (Section 5). Stratego is available as free software under the GNU General Public License from http://www.stratego-language.org. " links: doi: "https://doi.org/10.1007/3-540-45127-7_27" successor: "https://researchr.org/publication/BravenboerKVV06" tags: - "control systems" - "programming languages" - "optimization" - "object-oriented programming" - "rule-based" - "transformation engineering" - "pattern language" - "generic programming" - "graph transformation" - "Stratego/XT" - "traversal" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "term rewriting" - "reuse" - "termination" - "graph-rewriting" - "software engineering" - "rules" - "programming paradigms" - "migration" - "transformation system" - "rule-based refactoring" - "compiler" - "subject-oriented programming" - "program optimization" - "higher-order transformations" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/Visser01" cites: 0 citedby: 1 pages: "357-362" booktitle: "RTA" kind: "inproceedings" key: "Visser01" - title: "Recovery, Convergence and Documentation of Languages" author: - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2010" month: "October" links: "pdf": "http://grammarware.net/text/2010/zaytsev-thesis.pdf" tags: - "transformation engineering" - "grammar transformation" - "language engineering" - "transformation language" - "software language engineering" - "grammar engineering" - "grammar convergence" - "software engineering" - "grammar recovery" - "language documentation" - "transformation" - "grammar" researchr: "https://researchr.org/publication/Zaytsev-Thesis2010" cites: 0 citedby: 0 school: "Vrije Universiteit" address: "Amsterdam, The Netherlands" advisor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" kind: "phdthesis" key: "Zaytsev-Thesis2010" - title: "A Strafunski Application Letter" author: - 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/" year: "2003" doi: "http://link.springer.de/link/service/series/0558/bibs/2562/25620357.htm" abstract: "Strafunski is a Haskell-centred software bundle for implementing language processing components—most notably program analyses and transformations. Typical application areas include program optimisation, refactoring, software metrics, software re- and reverse engineering. Strafunski started out as generic programming library complemented by generative tool support to address the concern of generic traversal over typed representations of parse trees in a scalable manner. Meanwhile, Strafunski also encompasses means of integrating external components such as parsers, pretty printers, and graph visualisation tools. In a selection of case studies, we demonstrate that typed functional programming in Haskell, augmented with Strafunski ’s support for generic traversal and external components, is very appropriate for the development of practical language processors. In particular, we discuss using Haskell for Cobol reverse engineering, Java code metrics, and Haskell re-engineering." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2562/25620357.htm" tags: - "generative programming" - "programming languages" - "transformation engineering" - "Java" - "generic programming" - "case study" - "software components" - "graph transformation" - "reverse engineering" - "traversal" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "functional programming" - "software component" - "Haskell" - "graph-rewriting" - "software engineering" - "programming" - "rewriting" - "Cobol" - "parsing" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/LammelV03" cites: 0 citedby: 0 pages: "357-375" booktitle: "PADL" kind: "inproceedings" key: "LammelV03" - title: "Software/Hardware Engineering with the Parallel Object-Oriented Specification Language" author: - name: "Bart D. Theelen" link: "https://researchr.org/alias/bart-d.-theelen" - name: "Oana Florescu" link: "https://researchr.org/alias/oana-florescu" - name: "Marc Geilen" link: "https://researchr.org/alias/marc-geilen" - name: "Jinfeng Huang" link: "https://researchr.org/alias/jinfeng-huang" - name: "P. H. A. van der Putten" link: "https://researchr.org/alias/p.-h.-a.-van-der-putten" - name: "Jeroen Voeten" link: "https://researchr.org/alias/jeroen-voeten" year: "2007" doi: "http://dx.doi.org/10.1109/MEMCOD.2007.371231" links: doi: "http://dx.doi.org/10.1109/MEMCOD.2007.371231" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/TheelenFGHPV07" cites: 0 citedby: 0 pages: "139-148" booktitle: "memocode" kind: "inproceedings" key: "TheelenFGHPV07" - title: "Engineering a DSL for Software Traceability" author: - name: "Nikolaos Drivalos" link: "https://researchr.org/alias/nikolaos-drivalos" - name: "Dimitris Kolovos" link: "http://www-users.cs.york.ac.uk/~dkolovos/" - name: "Richard F. Paige" link: "http://www-users.cs.york.ac.uk/~paige/" - name: "Kiran J. Fernandes" link: "https://researchr.org/alias/kiran-j.-fernandes" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_10" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_10" tags: - "software engineering" - "DSL" researchr: "https://researchr.org/publication/DrivalosKPF08" cites: 0 citedby: 0 pages: "151-167" booktitle: "SLE" kind: "inproceedings" key: "DrivalosKPF08" - title: "A Case Study in Grammar Engineering" author: - name: "Tiago L. Alves" link: "http://wiki.di.uminho.pt/twiki/bin/view/Personal/Tiago/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_18" abstract: "This paper describes a case study about how well-established software engineering techniques can be applied to the development of a grammar. The employed development methodology can be described as iterative grammar engineering and includes the application of techniques such as grammar metrics, unit testing, and test coverage analysis. The result is a grammar of industrial strength, in the sense that it is well-tested, it can be used for fast parsing of high volumes of code, and it allows automatic generation of support for syntax tree representation, traversal, and interchange. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_18" tags: - "test coverage" - "case study" - "traversal" - "grammar engineering" - "testing" - "analysis" - "software engineering" - "code generation" - "parsing" - "iterative development" - "coverage" - "grammar" researchr: "https://researchr.org/publication/AlvesV08" cites: 0 citedby: 0 pages: "285-304" booktitle: "SLE" kind: "inproceedings" key: "AlvesV08" - title: "Analyzing Rule-Based Behavioral Semantics of Visual Modeling Languages with Maude" author: - name: "José Eduardo Rivera" link: "https://researchr.org/alias/jos%C3%A9-eduardo-rivera" - name: "Esther Guerra" link: "http://www.ii.uam.es/~eguerra/" - name: "Juan de Lara" link: "https://researchr.org/alias/juan-de-lara" - name: "Antonio Vallecillo" link: "http://www.lcc.uma.es/~av/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_5" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_5" tags: - "semantics" - "rule-based" - "modeling language" - "modeling" - "language modeling" - "rules" researchr: "https://researchr.org/publication/RiveraGLV08" cites: 0 citedby: 0 pages: "54-73" booktitle: "SLE" kind: "inproceedings" key: "RiveraGLV08" - title: "04101 Abstracts Collection - Language Engineering for Model-Driven Software Development" author: - name: "Jean Bézivin" link: "https://researchr.org/alias/jean-b%C3%A9zivin" - name: "Reiko Heckel" link: "http://www.cs.le.ac.uk/people/rh122/" year: "2004" doi: "http://drops.dagstuhl.de/opus/volltexte/2005/25" links: doi: "http://drops.dagstuhl.de/opus/volltexte/2005/25" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "model-driven development" - "software engineering" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/BezivinH04a" cites: 0 citedby: 0 booktitle: "Dagstuhl" kind: "inproceedings" key: "BezivinH04a" - title: "Formalization and Rule-Based Transformation of EMF Ecore-Based Models" author: - name: "Bernhard Schätz" link: "http://" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_15" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_15" tags: - "model-to-model transformation" - "rule-based" - "meta-model" - "EMF" - "source-to-source" - "rules" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/Schatz08%3A0" cites: 0 citedby: 0 pages: "227-244" booktitle: "SLE" kind: "inproceedings" key: "Schatz08:0" - title: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/sle%3A2008" cites: 0 citedby: 0 booktitle: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" conference: "SLE" editor: - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Eric {Van Wyk}" link: "http://www-users.cs.umn.edu/~evw/" volume: "5452" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00433-9" kind: "proceedings" key: "sle:2008" - title: "Lessons Learned Applying Software Engineering Principles to Visual Programming Language Application Development" author: - name: "Teresa G. Sparkman" link: "https://researchr.org/alias/teresa-g.-sparkman" year: "1999" doi: "http://computer.org/proceedings/compsac/0368/03680416abs.htm" links: doi: "http://computer.org/proceedings/compsac/0368/03680416abs.htm" tags: - "programming languages" - "language engineering" - "software language engineering" - "principles" - "software engineering" - "programming" researchr: "https://researchr.org/publication/Sparkman99" cites: 0 citedby: 0 pages: "416" booktitle: "compsac" kind: "inproceedings" key: "Sparkman99" - title: "Programmin Language Standards: Not Language Definitions, but Specifications of Software Engineering Tools" author: - name: "Brian L. Meek" link: "https://researchr.org/alias/brian-l.-meek" year: "1986" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Meek86" cites: 0 citedby: 0 pages: "301-306" booktitle: "ifip" kind: "inproceedings" key: "Meek86" - title: "Software Engineering Aspects in Language Implementation" author: - name: "Kai Koskimies" link: "https://researchr.org/alias/kai-koskimies" year: "1988" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Koskimies88" cites: 0 citedby: 0 pages: "39-51" booktitle: "cc" kind: "inproceedings" key: "Koskimies88" - title: "A Practical Evaluation of Using TXL for Model Transformation" author: - name: "Hongzhi Liang" link: "https://researchr.org/alias/hongzhi-liang" - name: "Jürgen Dingel" link: "https://researchr.org/alias/j%C3%BCrgen-dingel" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_16" abstract: "As one of the MDA’s main principles, model transformation has led to the specification of QVT and a large number of model transformation tools. TXL is a generic source transformation tool that also possesses some very important model transformation properties, such as scalability and efficiency. In this paper, we consider TXL as a model transformation tool, especially, for model-to-model transformations. We first present an approach for applying TXL as a model transformation tool. An interesting feature of the approach is the automatic generation of TXL grammars from meta-models. Then, practical applications of model transformation via TXL that follow our approach are given. We conclude the paper with a preliminary evaluation of using TXL as a model transformation tool. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_16" tags: - "model-to-model transformation" - "QVT Transformations" - "QVT" - "meta-model" - "modeling" - "principles" - "source-to-source" - "TXL" - "model transformation" - "Meta-Environment" - "systematic-approach" - "open-source" - "meta-objects" - "transformation" - "grammar" researchr: "https://researchr.org/publication/LiangD08%3A0" cites: 0 citedby: 0 pages: "245-264" booktitle: "SLE" kind: "inproceedings" key: "LiangD08:0" - title: "Neon: A Library for Language Usage Analysis" author: - name: "Jurriaan Hage" link: "http://www.cs.uu.nl/wiki/Hage/WebHome" - name: "Peter van Keeken" link: "https://researchr.org/alias/peter-van-keeken" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_4" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_4" tags: - "analysis" researchr: "https://researchr.org/publication/HageK08" cites: 0 citedby: 0 pages: "35-53" booktitle: "SLE" kind: "inproceedings" key: "HageK08" - title: "04101 Summary - Language Engineering for Model-driven Software Development" author: - name: "Jean Bézivin" link: "https://researchr.org/alias/jean-b%C3%A9zivin" - name: "Reiko Heckel" link: "http://www.cs.le.ac.uk/people/rh122/" year: "2004" doi: "http://drops.dagstuhl.de/opus/volltexte/2005/10" links: doi: "http://drops.dagstuhl.de/opus/volltexte/2005/10" tags: - "meta-model" - "modeling language" - "language engineering" - "software language engineering" - "language modeling" - "model-driven development" - "software engineering" - "model-driven engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/BezivinH04" cites: 0 citedby: 0 booktitle: "Dagstuhl" kind: "inproceedings" key: "BezivinH04" - title: "The GRASPIN DB - A Syntax Directed, Language Independent Software Engineering Database" author: - name: "C. Zaroliagis" link: "https://researchr.org/alias/c.-zaroliagis" - name: "P. Soupos" link: "https://researchr.org/alias/p.-soupos" - name: "S. Goutas" link: "https://researchr.org/alias/s.-goutas" - name: "Dimitris Christodoulakis" link: "https://researchr.org/alias/dimitris-christodoulakis" year: "1986" doi: "db/conf/oodbs/ZaroliagisSGC86.html" tags: - "language engineering" - "software language engineering" - "software engineering" - "C++" - "database" researchr: "https://researchr.org/publication/ZaroliagisSGC86" cites: 0 citedby: 0 pages: "235" booktitle: "COODBSE" kind: "inproceedings" key: "ZaroliagisSGC86" - title: "On a language based method for software performance engineering of client/server systems" author: - name: "Daniel A. Menascé" link: "https://researchr.org/alias/daniel-a.-menasc%C3%A9" - name: "Hassan Gomaa" link: "https://researchr.org/alias/hassan-gomaa" year: "1998" doi: "http://doi.acm.org/10.1145/287318.287331" links: doi: "http://doi.acm.org/10.1145/287318.287331" tags: - "rule-based" - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/MenasceG98" cites: 0 citedby: 0 pages: "63-69" booktitle: "wosp" kind: "inproceedings" key: "MenasceG98" - title: "Sudoku - A Language Description Case Study" author: - name: "Terje Gjøsæter" link: "https://researchr.org/alias/terje-gj%C3%B8s%C3%A6ter" - name: "Ingelin F. Isfeldt" link: "https://researchr.org/alias/ingelin-f.-isfeldt" - name: "Andreas Prinz" link: "https://researchr.org/alias/andreas-prinz" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_19" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_19" tags: - "case study" researchr: "https://researchr.org/publication/GjosaeterIP08" cites: 0 citedby: 0 pages: "305-321" booktitle: "SLE" kind: "inproceedings" key: "GjosaeterIP08" - title: "A formal specification language for agent-oriented software engineering" author: - name: "Hong Zhu" link: "https://researchr.org/alias/hong-zhu" year: "2003" doi: "http://doi.acm.org/10.1145/860575.860852" links: doi: "http://doi.acm.org/10.1145/860575.860852" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/Zhu03%3A9" cites: 0 citedby: 0 pages: "1174-1175" booktitle: "atal" kind: "inproceedings" key: "Zhu03:9" - title: "Adding Flexibility to a Powerful but Inflexible Meta-Assembly Language through a Smooth Software Engineering Task" author: - name: "Emmanuel Skordalakis" link: "https://researchr.org/alias/emmanuel-skordalakis" year: "1984" tags: - "meta-model" - "language engineering" - "software language engineering" - "software engineering" - "model-driven engineering" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/Skordalakis84" cites: 0 citedby: 0 journal: "wi" volume: "26" number: "3" pages: "113-120" kind: "article" key: "Skordalakis84" - title: "Generating Rewritable Abstract Syntax Trees" author: - name: "Jeffrey L. Overbey" link: "https://researchr.org/alias/jeffrey-l.-overbey" - name: "Ralph E. Johnson" link: "http://st-www.cs.illinois.edu/users/johnson/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_8" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_8" tags: - "abstract syntax" - "Variability-Aware Analysis" - "analysis" - "graph-rewriting" - "e-science" - "context-aware" - "rewriting" researchr: "https://researchr.org/publication/OverbeyJ08" cites: 0 citedby: 0 pages: "114-133" booktitle: "SLE" kind: "inproceedings" key: "OverbeyJ08" - title: "Synchronising Changes to Design and Implementation using a Declarative Meta-Programming Language" author: - name: "Roel Wuyts" link: "http://roelwuyts.be" year: "2001" month: "dec" abstract: "When developing software systems, the relation between design and implementation is typically left unspecified. As a result design or implementation can be modified independently of each other, and a modification of either one does not leave any trace in the other. The practical result of this is a number of well-known problems such as drift and erosion, documentation maintenance problems or round-trip engineering trouble. To solve these problems we propose to make the relation between des ign and implementation explicit by expressing design as a logic meta program over implementation. This is the cornerstone for building a complete synchronisation framework that allows one to synchronise changes to design and implementation. We have implem ented such synchronisation framework, and applied it successfully on two case studies." links: "url": "http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01f.pdf" tags: - "programming languages" - "completeness" - "meta programming" - "case study" - "model synchronisation" - "meta-model" - "language engineering" - "software language engineering" - "language design" - "maintenance" - "software engineering" - "model-driven engineering" - "logic programming" - "programming" - "logic" - "Meta-Environment" - "design" - "round trip engineering" - "meta-objects" researchr: "https://researchr.org/publication/Wuyt01f" cites: 0 citedby: 0 booktitle: "International Workshop on (Constraint) Logic Programming for Software Engineering" kind: "inproceedings" key: "Wuyt01f"