May 18-20 2015

Kiel, Germany

XtextCON 2015

XtextCON is the place for new users to learn Xtext quickly and for experienced language designers to understand advanced use cases. Get in touch with Xtext users and the developers behind it. Discuss bugzilla and feature requests and get your individual problems solved. The second edition of XtextCON 2015 again took place in Kiel, located at the Baltic Sea in northern Germany.

Impressions from XtextCON
Sponsor
Sponsor

Conference Program

XtextCON was a two-day event, preceded by an optional full workshop day, on May 18, for beginners and those who would like an update. We ran a special clinic track in parallel to the main conference, where attendees got help and advice on individual Xtext-related problems.

9:30 - 9:50
Welcome & Coffee Break
9:50 - 10:20

The Future of Xtext

Sven Efftinge, Sebastian Zarnekow

Slides

Xtext has been around for a couple of years now, proving itself as a solid basis for language development in large and small scale projects. It is used in commercial products in all kinds of vertical industries and has been a basis for many research projects.
In this session we discuss where the framework is heading and how existing users will benefit from future development.
more...

ESON - The EMF Simple Object Notation

Michael Vorburger

The session presents ESON, the EMF Simple Object Notation, which looks, sings, dances and smells (almost) like JSON, but retains EMF's strong typing, and is in effect an alternative to the XMI XML syntax for EMF. ESON is internally implemented with Xtext, but is "dynamic" and can be used as new serialization format by any EMF users having a standard ecore (or Xcore) model - WITHOUT requiring a dedicated Xtext grammar. ESON was presented at EclipseCon EU 2013 (at the Modeling Symposium) and at EclipseCon NA 2014 (full talk), and has meanwhile become a formal sub-project of EMF on eclipse.org. This talk is an opportunity to revisit where it's at since.
more...

10:30 - 11:20

Oomph: Eclipse the Way You Want It

Ed Merks, Eike Stepper

Slides

Each time you set up a fresh development environment for a particular project you go through a vast number of tedious tasks: You must install an IDE with appropriate plugins, check out a specific branch of a repository, import the appropriate projects in the workspace, define and materialize the appropriate target platform, apply the project’s team settings and preferences, install your personal tools, and manage your personal preferences. These tasks need to be well documented and evolve from release to release. No wonder new team members usually need a couple of days to get started.
Instead of writing this done in wikis or other informal documents, we should explain our machines how to do the job: let’s automate it. With Eclipse Oomph all these tasks are formalized. You will leave this session with a good understanding of how to author a fully automated script that always produces an Eclipse development environment exactly the way you want it.
more...

Bring Your Language to IntelliJ IDEA

Anton Kosyakov, Stefan Oehme

Slides

Xtext goes multi platform! First stop: IntelliJ. Jetbrains' IDE is quickly becoming a favorite among developers, especially with Google basing its new Android Studio on it. This has resulted in many requests to get Xtend support on IntelliJ. But we didn't stop with Xtend. You can now generate an IntelliJ plugin for any Xtext language!
Best of all, you can reuse a lot of the code you already have, like scoping and validation. Other parts like the parser are generated for you. And of course everything is configurable. In this session you will learn how to create an IntelliJ plugin for your language and get an overview of the main differences to developing for Eclipse.
more...

11:30 - 12:00

Introduction to Xbase

Holger Schill

Slides

Xtext makes it easy to define domain specific languages, but making your DSL a first class programming artifact with support for expressions and integration with Java is a hard thing if you do it from scratch. The Xbase library is an integral part of the Xtext framework. Xbase implements the bridge from DSLs to Java. It greatly simplifies your language implementation, if you want to run your DSL on the JVM. Xbase consists of a very powerful Java-like expression grammar and implements all the necessary infrastructure to link your DSL against existing Java types, compile it to executable code and validate it against the JVM specific constraints. In this session I want to explain how Xbase works under the covers and dive into its APIs. You will see, how to enhance your language and make it highly expressive and powerful without introducing an artificial gap to the Java platform. If you want your DSL to be a first class programming artifact, come to this session and see how to benefit best from Xbase.
more...

