Methods and Techniques for the Design and Implementation of Domain-Specific Languages

Domain-Specific Languages (DSLs) are programming language aimed at a particular problem domain, e.g. banking, database querying or website page lay-outs. Through the use of high-level concepts, a DSL raises the level of abstraction and expressive power of the programmer, and reduces the size of programs. This dissertation covers various aspects of the design and implementations of such DSLs. Throughout the project, two DSLs were developed: WebDSL, a language for rapid web application development, and mobl, a DSL for mobile application development. Using these two case studies, the dissertation explores the design space, as well as techniques developed to implement the compiler and IDE for such DSLs. The general design principle applied is syntactic integration and separation of concerns. Rather than using a number of DSLs to build a single application, our approach is to develop a single, integrated DSL that can be used to develop the entire application, while still enabling clear separation of concerns. The result of this integration is static verification -- the ability to instantly be notified when your program is inconsistent, without having to run it. The dissertation covers five aspects of DSL design and implementation: (1) Verification, the ability to verify applications written using the DSL; (2) Coverage, how to ensure that a DSL enables its user to express what he needs to express; (3) Abstractions, the use as well as the definition of abstractions in a DSL; (4) Code generation, techniques for efficiently generating executable code from a DSL; (5) Portability, the ability to generate code from a DSL that is runnable on multiple platforms.

[1]  de A. Bruin,et al.  Service-oriented discovery of knowledge : foundations, implementations and applications , 2010 .

[2]  Andrea Maurino,et al.  A Model and an XSL Framework for Analyzing the Quality of WebML Conceptual Schemas , 2002, ER.

[3]  Yoshikazu Yamamoto,et al.  Extending UML with Aspects: Aspect Support in the Design Phase , 1999, ECOOP Workshops.

[4]  R. Boumen,et al.  Integration and test plans for complex manufacturing systems , 2007 .

[5]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[6]  Stefano Ceri Process Modeling in Web Applications , 2005, OTM Conferences.

[7]  Martijn Warnier,et al.  Language based security for Java and JML , 2006 .

[8]  Peter Thiemann,et al.  WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms , 2002, PADL.

[9]  Eelco Dolstra,et al.  The purely functional software deployment model , 2006 .

[10]  Simon L. Peyton Jones,et al.  C--: A Portable Assembly Language that Supports Garbage Collection , 1999, PPDP.

[11]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[12]  Brian Beckman,et al.  LINQ: reconciling object, relations and XML in the .NET framework , 2006, SIGMOD Conference.

[13]  Marco Brambilla,et al.  Designing Web Applications with Webml and Webratio , 2008, Web Engineering.

[14]  Iris Loeb Natural Deduction, Sharing By Presentation , 2007 .

[15]  A. L. de Groot,et al.  Practical Automaton proofs in PVS , 2000 .

[16]  Jean Bézivin,et al.  Model-based DSL frameworks , 2006, OOPSLA '06.

[17]  Eelco Visser,et al.  MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT , 2005, GTTSE.

[18]  Eelco Visser,et al.  Declaratively programming the mobile web with Mobl , 2011, OOPSLA '11.

[19]  Bas Basten,et al.  Ambiguity Detection for Programming Language Grammars , 2011 .

[20]  Ncwm Niels Braspenning Model-based integration and testing of high-tech multi-disciplinary systems , 2008 .

[21]  Paul Klint,et al.  The syntax definition formalism SDF—reference manual— , 1989, SIGP.

[22]  Cjf Cas Cremers Scyther : semantics and verification of security protocols , 2006 .

[23]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[24]  Jean Bézivin,et al.  Model Driven Engineering: An Emerging Technical Space , 2005, GTTSE.

[25]  Mohd Fadzil Hassan,et al.  Model driven software development: An overview , 2014, 2014 International Conference on Computer and Information Sciences (ICCOINS).

[26]  E Elena Mumford,et al.  Drawing graphs for cartographic applications , 2008 .

[27]  Douglas K. Barry,et al.  Solving the Java Object Storage Problem , 1998, Computer.

