by Peter Friese
There has been lots of talk about modeling recently, and some protagonists even suggested to do it with a model (http://ed-merks.blogspot.com/200...).
The question is, what is “it”? What exactly should you do with a model?
In this session, we will focus on model driven development and show you how models can save you from writing all that boring code and concentrate on the fun part of software development again.
Model Driven Software Development helps you in capturing the essence of a software system in a model and driving one or more code generators with that model, generating all the boilerplate code for any of your target platforms.
This session will demonstrate how:
- you can use any EMF model as an input to an Xpand code generator, specifically
-- Xtext models
-- Ecore models
-- UML models
-- and even POJOs
- you can use your code generator
-- inside a Wizard
-- using a workflow file
- you can integrate generated and manually written code
You will also learn what's the difference between active and passive code generation, how to make your models more intelligent using Xtend and that polymorphism is not some disease, but your friend.
I will bring some slides, but also will show some demos.
Model-driven approaches can build large parts of iPhone applications with domain-specific languages. Based on the Eclipse Modeling Project with components such as Xtext and Xpand the tool integrates well into the Mac programming environment Xcode to assist the iPhone developer with her remaining work.
In this session I will demonstrate how tightly Eclipse-based solutions can be integrated into existing tool chains outside the world of Eclipse. From scratch, I will use DSLs to develop and enhance an iPhone App that connects to a Rails application and make it to a fancy eye-catcher by weaving in manually written code.
Heiko Behrens works as a software architect and consultant for itemis AG in Kiel (Germany). His current focus is on domain-specific languages where he is involved with the design and implementation of Xtext. He is a commiter for the Eclipse Modeling Project and openArchitectureWare.
The Xtext framework greatly simplifies the development of domain specific languages (DSL) and even programming languages. Starting with a grammar definition, Xtext automatically derives the abstract syntax based on EMF, a rich featured, customizable Eclipse editor and the infrastructure to process your language files with a code generator or an interpreter. While with Galileo the framework already provided the tools to easily develop feature-rich editors for your very own languages, the Helios release of Xtext will provide you with a full-fledged IDE.
In this session you will learn what Xtext is, how it works and what new and noteworthy features the Helios release will bring.
Xtext is a framework for defining textual languages for a vast range of different scenarios. One of them is e4 where developing applications implies a lot of declarative programming such as defining UI styles or the workbench. The structure of these declarative parts is in most cases defined by an Ecore model that comes with generic default tooling. While this is already superior to traditional "XML programming", Xtext not only can improve the tooling but can offer an even more expressive way to describe the very same information. It allows you to design a language exclusively for this purpose. And you will do so within 180 minutes :)
In this tutorial we will choose the workbench of e4 as an example and demonstrate how Xtext can be used to implement high-quality tooling for its models. We will create a language for the workbench model complemented by an editor with elaborated support for cross references within the model and to external Java elements instead of just plain string matching. That editor will provide syntax highlighting, content assist and validation with immediate feedback while describing true EMF models that can be consumed by e4. We will build a language and tooling that feels more natural to Java developers, thus lowering the barrier for developing e4 applications.
22nd–25th March 2010