Model based migration of legacy software

Arjan Mooij

Industrial software must continuously be maintained. This is caused by external constraints (such as the obsolescence of technologies like Windows XP) and by internal technology changes. After several years of maintenance, a software redesign is needed to support further innovation. This is often postponed, because it is time consuming and it does not immediately create new product features.
The challenge is to obtain a cost effective solution for software migration in an industrial context.Starting from scratch using a green field approach is not feasible; the domain knowledge must be maintained. As documentation is usually out-dated, the legacy software itself becomes the primary information source. This information can be revealed by analysing the source code and by learning from the observable behaviour.
In this talk we present our experiences with the field service procedures for the interventional X-ray machines of Philips HealthCare. The legacy software has evolved over many years into a large code base that is difficult and costly to maintain and extend. Model-based migration extracts models from the legacy software, and transforms these models to a new model-based design. In comparison to manual migration, we estimate that model-based migration gives an 80% effort reduction.
more...

12:00 - 13:00
Lunch
13:00 - 13:50

Extending the Xbase Type System

Sebastian Zarnekow

Slides

The Xbase type system implements the type computation for all Xbase library expressions. It resolves overloaded methods with the same semantics as in Java, implements the array to list conversion, boxing or unboxing logic and the assignability for lambda expressions. On top of that, it is integrated with the scoping and validation rules of Xbase languages. Given the central role that the type system plays, it is worthwhile to look under the covers. How do you customize the type system and which knobs have to be turned to add new expressions to your language? How do you introduce own library types with global extension functions? What's the best hook to tweak the assignability according to your needs? And what's the deal with all these type references. In this session you'll get a deep dive and learn the gory details about the Xbase type system. No PhD in type theory required.
more...

Enhancing Graphical Editors with Xtext

Miro Spönemann

Slides

There are two aspects of graphical editing to which Xtext can add significant value: the persistence format and the editing of object details, which is usually done through the Properties view. In this session we will walk through examples realizing the integration of Xtext with GMF, Graphiti, and Sirius. For such an integration to work reliably, we have to be careful how to design the graphical and the textual concrete syntax and the mapping to model elements (abstract syntax). We also have to learn about the serialization infrastructure of Xtext and the synchronization concepts of the different frameworks, equipping you with a sound overview for enhancing your own graphical editors.
more...

14:00 - 14:30

Lightweight Xtext Editors as SWT Widgets

Moritz Eysholdt

Slides

You probably know the Xtext editor as the smart text editor that is registered for certain file extensions in your Eclipse Workbench. But there are more use cases where an Xtext editor comes in handy: Inside wizards, previews, preferences dialogs, property views, graphical editors, form-based editors, you name it. This all becomes feasible by using the Embedded Xtext Editor, which is in fact an SWT widget. In this talk I will demo how to integrate the Embedded Xtext Editor into an RCP application and I will explain possibilities and important considerations.
more...

Sustainable Service Design through Xtext

Dr. Michael Bischoff

Slides

This talk introduces the Bonaparte DSL collection and serialization library and describes how they have been used in the Omni Channel Order Management system “aroma” at arvato Systems. An order management system has to interface with a variety of external systems, such as web shops, logistic systems, finance systems etc. An ESB can help to convert between the variety of formats, but adds to the overall complexity of the system landscape and also is not desirable in scenarios where low latency is important, for example online price calculations. Using Xtext DSLs, it is possible to define APIs in a technology agnostic form. Examples are given how to connect with the Apache Camel, the vert.x event bus or the netty channel handlers.
The second part of the talk covers add on DSLs related to data persistence. Bonaparte provides code generators for JPA 2 entities as well as generators for compact serialization formats as required for off heap caching solutions such as Terracotta or Hazelcast.
more...

14:30 - 15:00
Coffee Break
15:00 - 15:30

Continuous Integration for Xtext languages

Stefan Oehme

Slides

Xtext languages should be built, tested and deployed continuously. It's the only way to quickly and reliably get new features and bug fixes into your user's hands . This session explains how Xtext languages can be built and published using Maven Tycho and how the languages can then be used by both Maven and Gradle clients.
more...

