Name Implementation Language Active; Passive [1] Model[1] Typical input Other input Typical output Acceleo Java Active Tier User-defined EMF based models (UML, Ecore, user defined metamodels) Any EMF based input (Xtext DSLs, GMF graphical models, etc.) Any textual language. actifsource Java Active Tier User-defined Models Import from UML, Ecore. Any textual language. DMS Software Reengineering Toolkit Several code generation DSLs (attribute grammars, tree patterns, source-to-source rewrites) Active DSLs represented as abstract syntax trees DSL instance Well-formed output language code fragments Any programming language (proven for C, C++, Java, C#, PHP, COBOL) gSOAP C / C++ WSDL specifications C / C++ code that can be used to communicate with WebServices. XML with the definitions obtained. Microsoft Visual Studio LightSwitch C# / VB.NET Active Tier Database schema Complete Silverlight application (Desktop or Web) Pro*C Inline SQL in C C Scriptcase PHP, JavaScript Active Tier Complete application (Web/Mobile) and build or use the database schema PHP, HTML, JavaScript, Ajax, Full Web application ready to use (PHP and Javascript) with Interface layer, service layer, PHP, CSS. etc. and Database scripts to apply. Spring Roo Java Active Tier Java and automatically introspected project metadata Shell commands Java (Full Web Application including Java source, AspectJ source, XML, JSP, Spring application contexts, build tools, property files, etc.) T4 Passive T4 Template/Text File Any text format such as XML, XAML, C# files or just plain text files. Umple Umple, Java, Javascript, PHP Active Tier Umple code embedding one or more of Java, Python, C++, PHP or Ruby Pure Umple code describing associations, patterns, state machines, etc. Java, Python, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI, USE, NuXMV, Alloy Velocity apache Java Passive [2] Tier Templates Java driver code Any text Yii2 Gii PHP Active Tier Database schema, user input, source code Skeleton application, CRUD applications