<!DOCTYPE html>
<html>

  <head>
	<meta charset="UTF-8">
	<title>Xtext - Community</title>
	
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description"
		content="The website of Eclipse Xtext, an open-source framework for development of programming languages and domain-specific languages">
	<meta name="author" content="Sven Efftinge">
	<meta name="author" content="Miro Spoenemann">
	<!--  styles -->
	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
	<!--[if lt IE 9]>
	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	
	<!-- Le fav and touch icons -->
	<link rel="shortcut icon" href="/Xtext/images/favicon.png">
	
	<link href="/Xtext/css/bootstrap.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/bootstrap-responsive.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/shield-responsive.css" rel="stylesheet" type='text/css'>
	<link href='/Xtext/css/fonts.css' rel='stylesheet' type='text/css'>
	<link href="/Xtext/css/prettyPhoto.css" rel="stylesheet" media="screen" type='text/css'>
	<link href="/Xtext/css/prettify.css" type="text/css" rel="stylesheet"/>
	<link href="/Xtext/css/style.css" rel="stylesheet" type='text/css'>
	<!-- cover flow -->
	<link href="/Xtext/css/coverflow.css" rel="stylesheet" type='text/css'>
	<!--[if lt IE 9]>
	  <link href="/css/iebugs.css" rel="stylesheet" type='text/css'>
	<![endif]-->

	<!-- BEGIN Cookie Consent
	<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
	<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
	<script>
	window.addEventListener("load", function(){
	window.cookieconsent.initialise({
		"palette": {
		"popup": {
		  "background": "#000"
		},
		"button": {
		  "background": "#f1d600"
		}
		},
		"theme": "edgeless",
		"type": "opt-in",
		onInitialise: function (status) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		},
		onStatusChange: function(status, chosenBefore) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		}, 
		onRevokeChoice: function() {
		  var type = this.options.type;
		  if (type == 'opt-in') {
		    // TODO: disable cookies
		  }
		  if (type == 'opt-out') {
		    // TODO: enable cookies
		  }
		},
		"content": {
		"href": "http://www.eclipse.org/legal/privacy.php"
		}
	})});
	</script>
	END Cookie Consent -->
</head>


  <body>
  
    <header class="site-header">

  <!-- Navbar -->
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse"
          data-target=".nav-collapse"> <span class="icon-bar"></span> <span
          class="icon-bar"></span> <span class="icon-bar"></span>
        </a> <a class="brand" href="/Xtext/index.html"></a>
        <div class="nav-collapse collapse" style="height: 0px;">
          <ul class="nav">
            <!--li ><a href="/Xtext/news.html">News</a></li-->
            <li ><a href="/Xtext/download.html">Download</a></li>
            <li ><a href="/Xtext/documentation/index.html">Documentation</a></li>
            <li ><a href="/Xtext/community.html">Community</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Support &amp; Trainings<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://www.itemis.com/en/xtext/support-and-team/" target="_blank">itemis</a></li>
                <li><a href="https://typefox.io/trainings-2" target="_blank">TypeFox</a></li>
              </ul>
            </li>
            <li ><a href="http://xtend-lang.org">Xtend</a></li>
          </ul>
          <!--div class="nav pull-right">
            <li ><a><iframe src="https://ghbtns.com/github-btn.html?user=eclipse&repo=xtext&type=star&count=true" frameborder="0" scrolling="0" width="170px" height="20px"></iframe></a></li>
          </div-->
        </div>
        <!--/.nav-collapse -->
      </div>
    </div>
  </div>
  <!-- Navbar End -->