EMF Parsley

Francesco Guidieri

In this talk we will present our project EMF-Parsley that is built on top of EMF. We like to consider our framework an Xtext-success-story because of several mechanisms that have been re-used as well as in Xtext. In fact EMF Parlsey provides some components like Tree, Table and Forms that can be easily customized thanks to the Dependency Injection. Moreover we used a polimorphic dispatcher to let the user customize parts depending of EMF types. Last but not least, we implemented a DSL to deeply customize all aspect of our framework, thanks to Xbase.
In this talk we will present how we did it and the lastest new features.
more...

15:40 - 16:10

Integrating DSLs in Web Applications

Miro Spönemann

Slides

A major benefit of domain-specific languages is to create abstractions over the technical details of platforms or programming languages. This abstraction is particularly important for domain experts with no programming experience. However, installing and maintaining an Eclipse-based client application providing an IDE for your DSLs might not always be feasible. From the perspective of such users, accessing the required features in a web browser would be much easier and faster. In this session I will present the current roadmap for the wedding of Xtext and the web, focusing on what we have achieved so far as well as what you can expect for the near future. The session is accompanied by a demonstration of XRobots: a browser game that uses an Xtext DSL to control Lego Mindstorms robots for sumo fighting.
more...

Testing with Xpect

Moritz Eysholdt

Slides

Xtext comes with Junit4 support out of the box, which is great for unit testing. Xpect on the other hand allows to define test expectations right within your DSL inside comments. As a result everyone who understands your DSL can write and read the tests. This is especially beneficial when working with more domain-related people, such as a Quality Assurance (QA) department.
more...

16:20 - 16:50

Xtext editors in JavaFX

Tom Schindl

Slides

JavaFX 8 is a modern UI-Framework allowing to construct slick UI applications and Xtext is a powerful cross-platform DSL-Framework allowing people to define editors in a very simply way.
So far Xtext editors have only been available for SWT (Eclipse), however the latest developments allow to use more and more of the editor services in other environments as well. In this talks I will demonstrate how you can add support for Xtext languages to your JavaFX applications with a similar feature set than the ones you know from Eclipse/IntelliJ.
more...

Making Xbase look like Java

Lorenzo Bettini

Slides

In one of our Xbase DSL we needed the expressions to be Java expressions; such language is a reduced Java without OOP features, aiming at teaching programming to students, so that they get familiar with Java, Eclipse IDE and its features, without the burden of dealing with OOP features. We will show how we customized Xbase grammar rules to parse Java expressions, while reusing the whole Xbase infrastructure. We also show how to customize Xbase model, type system and code generator accordingly. In particular, we will detail the problems we had to face. Such customizations are not coupled with our DSL, and we believe they could be reusable. The language will be open-sourced soon.
more...

17:00 - 17:30

Getting Rid of Backtracking

Dr. Jan Köhnlein

Slides

The more your language grows, the more likely you will encounter syntactic ambiguities. Enabling backtracking eliminates the warnings of Antlr, but it will neither remove the cause nor perform acceptably. In the session you will learn why ambiguities arise, how to track them down and finally how to eliminate them efficiently.
more...

Using Xcore models with Xtext

Holger Schill

Slides

Xcore is a textual format to define ecore models. This not only makes editing and reading much more convenient but has other cool advantages as well. Xcore, for instance, allows to embed Xbase expressions to define logic within EOperations and the like.
In this session you will learn, why and when using Xcore is a good idea and how to use it with Xtext languages. I will explain talk about which URIs to use, and how to properly configure the MWE2 file as well as more complicated setups, with multiple languages and mixtures of ecore, xcore and generated models.
more...

17:30 - 20:00
Evening Reception
20:00
Party In The Bar
9:00 - 9:30

Lightweight Diagrams for your DSLs

Christian Schneider

Slides - Examples