[28]  Laura Brandán Briones,et al.  Theories for Model-based Testing: Real-time and Coverage , 2007 .

[29]  Jeroen Doumen,et al.  Searching in encrypted data , 2004 .

[30]  Anton Wijs,et al.  What to do next? Analysing and optimising system behaviour in time , 2007 .

[31]  Jason Nieh,et al.  pTHINC: a thin-client architecture for mobile wireless web , 2006, WWW '06.

[32]  Thomas Ball,et al.  Mawl: A Domain-Specific Language for Form-Based Services , 1999, IEEE Trans. Software Eng..

[33]  Scw Bas Ploeger,et al.  Improved verification methods for concurrent systems , 2009 .

[34]  Philip Wadler,et al.  Links: Web Programming Without Tiers , 2006, FMCO.

[35]  Hasan Sözer,et al.  Architecting Fault-Tolerant Software Systems , 2009 .

[36]  Russell W. Quong,et al.  ANTLR: A predicated‐LL(k) parser generator , 1995, Softw. Pract. Exp..

[37]  James D. Davidson,et al.  Java Servlet Specification, v2.2 , 1999 .

[38]  Fernanda Lima,et al.  Modeling Applications for the Semantic Web , 2003, ICWE.

[39]  Paul Hudak,et al.  Functional reactive programming from first principles , 2000, PLDI '00.

[40]  Julie Beth Lovins,et al.  Development of a stemming algorithm , 1968, Mech. Transl. Comput. Linguistics.

[41]  Torbjörn Ekman,et al.  Rewritable Reference Attributed Grammars , 2004, ECOOP.

[42]  Gabriel Sofonea,et al.  Web-IDE , 2008 .

[43]  Mark van den Brand,et al.  TIDE: A Generic Debugging Framework - Tool Demonstration , 2005, Electron. Notes Theor. Comput. Sci..

[44]  R. Bakhshi Gossiping Models : Formal Analysis of Epidemic Protocols , 2011 .

[45]  M. J. de Mol,et al.  Reasoning about functional programs : Sparkle, a proof assistant for Clean , 2009 .

[46]  Ankita Arvind Kejriwal MobiDSL-a Domain Specific Language for Mobile Web Applications : developing applications for mobile platform without web programming , 2009 .

[47]  Jr. T. B. Steel,et al.  A first version of UNCOL , 1899, IRE-AIEE-ACM '61 (Western).

[48]  Eelco Visser,et al.  Declarative Access Control for WebDSL: Combining Language Integration and Separation of Concerns , 2008, 2008 Eighth International Conference on Web Engineering.

[49]  Claus Brabrand,et al.  The < bigwig > Project , 2022 .

[50]  van Mf Marcel Amstel,et al.  Assessing and improving the quality of model transformations , 2012 .

[51]  Tim K. Cocx,et al.  Metrics and visualisation for crime analysis and genomics , 2005 .

[52]  Eelco Visser,et al.  Separation of Concerns and Linguistic Integration in WebDSL , 2010, IEEE Software.

[53]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[54]  Jasen Markovski,et al.  Real and stochastic time in process algebras for performance evaluation , 2008 .

[55]  K. Tsirogiannis,et al.  Analysis of flow and visibility on triangulated terrains , 2011 .

[56]  van Mj Muck Weerdenburg,et al.  Efficient rewriting techniques , 2009 .

[57]  Eelco Visser,et al.  Program Transformation with Scoped Dynamic Rewrite Rules , 2006, Fundam. Informaticae.

[58]  Marcin Czenko,et al.  TuLiP : reshaping trust management , 2009 .

[59]  Somayeh Malakuti Khah Olun Abadi Event composition model: achieving naturalness in runtime enforcement , 2011 .

[60]  Young-Joo Moon,et al.  Stochastic models for quality of service of component connectors , 2011 .

[61]  Luigi Semenzato The High-Level Intermediate Language L , 1993 .