</header>


    	<div id="page">
		<div id="team" class="container clearfix">
			<h2>Resources</h2>
				<hr>
			<div class="row">
				<div class="span1">&nbsp;</div>
				<div class="span9 team">
					<a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=27" class="anchor-in-div"></a>
					<div class="row">
						<div class="span1 ">
							<img src="/Xtext/images/discussion-circ-darkgray.png" alt="image" class="image_left">
						</div>
						<div class="span2 ">
							<h3>Forum</h3>
						</div>
					<div class="span6 ">
						<p>The <strong>Xtext forum</strong> is the first source for getting answers in case you got stuck.
						The community is very friendly.</p>
					</div>
					</div>
				</div>
				<div class="span1">&nbsp;</div>
			</div>
			<div class="row">
				<div class="span1">&nbsp;</div>
				<div class="span9 team">
					<a href="https://github.com/eclipse/xtext/blob/master/CONTRIBUTING.md#report-an-issue" class="anchor-in-div"></a>
					<div class="row">
						<div class="span1 ">
							<img src="/Xtext/images/bug-circ-darkgray.png" alt="image" class="image_left">
						</div>
						<div class="span2 ">
							<h3>Found a Bug?</h3>
						</div>
					<div class="span6 ">
						<p>Bug reports and enhancement request are tracked at <strong>GitHub.org</strong>. Please 
						explain the problem and provide a reduced but reproducible example.</p>
					</div>
					</div>
				</div>
				<div class="span1">&nbsp;</div>
			</div>
			<div class="row">
				<div class="span1">&nbsp;</div>
				<div class="span9 team">
					<a href="https://github.com/eclipse/xtext" class="anchor-in-div"></a>
					<div class="row">
						<div class="span1 ">
							<img src="/Xtext/images/github-mark-darkgray.png" alt="image" class="image_left">
						</div>
						<div class="span2 ">
							<h3>Github</h3>
						</div>
						<div class="span6 ">
							<p>The Xtext source code is available on <strong>GitHub</strong>. You'll find more information on how to contribute to the project in the README.md contained there.</p>
						</div>
					</div>
				</div>
				<div class="span1">&nbsp;</div>
			</div>
			<div class="row">
				<div class="span1">&nbsp;</div>
				<div class="span9 team">
					<a href="https://twitter.com/intent/user?screen_name=Xtext" class="anchor-in-div"></a>
					<div class="row">
						<div class="span1 ">
							<img src="/Xtext/images/Twitter-bird-darkgray.png" alt="image" class="image_left">
						</div>
						<div class="span2 ">
							<h3>Twitter</h3>
						</div>
						<div class="span6 ">
							<p>If you are on twitter and want to get notified about Xtext, you should consider following <strong>@Xtext</strong>.</p>
						</div>
					</div>
				</div>
				<div class="span1">&nbsp;</div>
			</div>
		</div>
		<br/><br/>
		<div id="zoo" class="container">
			<span class="edit-on-github pull-right">
				<a href="https://github.com/eclipse/xtext/edit/website-published/xtext-website/community.html">Add your project!</a>
			</span>
			<h2>What others have built with Xtext</h2>
			<hr>
			<table class="table table-striped table-condensed">
				<thead>
					<tr>
						<th>Name</th>
						<th>Description</th>
						<th>License</th>
						<th>Category</th>
						<th>Author(s)</th>
					</tr>
				</thead>
				<tbody>

					<tr>
						<td><a href="https://github.com/INTO-CPS-Association/hybrid-cosim">A DSL for Semantic Adaptation</a></td>
						<td>This language allows for quick and sound adaptations to be made for co-simulation units implementing the FMI standard for co-simulation.</td>
						<td>INTO-CPS Association Public License</td>
						<td>Framework</td>
						<td>INTO-CPS Association</td>
					</tr

					<tr>
						<td><a href="http://gemoc.org/ale-lang/">Action Language for EMF</a></td>
						<td>ALE (Action Language for EMF) is an interpreted language to define behaviors on the top of Ecore metamodels. In other words, it makes Ecore metamodels executable.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Fabien Coulon, Didier Vojtisek, Emmanuel Chebbi, Pierre Jeanjean, Erwan Bousse, Benoit Combemale</td>
					</tr>

					<tr>
						<td><a href="http://www.arakhne.org/afc">AFC</a></td>
						<td>AFC is a Java library that provides mathematic primitives, and other useful utility tools. The mathematic primitives
							(vector, point, matrix, shape, etc.) are providing operator overridings for Xtext-based languages.</td>
						<td>Apache 2 License</td>
						<td>Library</td>
						<td>St&eacute;phane Galland, et al</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/p/alloy4eclipse/">alloy4eclipse</a></td>
						<td>Specification and analysis of models in the Alloy4 language on
							the Eclipse platform.</td>
						<td>LGPL</td>
						<td>Language</td>
						<td>Mohamed Bouragba, Mohamed Said, Maxime Kapusta and Yoann Vasseur</td>
					</tr>

					<tr>
						<td><a href="https://github.com/unicesi/amelia">Amelia DSL</a></td>
						<td>Amelia is a compact DSL tailored for specifying and executing deployment workflows for distributed software systems.</td>
						<td>LGPL-3.0</td>
						<td>Software Deployment</td>
						<td>Miguel Jiménez, Gabriel Tamura</td>
					</tr>

					<tr>
						<td><a href="http://applause.github.io/">APPlause</a></td>
						<td>Open source tool chain to produce native apps for different
							devices such as Android, iPhone and iPad.</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Heiko Behrens, Peter Friese, et al</td>
					</tr>

					<tr>
						<td><a href="http://www.artop.org/">ARText (part&nbsp;of&nbsp;Artop)</a></td>
						<td>ARText, a textual language for the specification of AUTOSAR
							systems. See the <a href="https://vimeo.com/16768196">very</a> <a href="https://vimeo.com/13154188">cool</a> <a href="https://vimeo.com/12080038">screencasts</a>.</td>
						<td>closed&nbsp;source</td>
						<td>Language</td>
						<td>Sebastian Benz, Dana Wong</td>
					</tr>

					<tr>
						<td><a href="https://co4e.com/assist">ASSIST - Architecture Synthesis for Safety-Critical Systems</a></td>
						<td>The ASSIST Tool Suite automates the design of complex and distributed control systems. It creates software deployments and task schedules based on a textual description of the system architecture and its safety and timing requirements.</td>
						<td>Commercial</td>
						<td>Eclipse IDE, System Modeling</td>
						<td>co4e GmbH</td>
					</tr>

					<tr>
						<td><a href="https://docs.avaloq.com/tools/asmd/solution_model_development.htm">Avaloq Solution Model Development (ASMD)</a></td>
						<td>ASMD is a model driven client-server system providing customization tooling for the Avaloq Banking Platform. It supports customization experts managing more than 100k source artefacts in more than 60 DSLs that describe the aspects and behaviour of financial institutions.</td>
						<td>Commercial</td>
						<td>Eclipse IDE</td>
						<td>Avaloq Solution Model Development and Compiler Framework team</td>
					</tr>

					<tr>
						<td><a href="https://github.com/CohesionForce/avro-toolkit">Avro Toolkit</a></td>
						<td>Framework for building Apache Avro schemas and converters from an EMF model.</td>
						<td>EPL 2.0</td>
						<td>Framework</td>
						<td>CohesionForce, Inc</td>
					</tr>

					<tr>
						<td><a href="https://github.com/balzac-lang/balzac">Balzac Language</a></td>
						<td>Balzac is a domain-specific language to write Bitcoin transactions. <a href="https://balzac-lang.xyz">Online editor</a> and <a href="https://docs.balzac-lang.xyz/">documentation</a>.</td>
						<td>Apache License 2.0</td>
						<td>Language</td>
						<td>Nicola Atzei</td>
					</tr>
					
					<tr>
						<td><a href="https://www.stat.ubc.ca/~bouchard/blang/">Blang</a></td>
						<td>Blang is a language and software development kit for doing Bayesian data analysis.</td>
						<td>BSD-2-Clause License</td>
						<td>Language</td>
						<td><a href="https://arxiv.org/pdf/1912.10396.pdf">Blang development team</a></td>
					</tr>

					<tr>
						<td><a href="https://i-bp.github.io/boem/">BOEM. Builder Of EMF Models</a></td>
						<td>The aim of BOEM is to provide an API that eases the creation of EMF Models using Xtend syntax and thus to create 'compiling' models. This helps to a) speed up the creation of tests, b) improve readability, c) improve maintainability when metamodels evolve and d) ease the creation of interconnected models.</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Arthur Daussy, Jacob Geisel</td>
					</tr>

					<tr>
						<td><a href="http://www.canappi.com">Canappi</a></td>
						<td>
							Canappi is a Development Hub, focusing on Mobile Application Development, that
							integrates tools, mobile platforms, libraries and back-end services. It is
							based on mdsl, a very compact mobile domain specific language. Platform
							specific code generation happens in on the ClougGen.org platform.
						</td>
						<td>Commercial</td>
						<td>Language</td>
						<td>Jean-Jacques Dubray</td>
					</tr>

					<tr>
						<td><a href="https://docs.avaloq.com/tools/compiler_framework.htm">Compiler Framework</a></td>
						<td>The Compiler Framework (CF) supports state of the art implementations of DSLs for the Avaloq Banking Platform with stand-alone generators for the target platform.</td>
						<td>Commercial</td>
						<td>Framework</td>
						<td>Avaloq Solution Model Development and Compiler Framework team</td>
					</tr>

					<tr>
						<td><a href="https://contextmapper.org">Context Mapper</a></td>
						<td>ContextMapper is an open source framework providing a Domain-specific Language (DSL) for strategic and tactic Domain-driven Design (DDD). It supports bounded context mapping, service decomposition, and PlantUML model generation. The framework components allow software architects and microservice designers to reverse engineers Context Maps from Spring Boot and Docker Compose files, to improve the architecture iteratively, and to convert models into other representations.</td>
						<td>Apache 2.0 License</td>
						<td>Language, Modeling Framework</td>
						<td><a href="https://stefan.kapferer.ch/">Stefan Kapferer</a>, <a href="https://www.ifs.hsr.ch/Olaf-Zimmermann.11623.0.html?&amp;L=4">Olaf Zimmermann</a></td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/p/dom3editor/">dom3editor</a></td>
						<td>
							This is a tool to help edit Dominions 3 mod files. It includes
							context coloring, code completion, error checking and integrated help. You can
							edit using the text editor or the form based entry view.
						</td>
						<td>GPL</td>
						<td>Language</td>
						<td>Larry Moore</td>
					</tr>

					<tr>
						<td><a href="https://github.com/dsldevkit/dsl-devkit">DSL Developer Kit and Runtime Library</a></td>
						<td>JDSL Developer Kit is an extension layer to Xtext built for active Xtext users. It extends Xtext runtime to handle more sophisticated cases in DSL design, to support scaling for larger models and better monitoring and recovery in headless frameworks based on Xtext. DDK comes with a few handy small DSLs helping to standardize implementations of tools for DSLs.
							See also the corresponding <a href="https://www.eclipsecon.org/europe2016/session/what-every-xtext-user-wished-know-industry-experience-implementing-80-dsls.html">session</a> on the EclipseCon Europe 2016 about this project.
						</td>
						<td>EPL 1.0</td>
						<td>Framework</td>
						<td>Avaloq Solution Model Development and Compiler Framework team</td>
					</tr>

					<tr>
						<td><a href="https://github.com/dslmeinte/Xtext2-DSLs">dslmeinte's example DSLs</a></td>
						<td>Various DSLs for technical domains (data modeling, dynamic screens, XSDs,
							WSDLs).</td>
						<td>MIT license</td>
						<td>Example</td>
						<td><a href="http://www.dslconsultancy.com/">Meinte Boersma</a></td>
					</tr>

					<tr>
						<td><a href="http://projects.eclipse.org/projects/modeling.emft.b3/">Eclipse b3</a></td>
						<td>New generation of Eclipse technology to simplify software build and assembly.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Henrik Lindberg</td>
					</tr>

					<tr>
						<td><a href="https://github.com/eclipse/gef/wiki/DOT-User-Guide">Eclipse GEF DOT</a></td>
						<td><a href="https://graphviz.org/doc/info/lang.html">Graphviz DOT language</a> editor. For further information watch the
							<a href="https://www.youtube.com/watch?v=GnSVLNYfGlk">recorded GEF DOT session</a> on the EclipseCon Europe 2018.</td>
						<td>EPL-2.0</td>
						<td>Language, Framework</td>
						<td>Fabian Steeg, Michael Clay, Alexander Nyssen, Matthias Wienand, Tamas Miklossy, et al.</td>
					</tr>

					<tr>
						<td><a href="http://www.eclipse.org/gemoc">Eclipse GEMOC Studio</a></td>
						<td>The GEMOC Studio provides generic components for the development, integration, and use of heterogeneous executable modeling languages. It includes execution trace management, model animation, advanced debugging, and heterogeneous model coordination services.</td>
						<td>EPL</td>
						<td>Framework</td>
						<td><a href="https://projects.eclipse.org/projects/modeling.gemoc/who">GEMOC contributors</a></td>
					</tr>

					<tr>
						<td><a href="http://www.eclipse.org/elk">Eclipse Layout Kernel (ELK)</a></td>
						<td>ELK is a collection of diagram layout algorithms implemented in Java and provides ways for the algorithms to be easily used in Eclipse-based applications.</td>
						<td>EPL-2.0</td>
						<td>Library</td>
						<td>Ulf Rüegg, Christoph Daniel Schulze, Miro Spönemann, and lots of contributors</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/mita/">Eclipse Mita</a></td>
						<td>Eclipse Mita is a programming language that is focused on making Internet-Of-Things things easier to program, especially for developers without an embedded development background. It aims to increase programmer productivity, enables fast exploration of use-cases and tries to make you feel right at home on an embedded device.</td>
						<td>EPL-2.0</td>
						<td>Language, Embedded Systems</td>
						<td>Robin Herrmann, Thomas Kutzer, Simon Wegendt, Christian Weichel et al.</td>
					</tr>

					<tr>
						<td><a href="https://projects.eclipse.org/projects/modeling.emf.mwe">Eclipse Modeling Workflow Engine (MWE2)</a></td>
						<td>The modeling workflow engine supports orchestration of different Eclipse modeling components, such as reading EMF resources, performing operations/transformations on them and writing them back or generating any number of other artifacts out of the information.</td>
						<td>EPL-2.0</td>
						<td>Language, Framework</td>
						<td>Christian Dietrich, Dennis Huebner, Sebastian Zarnekow</td>
					</tr>

					<tr>
						<td><a href="https://projects.eclipse.org/projects/modeling.smartmdsd">Eclipse SmartMDSD Toolchain</a></td>
						<td>The SmartMDSD Toolchain is an Eclipse-based Integrated Development Environment (IDE) for the model-driven development of component-based robotics software. The SmartMDSD Toolchain provides support and guidance to apply structures and best-practices for the composition of software building blocks to robotics applications.</td>
						<td>EPL-2.0</td>
						<td>Eclipse Modeling Project</td>
						<td>Alex Lotz, Dennis Stampfer, Matthias Lutz, and Christian Schlegel</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/stem/">Eclipse STEM</a></td>
						<td>The Spatiotemporal Epidemiological Modeler (STEM) tool is designed to help scientists and public health officials create and use spatial and temporal models of emerging infectious diseases.</td>
						<td>EPL-2.0</td>
						<td>Eclipse Technology</td>
						<td><a href="https://wiki.eclipse.org/The_STEM_Development_Team">author(s)</a></td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/vorto/">Eclipse Vorto</a></td>
						<td>Eclipse Vorto offers a language to describe semantic models of digital twins, a repository to manage the semantic models, plugins to generate code or API documentation and payload mapping for telemetry data.</td>
						<td>EPL-2.0</td>
						<td>IoT, Language, Device Abstraction, Repository</td>
						<td>Alexander Edelmann, Menahem Raccah Lisei, Kevin Olotu, Somesh Kumar, Tobias Gauss, et al.</td>
					</tr>

					<tr>
						<td><a href="https://github.com/LorenzoBettini/edelta">Edelta</a></td>
						<td>An Xtext DSL for EMF metamodels refactoring and migration.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Lorenzo Bettini</td>
					</tr>

					<tr>
						<td><a href="http://elysium.thsoft.hu">Elysium</a></td>
						<td>LilyPond IDE for Eclipse.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Denes Harmath</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/emfcloud/#coffeeeditoroverview">EMF.cloud Coffee Editor</a></td>
						<td>An example web-based modeling tool using EMF.cloud technologies used for demonstration and documentation. Integrates Eclipse Theia, Xtext, Xtend, Eclipse GLSP, JSON Forms and the EMF.cloud model server.</td>
						<td>EPL 2.0</td>
						<td>Example</td>
						<td>Eugen Neufeld, Lucas Koehler, Martin Fleck, Philip Langer, Stefan Dirix, et al.</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/p/emf-customizer/">EMF&nbsp;Customizer</a></td>
						<td>EMF Customizer is a model (Ecore based)
							customization/styling/refining CSS like textual DSL (Domain Specific Language)
							targeting MDSD tool chains end users. </td>
						<td>EPL</td>
						<td>Language</td>
						<td>Cedric Vidal</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/emf-parsley">EMF&nbsp;Parsley</a></td>
						<td>EMF Parsley is an Eclipse project that provides a set of reusable UI components based on EMF.</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Lorenzo Bettini, Francesco Guidieri, Vincenzo Caselli</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/a/eclipselabs.org/p/emf-scaffolding/">EMF&nbsp;Scaffolding</a></td>
						<td>Implementation of the principle of dynamic inplace scaffolding
							with EMF presented in July 2009 <a href="http://www.slideshare.net/cedric.vidal/rmll-eclipse-acceleo-day-mdsd-scaffolding-and-acceleo-cdric-vidal-11">at Eclipse Acceleo Day</a>.
						</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Cedric Vidal and Jerome Benois</td>
					</tr>

					<tr>
						<td><a href="https://www.atlanmod.org/emfviews/">EMF&nbsp;Views</a></td>
						<td>EMF Views is an Eclipse plugin that brings the concept of database views to the modeling world. Model views (focusing on parts of a model and/or combining several models) can be created and then navigated/queried/used as regular models for further model transformation, code generation, etc.</td>
						<td>EPL, GPL</td>
						<td>Language, Framework</td>
						<td>Florent Marchand de Kerchove, Hugo Bruneliere</td>
					</tr>

					<tr>
						<td><a href="https://emoflon.org/">eMoflon</a></td>
						<td>eMoflon is a tool suite for Model-Driven Engineering (MDE) that provides a range of visual and formal languages for (meta)modelling and model management.</td>
						<td>GPL 3.0 and EPL-2.0</td>
						<td>Model Transformation Framework</td>
						<td>Anthony Anjorin, Sebastian Ehmes, Lars Fritsche, Nils Weidmann</td>
					</tr>

					<tr>
						<td><a href="http://www.eclipse.org/etrice/">eTrice</a></td>
						<td>eTrice is a Modeling Tool for distributed eventdriven realtime systems based on
							Realtime Object Oriented Modeling (ROOM), not UML. Textual and graphical ROOM
							editors, codegenerators and runtime libraries for Java, C++ and C
							will be provided.</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Henrik Rentz-Reichert, Thomas Schuetz</td>
					</tr>

					<tr>
						<td><a href="https://github.com/eventB-Soton/XEventB">Event-B CamilleX</a></td>
						<td>This feature provides Xtext-based editors for Event-B components within the Rodin Platform (http://wiki.event-b.org/). It also extends the Event-B method for compositional modelling.</td>
						<td>Eclipse Public License v1.0</td>
						<td>System Modelling</td>
						<td>Michael Butler, Dana Dghaym, Thai Son Hoang, Asieh Salehi-Fathabadi, Colin Snook</td>
					</tr>

					<tr>
						<td><a href="http://fj-eclipse.sourceforge.net/">fj-eclipse</a></td>
						<td>An Eclipse-based IDE for Featherweight Java, implemented using Xtext.</td>
						<td>GPL</td>
						<td>Language</td>
						<td>Lorenzo Bettini</td>
					</tr>

					<tr>
						<td><a href="http://opcoach.github.io/genModelAddon/">Genmodel addon</a></td>
						<td>This project is used to separate properly the EMF generated code and your developed code.</td>
						<td>Eclipse Public License 1.0</td>
						<td>Code Generator</td>
						<td>Olivier Prouvost (OPCoach) olivier@opcoach.com</td>
					</tr>

					<tr>
						<td><a href="https://github.com/cloudsmith/geppetto">Geppetto</a></td>
						<td>Integrated development environment for the Puppet System Admin tools. (The
							PP manifest language is Ruby like).</td>
						<td>EPL, Apache</td>
						<td>Language</td>
						<td>Henrik Lindberg, Cloudsmith Inc.</td>
					</tr>

					<tr>
						<td><a href="https://github.com/intuit/graphql-xtext">graphql-xtext</a></td>
						<td>A GraphQL SDL (schema definition language) lexer, parser, and validator that generates a traversable Abstract Syntax Tree from your GraphQL schema. GraphQL-Xtext will generate pure Java Objects that can be used at runtime.</td>
						<td>Apache 2 License</td>
						<td>Language</td>
						<td>Ashpak Shaikh, Bhavin Shah, Carlo Aureus, Samuel Ko</td>
					</tr>

					<tr>
						<td><a href="https://github.com/CohesionForce/hla-toolkit">HLA Toolkit</a></td>
						<td>Toolkit for working with High Level Architecture (HLA) Federated Object Models and generating a logging federate.</td>
						<td>EPL-2.0</td>
						<td>Framework</td>
						<td>CohesionForce, Inc</td>
					</tr>

					<tr>
						<td><a href="https://github.com/japkit/japkit">Japkit</a></td>
						<td>Japkit is an annotation processor that allows to develop Java code generators by using code templates written in Java with some annotations. There is no need to write any imperative code, which makes the code generators short and concise and so eases their maintenance.</td>
						<td>Apache 2 License</td>
						<td>Tool</td>
						<td>Stefan Ocke</td>
					</tr>

					<tr>
						<td><a href="http://community.jaspersoft.com/project/jaspersoft-studio">Jaspersoft Studio, Report Designer for JasperReports</a></td>
						<td>The Expression Editor allows to compose Java-like expressions enriched with JasperReports specific tokens. 
							The SQL Query Designer, in text mode, allows to edit simple and advanced SQL expressions.</td>
						<td>EPL</td>
						<td>Report Designer</td>
						<td>Jaspersoft Studio Team (Veaceslav Chicu, Massimo Rabbi, Marco Orlandin and Giulio Toffoli)</td>
					</tr>

					<tr>
						<td><a href="https://github.com/itemis/jbc">JBC</a></td>
						<td>JBC is an Eclipse plugin that enables the developer to view and edit files containing java byte code (*.class) inside Eclipse.</td>
						<td>EPL 1.0</td>
						<td>Developer Tool</td>
						<td>Arne Deutsch</td>
					</tr>

					<tr>
						<td><a href="http://jnario.org/">Jnario</a></td>
						<td>Executable Specifications for Java. See the XtextCast (<a href="http://xtextcasts.org/episodes/9-jnario-test-framework">slides</a>, <a href="https://www.youtube.com/watch?v=j-IouNAkGvw&feature=youtu.be">video</a>) and the <a href="https://www.youtube.com/watch?v=jCgPfxaY8XQ">recorded EclipseCon session</a> about this project.</td>
						<td>Eclipse Public License v1.0</td>
						<td>Testing, Test-driven Development (TDD)</td>
						<td>Sebastian Benz, Birgit Engelmann</td>
					</tr>

					<tr>
						<td><a href="http://www.jolie-lang.org/">Joliepse IDE</a></td>
						<td>Joliepse is an Integrated Development Environment (IDE) for the JOLIE
							programming language, the first full-fledged programming language based upon
							the service-oriented programming paradigm and support classes.</td>
						<td>GPL</td>
						<td>Language</td>
						<td>Diego Castronuovo (castronu at gmail dot com)</td>
					</tr>

					<tr>
						<td><a href="https://github.com/nittka/Jtag">Jtag</a></td>
						<td>Lightweight image tagging.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Alexander Nittka</td>
					</tr>

					<tr>
						<td><a href="https://diverse-project.github.io/k3/">Kermeta 3</a></td>
						<td>K3 is an extension of Xtend programming language. It allows to "re-open" the classes generated from an Ecore metamodel using annotations in order to weave new features and operations.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Inria/IRISA</td>
					</tr>

					<tr>
						<td><a href="http://www.rtsys.informatik.uni-kiel.de/en/research/kieler/">KIELER</a></td>
						<td>An evaluation platform for new methods in model-based software
							design (automatic layout, graphical / textual dynamic views, focus and context,
							simulation, codegen,...).</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Rtsys group, Dep. of Computer Science, Uni Kiel</td>
					</tr>

					<tr>
						<td><a href="https://github.com/mduft/lcdsl">Launch Configuration DSL (LcDsl)</a></td>
						<td>LcDsl provides a way of defining Eclipse launch configurations in a human readable textual form. This improves maintainability and eases versioning/merging of launch configurations.</td>
						<td>Eclipse Public License 1.0</td>
						<td>Eclipse IDE</td>
						<td>Markus Duft</td>
					</tr>

					<tr>
						<td><a href="http://amishne.github.io/llvm-ir-editor/">LLVM IR SDK</a></td>
						<td>A rich LLVM IR editor plugin for Eclipse.</td>
						<td>BSD</td>
						<td>Language</td>
						<td>Alon Mishne</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/p/llvm4e/">LLVM4e</a></td>
						<td>Xtext-based Eclipse editor for LLVM (Low Level Virtual Machine)
							Assembly Language *.ll files.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Cedric Vidal</td>
					</tr>

					<tr>
						<td><a href="http://logicals.com/">logi.CAD 3</a></td>
						<td>logi.CAD 3 is a tool for programming a wide variety of PLCs (Programmable Logic Controllers) according to the industry standard IEC 61131-3. It is an Eclipse RCP based (E3/E4) integrated development environment (IDE) using Xtext for implementing the editors for the IEC programming languages ST (Structured Text), FBD (Function Block Diagram) and SFC (Sequential Function Chart).</td>
						<td>Commercial</td>
						<td>Language</td>
						<td>logi.cals Austria (http://logicals.com)</td>
					</tr>

					<tr>
						<td><a href="http://mads.sourceforge.net">MADS</a></td>
						<td>
							MADS (Multipurpose Agricultural Data System) is a free open-source tool
							for modelling and analysis of agricultural activities - crops, livestock,
							forestry and others - in developing countries, at sector, regional or project
							level.
						</td>
						<td>EPL, GPL</td>
						<td>RCP Application</td>
						<td>Michel Simeon</td>
					</tr>

					<tr>
						<td><a href="https://github.com/xtext/maven-xtext-example">Maven Xtext Example</a></td>
						<td>A small example to show how to configure a Maven build for an Xtext language and how to use it from Maven and Gradle.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Christian Dietrich, Dennis Huebner</td>
					</tr>

					<tr>
						<td><a href="http://www.mechatronicuml.org">MechatronicUML Website</a>, <a href="https://svn-serv.cs.upb.de/mechatronicuml/">MechatronicUML SVN</a></td>
						<td>
							MechatronicUML is a free open-source tool suite 
							that offers language, process and tooling to design software for networked cyber-physical systems.
							We offer Xtext grammars for: Action Language, API Description, DOT/ Graphviz, LPSolve, MTCTL, Model Dependencies.
						</td>
						<td>EPL</td>
						<td>Language, Tool Suite</td>
						<td>Project Group Mechatronic Systems Design, Fraunhofer Institute for Production Technology IPT; Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn</td>
					</tr>

					<tr>
						<td><a href="http://melange.inria.fr/">Melange Language</a></td>
						<td>Melange is a language workbench that provides a modular approach for assembling, integrating, and customizing multiple domain-specific language (DSL) specifications and implementations.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>T. Degueule, F. Coulon, D. Vojtisek, E. Bousse, A. Blouin, et al</td>
					</tr>

					<tr>
						<td><a href="http://www.openhub.net/p/mod4j/">mod4j</a></td>
						<td>Open source DSL-based environment for developing administrative
							enterprise applications.</td>
						<td>EPL</td>
						<td>Language, Framework</td>
						<td>Jos Warmer</td>
					</tr>

					<tr>
						<td><a href="http://modulestudio.de/en">ModuleStudio</a></td>
						<td>A DSL with tooling based on Sirius and Xtext to describe structure and behaviour of web applications.
							The models are used to generate extensions for a PHP-based web application framework.</td>
						<td>closed&nbsp;source</td>
						<td>Language, Tool Suite</td>
						<td>Axel Guckelsberger</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/n4js/">N4JS</a></td>
						<td>N4JS is a general-purpose programming language based on ECMAScript with several additional features. In particular, N4JS adds a static type system as reliable as that of Java, but with the flexibility of JavaScript.</td>
						<td>EPL-1.0</td>
						<td>Language</td>
						<td>Eclipse N4JS Project, enfore AG</td>
					</tr>

					<tr>
						<td><a href="https://github.com/rlogiacco/Natural">Natural</a></td>
						<td>Natural is a collection of Eclipse plugins to enable rich smart editing of acceptance tests using natural language definition files. It currently supports Cucumber and JBehave syntax.</td>
						<td>Eclipse Public License 1.0</td>
						<td>BDD</td>
						<td>Roberto Lo Giacco, Aaron R. Miller</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/a/eclipselabs.org/p/nusmv-tools/">nusmv-tools</a></td>
						<td>The nusmv-tools project provides a set of tools for the model checker
							<a href="http://nusmv.fbk.eu/">NuSMV</a>. Xtext is used to create an Eclipse
							editor for the NuSMV input language. The editor is further enhanced by static
							analysis checks (shown as Eclipse error markers) performed by an OSGi-fied
							version of NuSMV itself. Watch the <a href="https://vimeo.com/21637768">screencast</a>.
						</td>
						<td>EPL</td>
						<td>Language</td>
						<td><a href="mailto://siamak@haschemi.org">Siamak Haschemi</a></td>
					</tr>

					<tr>
						<td><a href="http://wiki.eclipse.org/MDT/OCL">OCL</a></td>
						<td>Editors for OCL expressions, documents, libraries. Standalone or
							embedded in Ecore.</td>
						<td>EPL-2.0</td>
						<td>Language</td>
						<td>Ed Willink</td>
					</tr>

					<tr>
						<td><a href="https://github.com/atb/pt.isep.dsl.puml">PlantUML DSL</a></td>
						<td>An open-source and academic project which aim is to provide an Xtext-based DSL for PlantUML.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Alexandre Braganca</td>
					</tr>

					<tr>
						<td><a href="http://www.gentleware.com/poseidon-for-dsls.html">Poseidon for DSLs</a></td>
						<td>Framework for creating graphical tools for DSLs, based on internal
							Xtext models. Poseidon for UML 8.0 as a sample DSL platform.
						</td>
						<td>commercial</td>
						<td>Framework</td>
						<td>Gentleware AG</td>
					</tr>

					<tr>
						<td><a href="https://github.com/Protelis/Protelis">Protelis</a></td>
						<td>Protelis is a programming language aiming to produce reliable and robust collective behavior from uncoordinated local interactions among an assortment of different potentially mobile devices. Protelis is grounded on the paradigm of <i>aggregate programming</i>, a way of thinking about and decomposing problems that can be solved with a network of distributed sensors and computers.</td>
						<td>GPL with linking exception</td>
						<td>Language</td>
						<td>Danilo Pianini, Jacob Beal, Matteo Francia, and others</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/p/protobuf4e/">protobuf4e</a></td>
						<td>Editor for Google's Protocol Buffers data interchange file
							format. </td>
						<td>EPL</td>
						<td>Language</td>
						<td>Cedric Vidal</td>
					</tr>

					<tr>
						<td><a href="http://www.pxdoc.fr">pxDoc</a></td>
						<td>pxDoc is a Domain Specific Language to design document generators. Since it is based on Xbase, it allows to implement document generators for any data that can be accessed with Java.</td>
						<td>Commercial, free for personal use</td>
						<td>Language, Framework</td>
						<td>eXtreme Modeling Software</td>
					</tr>

					<tr>
						<td><a href="http://wiki.eclipse.org/QVTd">QVTc and QVTr</a></td>
						<td>Editors for QVT Core and Relational languages.</td>
						<td>EPL-2.0</td>
						<td>Language</td>
						<td>Ed Willink</td>
					</tr>

					<tr>
						<td><a href="https://github.com/LeKaitoW/raox">Rao X</a></td>
						<td>This project is an implementation of the RAO modeling language in Eclipse, using Xbase.</td>
						<td>MIT</td>
						<td>Simulation System</td>
						<td>Andrey Urusov, Pavel Bogachev, Kirill Alexandrovsky, Olga Zudina, Alexey Chernov and other contributors.</td>
					</tr>

					<tr>
						<td><a href="http://rapid-api.org/rapid-ml">RAPID-ML</a></td>
						<td>RAPID-ML is a domain-driven API modeling language that puts data modeling at the center
							of REST API design.  With RAPID-ML, you can describe data types naturally with an expressive, 
							technology-independent modeling language, and adapt shared models to each API with just the 
							right flexibility to bend the model, not break it.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Ted Epstein, Tanya Fesenko</td>
					</tr>

					<tr>
						<td><a href="https://github.com/zazuko/rdf-mapping-dsl-user">RDF Mapping DSL</a></td>
						<td>A friendly language for writing data mappings to <a href="https://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a>. Includes generators for R2RML, RML, CARML and CSVW output.</td>
						<td>Commercial, free for personal use</td>
						<td>Language</td>
						<td><a href="https://zazuko.com/">Zazuko GmbH</a></td>
					</tr>

					<tr>
						<td><a href="http://sourceforge.net/projects/rng-eclipse/">RELAX NG for Eclipse</a></td>
						<td>Provides support for editing RELAX NG documents in the Eclipse
							IDE. Integrates with standard WST XML editor to provide content completion and
							validation of edited XML file based on it's RELAX NG schema.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Dave Carver</td>
					</tr>

					<tr>
						<td><a href="https://github.com/NielsLiisberg/RPG-lexer">RPG Lexer (IBM ILE RPG)</a></td>
						<td>This project is for tooling and better understanding of the ILE RPG language. Tooling like plug in for 100% free-RPG editors running in i.e. Eclipse with code completion etc. or even to build transpilers to create C, C# or JAVA code from RPG.</td>
						<td>MIT License</td>
						<td>Tool</td>
						<td>Niels Liisberg</td>
					</tr>

					<tr>
						<td><a href="https://github.com/heutelbeck/sapl-policy-engine">SAPL Policy Engine</a></td>
						<td>A reactive policy engine implementing attribute-based access control (ABAC). The engine features support for publish-subscribe authorization and a deep Spring integration. https://sapl.io</td>
						<td>Apace 2.0</td>
						<td>Security</td>
						<td>Dominic Heutelbeck</td>
					</tr>

					<tr>
						<td><a href="http://www.sarl.io">SARL</a></td>
						<td>SARL is a general-purpose agent-oriented language. It aims at providing the fundamental abstractions for 
							dealing with concurrency, distribution, interaction, decentralization, reactivity, autonomy and dynamic 
							reconfiguration. The language is platform- and architecture-independent. 
							The default execution environment is the <a href="http://www.janusproject.io">Janus platform</a>.</td>
						<td>Apache 2 License</td>
						<td>Language, Framework</td>
						<td>Sebastian Rodriguez, Nicolas Gaud, St&eacute;phane Galland</td>
					</tr>

					<tr>
						<td><a href="http://sculptorgenerator.org">Sculptor</a></td>
						<td>You express your design intent in a textual DSL, from which
							Sculptor generates high quality Java code and configuration.</td>
						<td>Apache 2 License</td>
						<td>Language, Framework</td>
						<td>Torsten Juergeleit, Patrik Nordwall and others</td>
					</tr>

					<tr>
						<td><a href="https://github.com/crapo/sadlos2/wiki">Semantic Application Design Language (SADL)</a></td>
						<td>SADL is a controlled-English ontology language and an IDE for building models in that language. SADL models are translated directly into OWL plus rules plus other constructs for model testing and maintenance.</td>
						<td>Eclipse Public License</td>
						<td>Semantic Modeling</td>
						<td>GE Research</td>
					</tr>

					<tr>
						<td><a href="http://sadl.sourceforge.net/">Semantic Application Design Language (SADL) Version 2</a></td>
						<td>The Semantic Application Design Language (SADL) is a language for building
							semantic models and expressing rules that capture additional domain
							knowledge. The SADL-IDE (integrated development environment) is a set of
							Eclipse plug-ins that support the editing and testing of semantic models
							using the SADL language. </td>
						<td>EPL</td>
						<td>Language</td>
						<td>Andrew Crapo, John Interrante, David Bracewell, Saurabh Gupta</td>
					</tr>

					<tr>
						<td><a href="https://github.com/xtext/seven-languages-xtext">Seven Languages with Xtext</a></td>
						<td>An example project of seven languages illustrating the power and flexibility of Xtext.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Christian Dietrich, Holger Schill, Sebastian Zarnekow, Dennis Huebner</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/a/eclipselabs.org/p/spray/">Spray</a></td>
						<td>This project aims to provide Domain Specific Languages to describe
							Visual DSL Editors against the Graphiti runtime, and provide code generation
							(with Xtend2) to create the boilerplate code for realizing the implementation
							against the Graphiti framework.</td>
						<td>EPL 1.0</td>
						<td>Framework</td>
						<td>Jos Warmer, Karsten Thoms et. al.</td>
					</tr>

					<tr>
						<td><a href="http://swrtj.sourceforge.net/">SWRTJ: Sugared Welterweight Record-Trait Java</a></td>
						<td>A Java-like language where units of objects' functionality are modeled by
							traits and by records (a construct that complements traits to model the state
							part of objects).</td>
						<td>GPL</td>
						<td>Language</td>
						<td>Fabio Strocco, Lorenzo Bettini</td>
					</tr>

					<tr>
						<td><a href="https://github.com/eclipse-cbi/targetplatform-dsl">Target Platform Definition DSL and Generator</a></td>
						<td>The Target Platform Definition DSL and Generator project provides an Xtext-based DSL with an advanced Eclipse editor and a generator to generate *.target files from the DSL that Eclipse PDE is able to read to provision a Target Platform.</td>
						<td>EPL</td>
						<td>Tool</td>
						<td>Mikael Barbero and others</td>
					</tr>

					<tr>
						<td><a href="https://github.com/nittka/terminology">Terminology</a></td>
						<td>Lightweight terminology management. If spreadsheet is not enough and term bases are overkill, consider this plugin with advanced search functionality and hook for custom exporters.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Alexander Nittka</td>
					</tr>

					<tr>
						<td><a href="https://github.com/kuniss/xtext-ide-extensions">TextMate Grammars for the Xtext Language</a></td>
						<td>TextMate grammars for Xtext language highlighting support in different editors, e.g. VS Code, ACE, Atom, Pygments, Rouge, Sublime 3 (except for VS Code, all not tested).</td>
						<td>EPL-2.0</td>
						<td>Editor Support</td>
						<td>Denis Kuniß</td>
					</tr>

					<tr>
						<td id="name"><a href="http://marketplace.eclipse.org/content/vclipse/">VClipse</a></td>
						<td>VClipse is an Eclipse-based integrated development environment (IDE)
							for product modeling for the SAP Variant Configurator (VC). VClipse supports the
							specification of objects and dependencies in a textual domain specific language
							called VCML. This enables the use of standard text comparison tools and version
							control systems in the model development process.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Tim Geisler, Aleksey&nbsp;Shumilin</td>
					</tr>

					<tr>
						<td><a href="https://www.eclipse.org/viatra/">VIATRA</a></td>
						<td>An Event-driven and Reactive Model Transformation Platform. 
							The VIATRA framework supports the development of model transformations with specific focus on event-driven, reactive transformations.
							Building upon the incremental query support of the EMF-IncQuery project, VIATRA offers a language to define transformations and
							a reactive transformation engine to execute certain transformations upon changes in the underlying model.
						</td>
						<td>EPL-2.0</td>
						<td>Language, Framework</td>
						<td><a href="https://projects.eclipse.org/projects/modeling.viatra/who">VIATRA contributors</a></td>
					</tr>

					<tr>
						<td><a href="https://github.com/kuniss/xtext-ide-extensions/tree/master/xtext-vscode-extension">VS Code extension for Xtext Language</a></td>
						<td>Xtext Language support for VS code utilizing a Language Server built with Xtext framework itself. Installation via <a href="https://marketplace.visualstudio.com/items?itemName=Grammarcraft.xtend-lang">VS Marketplace</a>.</td>
						<td>EPL-2.0</td>
						<td>IDE Extension</td>
						<td>Denis Kuniß</td>
					</tr>

					<tr>
						<td><a href="https://www.wollok.org/">Wollok</a></td>
						<td>Wollok is a programming language and an IDE specially designed for teaching initial OOP courses. Students can program from the beginning incrementally adding every OO concept.</td>
						<td>LGPLv3</td>
						<td>Language, Education</td>
						<td><a href="http://www.uqbar.org/">Uqbar</a></td>
					</tr>

					<tr>
						<td><a href="https://github.com/jcabot/WordPress-Plugin-DSL">WordPress Plugins DSL</a></td>
						<td>A simple DSL to generate scaffolding code for WordPress Plugins.</td>
						<td>EPL</td>
						<td>Generator</td>
						<td><a href="https://jordicabot.com/">Jordi Cabot</a></td>
					</tr>

					<tr>
						<td><a href="https://github.com/team-worthwhile/worthwhile">Worthwhile</a></td>
						<td>Worthwhile is an IDE built around a simple WHILE language that
							integrates editing, running, debugging and verifying programs using
							Microsoft's Z3 prover.
						</td>
						<td>3-Clause BSD</td>
						<td>Language</td>
						<td>Leon Handreke, Chris Hiatt, Stefan Orf, Joachim Priesner, Fabian
							Ruch, Matthias Wagner</td>
					</tr>

					<tr>
						<td><a href="https://github.com/nittka/Xarchive">Xarchive</a></td>
						<td>Lightweight document management.</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Alexander Nittka</td>
					</tr>

					<tr>
						<td><a href="https://xatkit.com/">Xatkit</a></td>
						<td>Xatkit is a model-based bot development framework that provides a set of DSLs to specify the behavior, backend actions, and execution logic of your (chat) bot. Xatkit embeds an execution engine that manages the deployment and execution of the specified bot.</td>
						<td>EPL-2.0</td>
						<td>Bot Development</td>
						<td>Jordi Cabot, Gwendal Daniel</td>
					</tr>

					<tr>
						<td><a href="https://wiki.eclipse.org/Xcore">Xcore</a></td>
						<td>Xcore is an extended concrete syntax for Ecore that, in combination with Xbase, transforms it into a fully fledged programming language with high quality tools reminiscent of the Java Development Tools. You can use it not only to specify the structure of your model, but also the behavior of your operations and derived features as well as the conversion logic of your data types.</td>
						<td>EPL-2.0</td>
						<td>Language</td>
						<td>Ed Merks</td>
					</tr>

					<tr>
						<td><a href="https://github.com/rodchenk/xenia">Xenia</a></td>
						<td>DSL for the rapid creation of static websites based on a sitemap with precompiled templates.</td>
						<td>MIT</td>
						<td>Language, Web Development</td>
						<td>Mischa Rodchenkov</td>
					</tr>

					<tr>
						<td><a href="http://xsemantics.sourceforge.net/">Xsemantics</a></td>
						<td>XSemantics is a DSL (implemented in Xtext) for writing type systems,
							reduction rules, interpreters (and in general relation rules) for languages
							implemented in Xtext. It generates Java code that can be used in your
							language implemented in Xtext for scoping and validation (it can also generate
							a validator in Java). It is the successor of XTypeS.
						</td>
						<td>EPL</td>
						<td>Language</td>
						<td>Lorenzo Bettini</td>
					</tr>

					<tr>
						<td><a href="https://github.com/msbarry/Xtest">Xtest</a></td>
						<td>Xtest is a unit-testing domain-specific scripting language for Java.
							Tests are run while you type and any time a related file is saved, marking
							exceptions thrown and failed assertions as errors to immediately notify you of
							test failures.
						</td>
						<td>EPL</td>
						<td>Testing, Language</td>
						<td>Michael Barry</td>
					</tr>

					<tr>
						<td><a href="https://github.com/itemis/itemis-blog/tree/combining-emf-models-with-xtext-dsls">Xtext EMF Integration</a></td>
						<td>An example project demonstrating how to combine EMF models with Xtext DSLs. See also the <a href="https://blogs.itemis.com/en/combining-emf-models-with-xtext-dsls">blog post</a> about this topic.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Tamas Miklossy</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/a/eclipselabs.org/p/xtext-forms-integration/">Xtext Forms Integration</a></td>
						<td>Sample RCP application to demonstrate how Xtext editors can be
							integrated within Eclipse UI forms.</td>
						<td>EPL</td>
						<td>Framework</td>
						<td>Mikael Barbero</td>
					</tr>

					<tr>
						<td><a href="https://github.com/itemis/itemis-blog/tree/gef_graphical_views_on_xtext_dsls">Xtext GEF5 Integration</a></td>
						<td>Example projects demonstrating the usage of the Eclipse GEF DOT Graph View to add graphical representations to Xtext DSLs. See also the <a href="https://blogs.itemis.com/en/eclipse-gef-dot-graphical-views-on-xtext-dsls">blog post</a> about this topic.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Tamas Miklossy</td>
					</tr>

					<tr>
						<td><a href="https://github.com/xtext/xtext-gradle-plugin">Xtext Gradle Plugins</a></td>
						<td>A set of Gradle plugins to build and use Xtext-based languages and the Xtend programming language.</td>
						<td>EPL-1.0</td>
						<td>Tool</td>
						<td>Stefan Oehme, Christian Dietrich</td>
					</tr>

					<tr>
						<td><a href="https://github.com/itemis/xtext-languageserver-example">Xtext Languageserver Example</a></td>
						<td>An example showing the Visual Studio Code integration of Xtext using the Microsoft Language Server Protocol.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Christian Dietrich, Holger Schill, Franz Becker</td>
					</tr>

					<tr>
						<td><a href="https://github.com/itemis/itemis-blog/tree/referencing-uml-elements-from-xtext-dsls">Xtext UML Integration</a></td>
						<td>An example project demonstrating how to reference UML elements from Xtext DSLs. See also the <a href="https://blogs.itemis.com/en/how-to-reference-uml-elements-from-xtext-dsls">blog post</a> about this topic.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Tamas Miklossy</td>
					</tr>

					<tr>
						<td><a href="https://github.com/OLibutzki/xtext.tools">Xtext Tools</a></td>
						<td>Xtext Tools provides Eclipse views to explore the underlying node model and the semantic model of DSL files. Especially for language developers this is quite handy.</td>
						<td>EPL-2.0</td>
						<td>IDE Extension</td>
						<td>Oliver Libutzki</td>
					</tr>

					<tr>
						<td><a href="http://code.google.com/a/eclipselabs.org/p/xtext-typesystem/">Xtext Typesystem Framework</a></td>
						<td>A framework that supports the efficient implementation of typesystem
							rules for Xtext languages. Especially useful if your languages has
							expressions, statements, different (combinable) data types.</td>
						<td>EPL</td>
						<td>Framework</td>
						<td><a href="mailto:voelter@acm.org">Markus Voelter</a></td>
					</tr>

					<tr>
						<td><a href="https://xtext-demo.itemis.de/">Xtext Web Demo</a></td>
						<td>Examples projects demonstrating the usage of Xtext on the web. The source code is hosted on the corresponding <a href="https://github.com/eclipse/xtext-web">GitHub repository</a>.</td>
						<td>EPL-2.0</td>
						<td>Example</td>
						<td>Christian Dietrich, Miro Spönemann</td>
					</tr>

					<tr>
						<td><a href="http://xtypes.sourceforge.net/">XTypeS</a></td>
						<td>A DSL for writing type systems for languages implemented in Xtext. It
							generates Java code that can be used in your language implemented in Xtext
							for scoping and validation (XTypeS also generates a validator in Java).
						</td>
						<td>GPL</td>
						<td>Language</td>
						<td>Lorenzo Bettini</td>
					</tr>

					<tr>
						<td><a href="https://github.com/Yakindu/solidity-ide">YAKINDU Solidity IDE</a></td>
						<td>The free to use, open source YAKINDU Solidity IDE provides an Xtext-based integrated development environment for Ethereum / Solidity-based smart contracts. It can be installed in different environments, such as Atom, Eclipse, Theia and VSCode. <a href="https://solidity-ide.itemis.de/">Online editor</a> and <a href="https://yakindu.github.io/solidity-ide/">documentation</a>.</td>
						<td>EPL 1.0</td>
						<td>Tool</td>
						<td>Alexander Nyssen, Andreas M&uuml;lder, Florian Antony, et al. </td>
					</tr>

					<tr>
						<td><a href="http://www.yakindu.org">Yakindu Statechart Tools</a></td>
						<td>
							YAKINDU Statechart Tools (SCT) provides an integrated modeling
							environment for the specification and development of reactive, event-driven
							systems based on the concept of statecharts. It is an easy to use tool that
							features sophisticated graphical state chart editing, validation and simulation
							of statecharts as well as code generation.
						</td>
						<td>EPL</td>
						<td>Tool</td>
						<td>Axel Terfloth, Andreas M&uuml;lder, et al</td>
					</tr>

					<tr>
						<td><a href="https://github.com/theia-ide/yang-lsp">YANG Language Server</a></td>
						<td>A language server for the YANG data modeling language.</td>
						<td>Apache License 2.0</td>
						<td>Language Server</td>
						<td>TypeFox, Ericsson</td>
					</tr>

					<tr>
						<td><a href="https://github.com/AlexandreRio/ytpdsl/">YTP DSL</a></td>
						<td>YTP DSL is a language to guide random video editing. The main goal is to produce a fun result based on a video library, guidance on duration and various video filters.</td>
						<td>GPL-3</td>
						<td>Language, Tool</td>
						<td>Alexandre Rio</td>
					</tr>
<!--
					<tr>
						<td>AMP Agent Modeling Platform</td>
						<td>extensible frameworks and exemplary tools for representing,
							editing, generating, executing and visualizing agent-based models (ABMs) and
							any other domain requiring spatial, behavioral and functional features</td>
						<td>http://www.eclipse.org/amp/</td>
						<td>EPL</td>
						<td>Framework</td>
						<td>Metascape, LLC</td>
					</tr>

					<tr>
						<td>EMF Query 2</td>
						<td>search and retrieval of emf model elements in a structured
							format with an additional advantage that resource loading is minimized during
							execution </td>
						<td>http://www.eclipse.org/modeling/emf/?project=query2</td>
						<td>EPL</td>
						<td>Language</td>
						<td>?</td>
					</tr>

					<tr>
						<td>CamelSplit</td>
						<td>Text-based DSL Editor for Camel and Eclipse</td>
						<td>http://code.google.com/p/camel-extra/wiki/CamelSpit</td>
						<td>?</td>
						<td>Language</td>
						<td>Oisin Hurley</td>
					</tr>
-->
				</tbody>
				<tfoot></tfoot>
			</table>
		</div>
		<div id="sponsors" class="container">
			<h2>Sponsors</h2>
			<hr>
			<div class="row">
				<div class="span1">&nbsp;</div>
				<div class="span5">
					<p><b>YourKit</b> is kindly supporting open source projects with its full-featured Java Profiler.</p>
					<p>YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. 
						Take a look at YourKit's leading software products: <a href="http://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and <a href="http://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>.
				</div>
				<div class="span4"><img src="/Xtext/images/yourkit_java.png"></img></div>
			</div>
		</div>

    
    <footer class="site-footer">
  <div id="extra">
    <div class="inner">
      <div class="container">
        <div class="row">
          <div class="span6">
            <h3 class="footer-links-header">Quick Links</h3>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="http://www.eclipse.org/legal/">Legal</a></li>
            </ul>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org">Eclipse Home</a></li>
              <li><a href="http://marketplace.eclipse.org/">Market Place</a></li>
              <li><a href="http://www.planeteclipse.org/">Eclipse Planet</a></li>
              <li><a href="https://www.eclipse.org/forums/index.php/f/27/">Xtext Forum</a></li>
            </ul>
          </div>
          <div class="span6">
            <!-- Social Media Links -->
            <h3 class="footer-links-header"">Social Media</h3>
            <ul class="footer-links clearfix">
              <li>
                <a href="https://twitter.com/xtext"><img src="/Xtext/images/Twitter-bird-darkgray.png" class="img-responsive" style="margin-right: 5px;height: 1em;" alt="Twitter icon">@xtext on Twitter</a>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>
  <a href="#" class="scrollup fadeOutRight animated" style="display: none;">ScrollUp</a>
  <!-- Le javascript
      ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
  
  <script src="/Xtext/js/jquery-1.11.3.min.js"></script>
  <script src="/Xtext/js/bootstrap.min.js"></script>
  <script src="/Xtext/js/jquery.easing.1.3.js" type="text/javascript"></script>
  <script src="/Xtext/js/jquery.prettyPhoto.js" type="text/javascript"></script>
  <script src="/Xtext/js/prettify.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-xtend.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-common.js" type="text/javascript"></script>
  <script src="/Xtext/js/custom.js" type="text/javascript"></script>
  <!--script src="https://apis.google.com/js/platform.js" async defer></script-->
  <!--script type="text/javascript">
    var _gaq = _gaq || [];  
      _gaq.push([ '_setAccount', 'UA-2429174-3' ]);
    _gaq.push([ '_trackPageview' ]);
    (function() {
      var ga = document.createElement('script');
      ga.type = 'text/javascript';
      ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl'
          : 'http://www')
          + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(ga, s);
    })();
  </script-->
  <script src="/Xtext/js/coverflow.min.js" type="text/javascript"></script>
  <script>
      $(function() {
        $('#coverflow').coverflow({
          active : 1,
          visibleAside: 2,
          overlap : 0.5,
          scale : 0.9,
          angle : 20,
          trigger : {
            "itemfocus" : true,
            "swipe" : true,
            "mousewheel" : false
          }
        });
        $('#coverflow :hidden').toggle();
        $(window).resize(function() {
          $('#coverflow').coverflow();
        });
      });

  </script>
</footer>


  </body>

</html>