Textual notations have proven extremely helpful. On the other hand, mistakes can be hidden very well in chunks of keywords and characters. The Kieler Lightweight Diagrams (KlighD) toolkit assists you in creating visual representations of your data. Simply tell KLighD how to visualize the data by implementing a translation into a uniform and self-contained view model. The toolkit offers automatic layout, collapsing, expanding, and scaling of single diagram elements, diagram clipping, cropping, zooming, and more. I'll demonstrate the usage of KLighD combined with Xtext, implementing a diagram synthesis using an internal DSL on top of Xtend, and introducing interactivity via click actions.
more...

From Spaghetti to Xsemantics - Practical experiences migrating typesystems

Andreas Heiduk, Steffen Skatulla

Slides

Handwritten typesystems are quite easy in the beginning. Since the DSLs themself tend to grow and gather more complexity the typesystem gets unmainaintable quite soon. In our case there are 12 interconnected DSLs used by several development teams and a huge existing model...
We will talk about our experience migrating from a "historically grown" typesystem to a clean, rule bases typsystem using Xsemantics. First we share our experiences with the language and tooling of Xsemantics. Then we describe how to create a common typesystem for multible languages efficiently and round up with tips & tricks for smooth migration of existing models.
more...

9:40 - 10:10

Life of an Xtext Resource

Sven Efftinge

Slides

In this talk I will walk through the different life cycles of an Xtext resource. You will learn about the different phases and what their responsibilities and contracts are. The differences between how things work in the builder, an editor and a standalone build will be discussed as well.
more...

EAI and Xtext DSLs

André Lehner, Dietmar Stoll

To improve the integration of their heterogeneous applications that run on different platforms and use various communication protocols, the Zurich Cantonal Bank (ZKB) renewed their integration platform. Domain specific languages (DSL) are used to describe integration artifacts. From these descriptions, business objects, connectors and documentation are generated. The presentation highlights results and lessons learned from the effort. In addition, it gives an outlook to a new project which involves describing batch jobs and their dependencies using DSLs and a model-driven approach to migrate legacy batch jobs from mainframe code.
more...

10:10 - 10:30
Coffee Break
10:30 - 11:20

The New Formatter API

Moritz Eysholdt

Slides

Good code is nicely formatted. But doing formatting by hand is tedious and formatting styles should not vary across team members. Luckily formatting is easy to automate.
In version 2.8, Xtext introduces a new and far more powerful API to implement formatters. A primary objective is to support domain-specific formatting, e.g. align tokens in columns or even arrange text in tables. Another use case is pattern-aware formatting. In contrast to the old API, it is possible to make formatting decisions based on the AST and format the tokens of terminal- and datatype-rules. In this talk, I will give an introduction to the new API and explain use cases based on examples.
more...

Scaling Xtext

Lieven Lemiengre, Hendrik Eeekhaut

Slides

Using Xtext for the first time is usually a very positive experience. Although Xtext is a complex generic framework, it is very easy to create your first Xtext-based editor, because of Xtext’s smart defaults and intuitive APIs. Even with minimal initial effort, the results are quite spectacular. Unfortunately the initial excitement often turns into disillusion as soon as you use your plugin on a big project.
Many development teams hit a performance wall as their plugin gets deployed and has to support larger projects. Internally, Xtext is a complex beast. The internals are carefully hidden from the user, but understanding them is critical to understand where the performance bottlenecks come from.
At Sigasi we have built commercial tool support for complex hardware description languages (VHDL, Verilog, SystemVerilog) using the Xtext framework. Our plugin needs to handle big industrial sized projects (>400k lines of code) that include large generated files (2 to 10 MB). To handle these kinds of projects we have developed a set of techniques over the last four years.
In this talk we will cover some performance critical pieces of the Xtext framework and evaluate what can be done to optimize it (think: parallel loading, caching, fast linking,…). We will also discuss some workarounds that can be used if nothing else works (light-weight editors, reducing the workload of the compiler).
more...

11:30 - 12:00

Improving the Responsiveness of Your Xtext-based IDE

Dr. Jan Köhnlein

Slides