[62]  Vinay Kulkarni,et al.  An abstraction for reusable MDD components: model-based generation of model-based code generators , 2008, GPCE '08.

[63]  Farhad Arbab,et al.  Model Checking of Component Connectors , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[64]  van der Wmp Wil Aalst,et al.  Workflow resource patterns , 2004 .

[65]  Eelco Visser,et al.  Static consistency checking of web applications with WebDSL , 2011, J. Symb. Comput..

[66]  Lennart C. L. Kats,et al.  Building Blocks for Language Workbenches , 2011 .

[67]  Ling Cheung,et al.  Reconciling nondeterministic and probabilistic choices , 2006 .

[68]  Karina R. Olmos Joffré Strategies for Context Sensitive Program Transformation , 2009 .

[69]  Eelco Visser,et al.  Domain-Specific Language Engineering : A Case Study in Agile DSL Development (Mark I) , 2007 .

[70]  Miguel E. Andrés,et al.  Quantitative Analysis of Information Leakage in Probabilistic and Nondeterministic Systems , 2011, ArXiv.

[71]  Magiel Bruntink,et al.  Renovation of idiomatic crosscutting concerns in embedded systems , 2005 .

[72]  Terence John Parr,et al.  Enforcing strict model-view separation in template engines , 2004, WWW '04.

[73]  A. Rodriguez Yakushev,et al.  Towards Getting Generic Programming Ready for Prime Time , 2009 .

[74]  Hugo Jonker,et al.  Security matters : privacy in voting and fairness in digital exchange , 2009 .

[75]  de Ism Ivo Jong Integration and test strategies for complex manufacturing machines , 2008 .

[76]  Tim K. Cocx,et al.  Algorithmic tools for data-oriented law enforcement , 2009 .

[77]  Ileana Buhan,et al.  Cryptographic keys from noisy data, theory and applications , 2008 .

[78]  Shan Shan Huang,et al.  Generating AspectJ Programs with Meta-AspectJ , 2004, GPCE.

[79]  Wil M.P. van der Aalst,et al.  YAWL: yet another workflow language , 2005, Inf. Syst..

[80]  Eelco Visser,et al.  The spoofax language workbench: rules for declarative specification of languages and IDEs , 2010, OOPSLA.

[81]  Jason Nieh,et al.  Improving web browsing performance on wireless pdas using thin-client computing , 2004, WWW '04.

[82]  Ichiro Hasuo,et al.  Tracing Anonymity with Coalgebras , 2008 .

[83]  Nikolay Kavaldjiev,et al.  A run-time reconfigurable Network-on-Chip for streaming DSP applications , 2006 .

[84]  Mike Potel,et al.  MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java , 1996 .

[85]  Activité ad‐hoc Types de tâches Introduction to BPMN , 2004 .

[86]  Sebastiaan Gijsbert Marinus Cornelissen,et al.  Evaluating Dynamic Analysis Techniques for Program Comprehension , 2009 .

[87]  C.-B. Breunesse On JML: topics in tool-assisted verification of Java programs , 2006 .

[88]  Ali Mesbah,et al.  Analysis and Testing of Ajax-based Single-page Web Applications , 2009 .

[89]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[90]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[91]  Nora Koch,et al.  UWE4JSF: A Model-Driven Generation Approach for Web Applications , 2009, ICWE.

[92]  U Uzma Khadim,et al.  Process algebras for hybrid systems : comparison and development , 2008 .

[93]  Arie van Deursen,et al.  Crawling AJAX by Inferring User Interface State Changes , 2008, 2008 Eighth International Conference on Web Engineering.

[94]  Marius Adrian Marin,et al.  An Integrated System to Manage Crosscutting Concerns in Source Code , 2008 .

[95]  Eelco Visser,et al.  PIL: A Platform Independent Language for Retargetable DSLs , 2009, SLE.

[96]  Shriram Krishnamurthi,et al.  Flapjax: a programming language for Ajax applications , 2009, OOPSLA 2009.

[97]  Eelco Visser,et al.  Meta-programming with Concrete Object Syntax , 2002, GPCE.

