Xtext

Internal DSLs with Xtend

Session Type: 
Standard [35 minutes]
Speakers

Xtend, Eclipse's new statically typed programming language for the JVM offers many possibilities for developing very concise and declarative APIs - aka internal Domain-Specific-Languages (DSL).

Schedule info

Time slot: 
27 March 11:15 - 11:50
Status: 
Accepted

Audience

Track: 
DSL
Experience level: 
Beginner

Design your own UI description language with Xtext and Wazaabi

Session Type: 
Standard [35 minutes]
Speakers

With most existing frameworks, describing a UI can be painful, hard to read and hard to maintain. And for each of those frameworks, the paradigm is different.

Wazaabi allows the developer to model the UI using EMF and to render it, live, using different UI platforms like SWT, Swing, or even more. Furthermore it provides a way to describe the style of the UI in separate model, like CSS does it for HTML. Including that and the capability to declare binding to a data model, Wazaabi is one of the most agile UI declaration framework.

Schedule info

Time slot: 
26 March 16:15 - 16:50
Room: 
Federal
Status: 
Accepted

Audience

Track: 
DSL
Experience level: 
Intermediate

Telecommunications Network Planning revisited, moving away from spreadsheet engineering with Eclipse Technologies

Session Type: 
Standard [35 minutes]
Speakers

In this session we provide an overview of how Eclipse technologies were applied in an Enterprise application for the Telecommunications industry. A broad set of technologies from Eclipse and other open source communities like Apache have been carefully integrated together to create an advanced automated system and allow rich user interaction.

Schedule info

Time slot: 
26 March 15:00 - 15:35
Status: 
Accepted

Audience

Track: 
Modeling
Experience level: 
Intermediate
Slides: 

Xtext for Beginners

Session Type: 
Tutorial [3 hours]
Speakers

Are you bored of writing boilerplate code? Are you drowning in XML files? Do you have to verify every single change with long running integration tests?

Schedule info

Time slot: 
25 March 09:00 - 12:00
Room: 
Federal
Status: 
Accepted

Audience

Track: 
DSL
Experience level: 
Beginner

Xtext - More Best Practices

Session Type: 
Standard [35 minutes]
Speakers

From small domain specific languages over newly designed, grown-up programming languages or 'just' IDE support for existing ones - the Eclipse Xtext framework can be applied to a variety of use cases. But even though language development became incredibly straight forward with Xtext, crafting a high quality IDE requires some fine-tuning at the right places. In this session I will outline more best practices with Xtext and language design in general.

Schedule info

Time slot: 
28 March 11:00 - 11:35
Status: 
Accepted

Audience

Track: 
DSL
Experience level: 
Intermediate

Java DSLs with Xtext

Session Type: 
Standard [35 minutes]
Speakers

Building DSLs with Xtext is easy: You define the most convenient syntax and generate whatever code you like from it.

But integrating these DSLs within a Java project usually involves bridging some major gaps, e.g. mutual referencing, mixing generated and hand-written code as well as integration on the IDE level. Xtext's special support for Java DSLs gives you all of this and more for free.

Schedule info

Time slot: 
26 March 10:30 - 11:05
Status: 
Accepted

Audience

Track: 
DSL
Experience level: 
Intermediate
Slides: 

Executable Specifications for Xtext Languages

Session Type: 
Standard [35 minutes]
Speakers

Every newly designed language starts with a discussion on how the syntax should be, which concepts should supported, what the behavior should be etc. Such a discussion is exercised best when having many examples documents of that language to talk about.

In this talk I explain how such examples can be formalised to serve both as a specification and a JUnit test suite.

Schedule info

Status: 
Declined

Audience

Track: 
DSL
Experience level: 
Intermediate

Combining Languages with Xtext

Session Type: 
Standard [35 minutes]
Speakers

When you reflect on the name “Domain Specific Languages”, you’ll quickly notice, that “Domain Specific” implies that a DSL only excels at one certain thing - its domain. Real-world projects, however, tend to combine multiple (technical) domains. The classic example is the web project, which combines database access with business logic and web page rendering.

Therefore, the need arises to combine multiple DSLs - which shall be distinct languages and yet integrated with each other. Integration may be in in the same project or even in the same file.

Schedule info

Status: 
Declined

Audience

Track: 
DSL
Experience level: 
Advanced

Moses: a minimal functional programming language and IDE built with Scala and Xtext

Session Type: 
Standard [35 minutes]
Speakers

Moses is an experimental language, compiler and IDE intended as a platform for testing refactoring techniques for statically typed functional languages. It features full type inference, pattern matching, algebraic data types and lazy semantics, making it essentially a very small subset of Haskell. It compiles to Java and the hope is to make it able to interface nicely with native Java types, although that is a somewhat secondary goal to the refactoring research aspect. The original version of Moses has been implemented using Scala to develop the type checking logic, and Xtext for the IDE.

Schedule info

Status: 
Declined

Audience

Track: 
Cool Stuff (Other)
Experience level: 
Intermediate

Why do EMF and Xtext build with Buckminster?

Session Type: 
Standard [35 minutes]
Speakers

At a first glance it is easy to build Eclipse projects. The naive approach is to import them into your workspace and the Eclipse builder takes care of the rest. In the blink of an eye everything is compiled, ready to be exported. Turns out the approach is not too naive at all. The real question is why building that very same code base on an integration server has proven to be such a nightmare in the past? Shouldn't that be equally simple? This is where Buckminster comes into the picture.

Schedule info

Status: 
Declined

Audience

Track: 
Tools
Experience level: 
Beginner

Copyright © 2013 The Eclipse Foundation. All Rights Reserved.