Only a fast IDE is a good IDE. Users expect immediate feedback on their actions, and they hate to be blocked by processes like the auto-build. In this session we will uncover the performance improvements we implemented in the recent releases and give you hints what you can do to keep your Xtext IDE live and responsive.
more...

DeltaJ - Enhancing Software Product Line Development

Sven Schuster

Slides

Although Software Product Lines (SPL) gain momentum, developing SPLs efficiently is still quite a challenge. Consequently, modular programming techniques, such as Delta-Oriented Programming (DOP) following a transformational approach, emerged in recent years. In such modular languages, especially scoping and type checking are difficult to realize. In this session, we present DeltaJ, a delta-oriented Java 5 dialect developed using Xtext. We describe how we tackled the issue of scoping a modular language in the current (bleeding-edge) prototype and propose a way of implementing a type system for DeltaJ with Xtext.
more...

12:00 - 13:00
Lunch
13:00 - 13:30

Scoping Tips and Tricks

Sebastian Zarnekow

Slides

The scoping implementation is often considered to be one of the most complicated parts of a language implementation. Though in fact it can be seen as a few concepts that have to be combined orthogonally, it is often not obvious how the existing abstractions can be used most efficiently. The scoping tips and tricks include guidelines how to best leverage the API and gain most from the default implementations. You will learn how to drive the validation directly from the scoping implementation, detect unused elements on the fly or how to provide aliases for elements from the scope. You will also see which bogus patterns should be avoided, why scope filtering is error prone and how content assist uses the scoping to create proposals. If you ever got stuck in your scoping logic, this is the right session for you.
more...

Lightweight Code Generation with Active Annotations

Stefan Oehme

Slides

Code generation has a long tradition in Java-land. Modeling languages and code generators have advanced in recent years and have become a very helpful tool to get rid of structural boilerplate. On the downside, using modeling languages, you typically leave the fancy Java IDE behind and cannot mix and match your modeling language with real code. Additionally the turn around times when evolving a domain specific language and a corresponding code generator are often not good and the distribution of the plug-ins for a modeling language add a significant burden to the project.
For developer centric code generation, Xtend's active annotations are a much more lightweight and simpler approach. It lets you implement code generators and DSLs as a library, so you can easily enhance and distribute your code generation solution. No need to install a new plug-in everytime you have changed your DSL or the generator. And the best is, that the Eclipse IDE is fully aware of your DSL and will adapt the changes as you type.
In this session you will learn about active annotations in Xtend and how to apply them in any standard Java project.
more...

13:40 - 14:10

Graphical Views for Xtext with FXDiagram

Dr. Jan Köhnlein

Slides

FXDiagram is a framework for diagram tools based on JavaFX. It puts a strong focus on user experience and offers an easy-to-use high-level API for Xtext-based languages. In this session you will learn how to integrate diagram views to visualize and explore Xtext-based models in your IDE. These views are highly customizable, have a modern look & feel and are actually fun to use.
more...

DSL Design - Best Practices

Sven Efftinge

Slides

Xtext gives us the technology to build and evolve DSLs quickly. With that it gives us a lot of freedom and flexibility to carve out a great language for our target audience. But what exactly is great? This session is a guide to designing reasonable languages and common practices.
more...

14:10 - 14:40
Coffee Break
14:40 - 15:10

Headless Compiler with Xtext

Torsten Krämer

Slides

How to develop a headless compiler for a non-trivial Xtext-based language, which is independent of core eclipse-workspace centric file handling and data management? Considering automation many projects face the need to integrate language-artefact processing into automated server-side or script-based workflows. Such scenarios often lack the availability of a workspace or actively try to avoid it. This has a major impact on the way the language is processed. Thinking of libraries, projects, modules, imports and exports, runtime-provision and runtime-dependencies many challenges arise in processing interdependent artefacts. The way towards a single runnable jar as the entry-point for compiling such projects - either file by file or in one go - are outlined and presented based on a real world project.
more...

How to build a Python IDE with Xtext

Sebastian Zarnekow

Slides