[98]  Jean Bézivin,et al.  Platform independent Web application modeling and development with Netsilon , 2005, Software & Systems Modeling.

[99]  Eelco Visser,et al.  The Spoofax language workbench , 2010, SPLASH/OOPSLA Companion.

[100]  Mark van den Brand,et al.  Repleo: a syntax-safe template engine , 2007, GPCE '07.

[101]  A. G. Kleppe,et al.  Building a Flexible Software Factory Using Partial Domain Specific Models , 2006, OOPSLA 2006.

[102]  Ioannis Stamelos,et al.  A controlled experiment investigation of an object-oriented design heuristic for maintainability , 2004, J. Syst. Softw..

[103]  Z Zvezdan Protic,et al.  Configuration management for models : generic methods for model comparison and model co-evolution , 2011 .

[104]  van Mpwj Michiel Osch Model-based testing of hybrid systems , 2007 .

[105]  Anders Møller,et al.  JWIG: Yet Another Framework for Maintainable and Secure Web Applications , 2009, WEBIST.

[106]  Eelco Visser,et al.  WebDSL: A Case Study in Domain-Specific Language Engineering , 2007, GTTSE.

[107]  Sorin Lerner,et al.  Deep typechecking and refactoring , 2008, OOPSLA '08.

[108]  Eelco Visser,et al.  When Frameworks Let You Down: Platform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages , 2008, OOPSLA 2008.

[109]  Arie van Deursen,et al.  Little languages: little maintenance , 1998 .

[110]  EM Elena Bortnik,et al.  Formal methods in support of SMC design , 2008 .

[111]  Eelco Visser,et al.  Domain-Specific Languages for Composable Editor Plugins , 2010, Electron. Notes Theor. Comput. Sci..

[112]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

[113]  Martin R. Neuhäußer,et al.  Model checking nondeterministic and randomly timed systems , 2010 .

[114]  Martin Bravenboer,et al.  Exercises in Free Syntax. Syntax Definition, Parsing, and Assimilation of Language Conglomerates , 2003 .

[115]  Iris Groher,et al.  Handling Variability in Model Transformations and Generators , 2007 .

[116]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[117]  C. J. Boogerd,et al.  Focusing Automatic Code Inspections , 2010 .

[118]  A B S T R Preventing Injection Attacks with Syntax Embeddings , .

[119]  Flavio D. Garcia Formal and Computational Cryptography: Protocols, Hashes and Commitments , 2008 .

[120]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[121]  J. Kwisthout,et al.  The Computational Complexity of Probabilistic Networks , 2009 .

[122]  de Hayco Jong Flexible heterogeneous software systems , 2007 .

[123]  Daniel Schwabe,et al.  Rapid prototyping of web applications combining domain specific languages and model driven design , 2006, ICWE '06.

[124]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[125]  M. Kyas Verifying OCL Specifications of UML models , 2006 .

[126]  Eric Van Wyk,et al.  Attribute Grammar-Based Language Extensions for Java , 2007, ECOOP.

[127]  Paul Brauner,et al.  Term-graph Rewriting in Tom Using Relative Positions , 2008, Electron. Notes Theor. Comput. Sci..

[128]  Taolue Chen Clocks, Dice and Processes , 2009 .

[129]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[130]  Mohammad Ali Abam New data structures and algorithms for mobile data , 2007 .

[131]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[132]  Eelco Visser,et al.  Integration of data validation and user interface concerns in a DSL for web applications , 2009, Software & Systems Modeling.

[133]  Hui Wu,et al.  Grammar-driven generation of domain-specific language debuggers , 2008 .

[134]  Eelco Visser,et al.  Building program optimizers with rewriting strategies , 1998, ICFP '98.

[135]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[136]  陈立兵 IntelliJ IDEA——开发人员利器 , 2009 .

[137]  Nora Koch,et al.  Model-Driven Generation of Web Applications in UWE , 2007, MDWE.