Indentation based languages are quite popular in the language community. After all, semantic whitespace is an implicit means to get rid of formatting flame wars. The idiomatic formatting is implicit due the meaning of spaces and tabs. Even though it was possible to implement that with Xtext for quite some time, with Xtext 2.8, it finally became feasible without digging into the glory details of Antlr lexing and parsing. Just apply a few tweaks to the grammar and the language configuration, and you are good to go. You want to create a pythonesque language with Xtext? Come to this session and learn how to get rid of curly braces!
more...

15:20 - 16:00

Code Generation Idioms with Xtend

Holger Schill

Slides

In this session, you will learn about typical best practices and idioms for building continuously running, extensible and maintainable code generators with Xtend. We think Xtend is the best language for code generation available today.
more...

Model based migration of a large oracle forms application

Karsten Thoms, Max Vollmer

Slides

As part of the corporate's IT strategy, RHENUS Logistics decided to migrate Oracle Forms applications towards Java based approaches and fade out Oracle Forms from the technology stack. The main application consists of 16 subsystems and over 1200 forms. After the evalution of different products and approaches, RHENUS decided to build an Eclipse based tool chain to support the migration towards a DSL based development environment. With means of code generation, Oracle Forms metadata is transformed to the newly defined DSL languages. A second code generator translates the DSL models into a fully working application skeleton. While a great amount of the existing forms can nearly completely be translated, some manual implementation effort remains for forms with complex PL/SQL based business logic. After the initial migration of the Oracle Forms modules, RHENUS developers will use the new tool chain to develop the application further in the future. After successful migration of TMS, the tools will be used to migrate other remaining Forms based application.
The complete tool chain is based on Eclipse technologies, with Xtext, Xtend, EMF playing a major role. The application's target architecture is based on Eclipse Scout for the (Web-/RAP-based) client and service layer, and EclipseLink for the integration with the Oracle database.
We will discuss in this talk the migration approach against other approaches the customer considered in their evaluation. Further we will share our experience in using the Scout framework in this large user scenario and how the application developers, which have a strong Oracle but little to no Java background at all, perceived the new development environment.
more...

16:00
Good Bye!

The Xtext Clinic

Ask a committer!

Runs in parallel to the main tracks on May 19 and 20.

The clinic is your chance to get any Xtext-related problem solved. No matter if you got stuck in the middle of a project, or you just want to get some feedback on your design decisions and ideas. At the clinic you'll get the chance to go into a deep dialog with one of the Xtext experts.

If you have registered and want to make an appointment, please send a request to xtextcon@itemis.de.

Xtext Full-Day Workshop - May 18 (9:30 - 17:30 incl. breaks)

Holger Schill, Moritz Eysholdt

This workshop is for beginners and those whose Xtext skills could need a refresh. Attendees will be well prepared for the rest of the conference.

During the day we will first focus on achieving a quick breakthrough from defining a language to generating code from its instances with Xtend. Then we will walk through all conceptual and code-related aspects of Xtext that every language designer should understand. Common scenarios will be covered with hands-on exercises. You will also learn how you can benefit from using the programming language Xtend when building languages with Xtext.

  • Key workshop content:
  • Xtext overview
  • Xtext Grammar Language
  • Integration with EMF
  • Xtext Architectural Overview
  • Model Validation
  • Code Completion
  • Template Proposals
  • Formatting (Pretty Printing)
  • Generating Code from Xtext Models
  • AST Construction and Actions
  • UI hooks (Quickfixes, Coloring, Outline, etc.)
  • Common Strategies for Problem Solving
  • Outlook

Lunch and tea / coffee on arrival and throughout the day are included in the workshop fees.

Speakers

Andreas Heiduk
Andreas Heiduk
MATHEMA Software GmbH
Andreas Heiduk is a consultant and has a broad spectrum of technical interests ranging from microcontrollers up to heavy duty JEE applications. DSLs with Xtext are somewhere in the middle.
André Lehner
André Lehner
Zurich Cantonal Bank
André Lehner works at Zurich Cantonal Bank. Applying his enterprise application integration background, he was the technical lead for the past integration platform renewal project and also leads the ongoing effort that migrates batch jobs from the mainframe.
Anton Kosyakov
Anton Kosyakov
Xtext Committer / itemis
Anton Kosyakov works as an IT consultant for itemis AG in Kiel, Germany. He is a committer for the Eclipse projects Xtend and Xtext. Before joining itemis Anton has been focused on the development of Enterprise applications.
Arjan Mooij
Arjan Mooij
Embedded Systems Innovation by TNO
Arjan Mooij works as a research fellow for the Embedded Systems Innovation (ESI) group of TNO, The Netherlands. He works on applied research for model-based software construction in collaboration with the high-tech industry.
Christian Schneider
Christian Schneider
CAU Kiel
Christian is a PhD Student at the Institute of Computer Science at CAU Kiel, Germany. His research focuses on automatic generation of graphical representations of domain-specific data.
Dietmar Stoll
Dietmar Stoll
itemis Switzerland
Dietmar Stoll works as a consultant and coach for itemis Switzerland. His main interests are model driven software development (MDSD), domain specific languages (DSLs) such as Xtext and Eclipse modeling technologies.
Ed Merks
Ed Merks
EMF Project Lead / itemis
Ed Merks is the project lead of EMF, the Eclipse Modeling Framework. He has been an elected member of the Eclipse Foundation Board of Directors for many years and has been recognized by the Eclipse Community Awards as Top New Comer Evangelist, Top Ambassador, and Top Committer and has received the Eclipse Lifetime Contribution Award.
Eike Stepper
Eike Stepper
Oomph & CDO Lead
Eike is an independent consultant around the topics modeling and OSGi. He runs his own consulting company since 1991 and is the project lead of Eclipse CDO and Eclipse Oomph.
Francesco Guidieri
Francesco Guidieri
RCP-Vision
Francesco founded RCP-Vision in 2009, the first Eclipse-based company in Italy, that is member of Eclipse Foundation since 2010. Here he mainly works on Model Driven architectures and Responsive User Interfaces based on EMF. At home, he loves to play with IoT and his children, and his wife is not so happy of that. He is EMF-Parsley project co-lead, and he was (mute) speaker at eclipsecon in the 2013.
Hendrik Eeckhaut
Hendrik Eeckhaut
Sigasi
Hendrik Eeckhaut is co-founder of Sigasi, a company that develops Eclipse plugins for hardware design.
Holger Schill
Holger Schill
Xtext Committer / itemis
Holger is an Xtext Consultant at itemis. He concentrates on technologies around Eclipse and MDSD and is a committer at Xtend and Xtext. Holger is a regular speaker at international conferences.
Dr. Jan Köhnlein
Dr. Jan Köhnlein
Xtext Committer / itemis
Dr. Jan Koehnlein works as a senior software architect for itemis in Kiel. He has been a core committer of Xtext and Xtend right from their beginnings at Eclipse. Even though he has converted to the textual world he has not given up on graphical modeling completely.
Karsten Thoms
Karsten Thoms
Xtext Consultant / itemis
Karsten Thoms works as Software Architect at itemis AG. Karsten has over 15 years experience in the development of Java enterprise systems. His special focus is on Model Driven Development, especially with Code Generation and DSL development. The migration project for RHENUS Karsten joined in November 2013 until February 2015 and was responsible for all technical decisions and actively worked on the tool development.
Lieven Lemiengre
Lieven Lemiengre
Sigasi
Lieven Lemiengre is a VHDL Guru and works for Sigasi.
Lorenzo Bettini
Lorenzo Bettini
Consultant, Researcher and Author
Lorenzo is an Assistant Professor in Computer Science at the university of Torino, Italy. His research interests are design, theory and implementation of programming languages. He is the author of the book Implementing Domain-Specific Languages with Xtext and Xtend Lorenzo also works as a consultant for itemis Switzerland.
Max Vollmer
Max Vollmer
RHENUS Freight Network GmbH
Max Vollmer works as Software Architect at RHENUS Freight Network GmbH. Max has 12 years experience as developer in different areas, with his specialty being realtime systems for simulation, gaming and high-end server systems. The last 7 years he has been working in Java development in the business world, and founded his own company in 2012. He joined the migration project for RHENUS in May 2014 and is now the technical expert and responsible for the tool development and support of application developers.
Dr. Michael Bischoff
Dr. Michael Bischoff
Project Lead / arvato Systems
Michael leads the development of the multi-channel order management system “aroma” at arvato Systems. With a background in Combinatorial Optimization, he has worked for two decades on application development, using various languages, from C and COBOL to currently Java and Xtend. Applying code generation to avoid wasting time writing boilerplate code always has been important to him. He is also interested in code optimization (applying principles of “mechanical sympathy”) in order to obtain maximum throughput.
Michael Vorburger
Michael Vorburger
Temenos
Day job at TEMENOS. Mifos OSS Microfinance. Eclipse. Geek Father.
Miro Spönemann
Miro Spönemann
Xtext Committer / itemis
Miro has been researching on graph layout algorithms and their integration in Eclipse-based diagram viewers at the University of Kiel. He is now part of the Xtext committers team at itemis and is particularly interested in the integration of text and graphics.
Moritz Eysholdt
Moritz Eysholdt
Xtext Committer / itemis
Moritz Eysholdt is passionate about software development and works for itemis in Kiel, Germany. He is committer at the the Eclipse Projects Xtext and Xtend and he is initiator of the test-framework Xpect. You may have met him as a consultant, speaker or runner.
Sebastian Zarnekow
Sebastian Zarnekow
Xtext Committer / itemis
Sebastian Zarnekow works for itemis and lives in Kiel, Germany. As the co-architect of Xtend and Xtext he is specialized in language design, language implementation and IDE development. Sebastian presents at international conferences and writes articles for magazines.
Stefan Oehme
Stefan Oehme
Xtext Committer / itemis
Stefan Oehme is a software architect and consultant at itemis. His primary focus is on connecting developers and domain experts through domain driven design, better languages and continuous delivery. In his last project at a large German bank he cut down release cycles from six months to two weeks.
Steffen Skatulla
Steffen Skatulla
Xtext Consultant / itemis
Dr. Steffen Skatulla works as a senior software architect for itemis. In enterprise application projects he is focused on model-driven technology for more than 10 years, including architecture, DSL and generator development with Xtext and prior tools. He has a research background in databases.
Sven Efftinge
Sven Efftinge
Xtext Project Lead / itemis
Sven is a passionate software developer at itemis, who loves working with high quality source code. He's an experienced programming language and API designer and is the founder and project lead of Xtext and Xtend. In his spare time he codes Android apps, spends quality time with his family and is out on the sea for kite surfing.
Sven Schuster
Sven Schuster
TU Braunschweig
Sven is a PhD Student at the Institute of Software Engineering and Automotive Informatics at Technische Universität Braunschweig, Germany. His research interests revolve around programming languages and design patterns for software product line development.
Tom Schindl
Tom Schindl
Best Solution
Tom Schindl is an Austrian Java Software developer working on Eclipse projects like the Eclipse Platform and the JavaFX integration named e(fx)clipse. He is CTO of BestSolution.at a company specialized in Eclipse and JavaFX consulting for companies around the world.
Dr. Torsten Krämer
Dr. Torsten Krämer
Number Four AG
At Number Four AG Torsten Krämer works as a Sr. Software Engineer in a team developing a fully-featured JavaScript IDE and other development related tools. In his Ph.D he developed a Xtext-based language for semi-automatically deriving, in reproducible way, construction-site manufacturing processes out of architectural models.

Location

The Conference takes place at ATLANTIC Hotel, Kiel.

The ATLANTIC Hotel is located in the heart of Kiel, in the immediate vicinity of the Central Railway Station, overlooking the Kiel Fjord and the ferry piers.

A pedestrian bridge connects the first floor of the hotel to the car park. For attendees coming from Hamburg Airport we recommend the airport shuttle bus Kielius or the Kielexx airport shuttle.

Make a room reservation at the conference hotel using the special booking code "XTEXTCON"