[138]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[139]  Tingting Han,et al.  Diagnosis, Synthesis and Analysis of Probabilistic Models , 2009, Ausgezeichnete Informatikdissertationen.

[140]  Paloma Cáceres,et al.  A MDA-Based Approach for Web Information System Development , 2004 .

[141]  Jens R. Calamé,et al.  Testing reactive systems with data: enumerative methods and constraint solving , 2008 .

[142]  Gheorghe Paun Spiking Neural P Systems: A Tutorial , 2007, Bull. EATCS.

[143]  van der Wmp Wil Aalst,et al.  Workflow control-flow patterns : a revised view , 2006 .

[144]  Eelco Visser,et al.  Scannerless Generalized-LR Parsing , 1997 .

[145]  Martin Richards The portability of the BCPL compiler , 1971, Softw. Pract. Exp..

[146]  J. K. Berendsen,et al.  Abstraction, prices and probability in model checking timed automata , 2010 .

[147]  Joost Noppen,et al.  Imperfect Information in Software Design Processes , 2007 .

[148]  Paul Klint A Meta-Environment for Generating Programming Environments , 1989, Algebraic Methods.

[149]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[150]  Jon Louis Bentley,et al.  Programming pearls: little languages , 1986, CACM.

[151]  B. Gebremichael-Tesfagiorgis,et al.  Expressivity of Timed Automata Models , 2006 .

[152]  Siegfried Nijssen Mining Structured Data , 2006 .

[153]  A Adam Koprowski,et al.  Termination of rewriting and its certification , 2004 .

[154]  Christian Krause,et al.  Reconfigurable Component Connectors , 2011 .

[155]  Jean Bézivin,et al.  Platform Independent Web Application Modeling , 2003, UML.

[156]  Eelco Visser,et al.  Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9 , 2003, Domain-Specific Program Generation.

[157]  E. Visser,et al.  Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems , 2003 .

[158]  Jordi Cabot,et al.  Automatic generation of workflow-extended domain models , 2007, MODELS'07.

[159]  Pierre-Etienne Moreau,et al.  Tom: Piggybacking Rewriting on Java , 2007, RTA.

[160]  Vicente Pelechano,et al.  A transformational approach to produce web application prototypes from a web requirements model , 2007, Int. J. Web Eng. Technol..

[161]  Ronald Middelkoop,et al.  Capturing and exploiting abstract views of states in OO verification , 2011 .

[162]  Arthur I. Baars,et al.  Embedded Compilers , 2009 .

[163]  Stephanie Kemper,et al.  Modelling and analysis of real-time coordination patterns , 2011 .

[164]  Amit P. Sheth,et al.  WebWork: METEOR2's Web-Based Workflow Management System , 1998, Journal of Intelligent Information Systems.

[165]  Jean Bézivin,et al.  Applying MDA approach for Web service platform , 2004, Proceedings. Eighth IEEE International Enterprise Distributed Object Computing Conference, 2004. EDOC 2004..

[166]  Eelco Visser,et al.  WebWorkFlow: An Object-Oriented Workflow Modeling Language for Web Applications , 2008, MoDELS.

[167]  Oscar Pastor,et al.  OOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models , 2003 .

[168]  RH Rudolf Mak,et al.  Design and performance analysis of data-independent stream processing systems , 2008 .

[169]  Marlon Dumas,et al.  UML Activity Diagrams as a Workflow Specification Language , 2001, UML.

[170]  Yanjing Wang,et al.  Epistemic Modelling and Protocol Dynamics , 2010 .

[171]  D. Hollingsworth The workflow Reference Model , 1994 .

[172]  Aad Mathssen,et al.  Logical Calculi for Reasoning with Binding , 2008 .

[173]  Steve Cook,et al.  Domain-Specific Development with Visual Studio DSL Tools , 2007 .

[174]  R.S.S. O'Connor,et al.  Incompleteness & completeness : formalizing logic and analysis in type theory , 2005 .

[175]  Ricardo Corin,et al.  Analysis Models for Security Protocols , 2006 .

[176]  Marcel Verhoef,et al.  Modeling and validating distributed embedded real-time control systems , 2009 .

[177]  Eelco Visser,et al.  Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions , 2004, OOPSLA '04.

[178]  J. Ketema,et al.  Bohm-Like Trees for Rewriting , 2006 .

[179]  Cfj Christian Lange,et al.  Assessing and improving the quality of modeling : a series of empirical studies about the UML , 2007 .

[180]  R. Kent Dybvig,et al.  A nanopass infrastructure for compiler education , 2004, ICFP '04.

[181]  Sam Ruby,et al.  RESTful Web Services , 2007 .

[182]  Bahareh Badban,et al.  Verification Techniques for Extensions of Equality Logic , 2006 .

[183]  A. Morali,et al.  IT architecture-based confidentiality risk assessment in networks of organizations , 2011 .

[184]  S. Georgievska Probability and Hiding in Concurrent Processes ( thesis abstract ) , 2011 .

[185]  J. Endrullis Termination and Productivity , 2010 .

[186]  Mohammed G. Khatib MEMS-Based Storage Devices : Integration in Energy-Constrained Mobile Systems , 2009 .

[187]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[188]  Lacramioara Astefanoaei,et al.  An executable theory of multi-agent systems refinement , 2011 .

[189]  Martin Andersson,et al.  Student paper: HaskellDB improved , 2004, Haskell '04.

[190]  Arjen van Weelden,et al.  Putting Types To Good Use , 2007 .

[191]  A. J. Markvoort Towards hybrid molecular simulations , 2006 .

[192]  Gürcan Gülesir,et al.  Evolvable Behavior Specifications Using Context-Sensitive Wildcards , 2008 .

[193]  J. van den Berg,et al.  Reasoning about Java programs in PVS using JML , 2009 .

[194]  Tomas Krilavicius,et al.  Hybrid Techniques for Hybrid Systems , 2006 .

[195]  Emmanuele Zambon,et al.  Towards optimal IT availability planning: methods and tools , 2011 .

[196]  Eelco Visser,et al.  Stratego/XT 0.17. A language and toolset for program transformation , 2008, Sci. Comput. Program..

[197]  Marinus J. Plasmeijer,et al.  iTasks: executable specifications of interactive work flow systems for the web , 2007, ICFP '07.

[198]  Christopher W. Fraser,et al.  Code selection through object code optimization , 1984, TOPL.

[199]  Diomidis Spinellis,et al.  Notable design patterns for domain-specific languages , 2001, J. Syst. Softw..

[200]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[201]  B. J. Arnoldus,et al.  An illumination of the template enigma : software code generation with templates , 2011 .

[202]  Tijs van der Storm,et al.  Mod4J: a qualitative case study of model-driven software development , 2010, MODELS'10.

[203]  Gustavo Rossi,et al.  Systematic hypermedia application design with OOHDM , 1996, HYPERTEXT '96.

[204]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[205]  Shan Shan Huang,et al.  Easy language extension with meta-aspectJ , 2006, ICSE.

[206]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[207]  José Proença,et al.  Synchronous Coordination of Distributed Components , 2011 .

[208]  Heiko Behrens MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices , 2010, SPLASH/OOPSLA Companion.

[209]  Eelco Visser,et al.  A survey of strategies in rule-based program transformation systems , 2005, J. Symb. Comput..

[210]  Nora Koch,et al.  The Authoring Process of the UML-based Web Engineering Approach , 2000 .

[211]  Martijn Hendriks,et al.  Model checking timed automata : techniques and applications , 2006 .

[212]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[213]  Wolter Pieters,et al.  La volonté machinale: understanding the electronic voting controversy , 2008 .

[214]  Johann Eder,et al.  The Workflow Management System Panta Rhei , 1998 .

[215]  D. Graaf,et al.  Mining semi-structured data, theoretical and experimental aspects of pattern evaluation , 2008 .

[216]  Eelco Visser,et al.  Syntax definition for language prototyping , 1997 .

[217]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[218]  Anders Sandholm,et al.  A type system for dynamic Web documents , 2000, POPL '00.

[219]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

[220]  Robert Brijder,et al.  Models of natural computation : gene assembly and membrane systems , 2008 .

[221]  Henrik Nilsson,et al.  Functional reactive programming, continued , 2002, Haskell '02.

[222]  M Muhammad Atif,et al.  Formal modeling and verification of distributed failure detectors , 2011 .

[223]  Manuel E. Benitez,et al.  A portable global optimizer and linker , 1988, PLDI '88.

[224]  van Pja Paul Tilburg From computability to executability : a process-theoretic view on automata theory , 2011 .

[225]  T. D. Vu,et al.  Semantics and applications of process and program algebra , 2007 .

[226]  G Giovanni Russello,et al.  Separation and adaptation of concerns in a shared data space , 2006 .

[227]  Thomas Bäck,et al.  Mixed-integer evolution strategies for parameter optimization and their applications to medical image analysis , 2005 .

[228]  D. Costa Formal models for component connectors , 2010 .

[229]  Peter Verbaan,et al.  The Computational Complexity of Evolving Systems , 2006 .

[230]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[231]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[232]  Eelco Visser,et al.  Code Generation by Model Transformation , 2008, ICMT@TOOLS.

[233]  Anton Wijs,et al.  Silent steps in transition systems and Markov chains , 2007 .

[234]  H. Hansen Coalgebraic Modelling : Applications in Automata theory and Modal logic , 2009 .

[235]  Geert-Jan Houben,et al.  Hera-S: web design using sesame , 2006, ICWE '06.

[236]  Bastiaan Stephan Graaf,et al.  Model-Driven Evolution of Software Architectures , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[237]  Harmen Kastenberg Graph-based software specification and verification , 2008 .

[238]  M. T. de Berg,et al.  Multi-functional geometric data structures , 2003 .

[239]  M. G. van der Horst,et al.  Scalable block processing algorithms , 2008 .

[240]  Dmitri Jarnikov,et al.  QoS framework for video streaming in home networks , 2007 .

[241]  Hendrik Michaël van der Bijl,et al.  On changing models in model-based testing , 2011 .

[242]  Mari Antonius Cornelis Dekker,et al.  Flexible Access Control for Dynamic Collaborative Environments , 2009 .

[243]  Mohammad Mahdi Jaghoori,et al.  Time At Your Service: Schedulability Analysis of Real-Time and Distributed Services , 2010 .

[244]  Eelco Visser,et al.  Code generation by model transformation: a case study in transformation modularity , 2008, Software & Systems Modeling.

[245]  Tom Staijen,et al.  Graph-based Specification and Verification for Aspect-Oriented Languages , 2010 .

[246]  Antony Courtney,et al.  Genuinely Functional User Interfaces , 2001 .

[247]  M. T. de Berg,et al.  Algorithms for Fat Objects: Decompositions and Applications , 2004 .

[248]  AJ Arjan Mooij,et al.  Constructive formal methods and protocol standardization , 2006 .

[249]  S. Jones,et al.  A Transformation-Based Optimiser for Haskell , 1998, Sci. Comput. Program..

[250]  Flavius Frasincar,et al.  Engineering Semantic Web Information Systems in Hera , 2003, J. Web Eng..

[251]  van der Wmp Wil Aalst,et al.  Workflow data patterns , 2004 .

[252]  Ivan S. Zapreev Model checking Markov chains : techniques and tools , 2008 .

[253]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[254]  Eelco Visser,et al.  Mixing source and bytecode: a case for compilation by normalization , 2008, OOPSLA.

[255]  Tian Zhao,et al.  ScalaQL: Language-Integrated Database Queries for Scala , 2009, SLE.

[256]  Diomidis Spinellis,et al.  Lightweight Languages as Software Engineering Tools , 1997, DSL.

[257]  Claus Brabrand,et al.  Static validation of dynamically generated HTML , 2001, PASTE '01.