|
Many of the tools I am involved in are available as open source. Below is a list, the most current projects
are at the top.
| mbeddr.com - rethinking embedded development |
 |
|
|
mbeddr.com aims at creating a different way of developing embedded software systems.
Instead of using archaic modeling tools and manually written C code, we use the open source JetBrains MPS
language workbench to create a holistic approach to embedded development, where C programming, modeling,
domain specific extensions and product line variability are supported directly. Take a look at this video
to learn details.
| Xtext Variability Tooling |
 |
|
|
Google Code Page
Product line engineering and model driven development are two approaches to software development that are becoming more and more important. The combination of the two approaches is promising. There are various ways of how those two approaches can be combined. One way is to use feature modeling to define variants of models created with domain specific languages.
The tools in this project are in implementation of this approach. For textual DSLs built with openArchitectureWare 4.3.1 Xtext this project contains tools to define variability. This means, that feature dependencies can be annotated to arbitrary grammar elements. A model processor removes all the elements from the model after it has been loaded whose features are not selected in the current configuration. Tool integration exists with pure::variants. Code completion from the DSL into the feature model is implemented, as well as traceability from the feature back to the models.
For completeness this project also contains a text processor that can customize text files according to features selections.
The download page contains documentation of how these tools should be used. To understand the background, please refer to my Architecture As Language papers, Part 1 and Part 2.
| Meta Model Semantic Annotations |
 |
|
|
Google Code Page
Many languages defined with Xtext have aspects in common. One way of exploiting
this is to modularize language definitions and then composing specific languages
from these modules. However, because of shortcomings of the current (4.3.1) version
of Xtext, this is not necessarily a very viable approach.
This semantic annotation toolkit provides support for another approach. Languages
are generated from scratch (i.e. there is no reuse between grammar fragments), but
the semantics of various language building blocks are still reusable. By annotating
grammar elements with semantic annotations, the necessary Xtext infrastructure can
be generated to make those grammar elements behave in a given way.
Technically, this is implemented by generating extensions and checks as well as by
model transformations and extensions of the meta model.
| Model Visualization |
 |
|
|
Google Code Project Page
This project contains a number of utilities to visualize EMF models. Visualizations are read-only, automatically layouted, and created
via a model-to-model transformation.
The visualization is based on the Eclipse ZEST project. The visualization toolkit is used in the following way: developers write a
model to model transformation for a given language. The transformation maps language abstractions to a generic graph meta model
consisting of nodes and edges with various decorations.
The current state of the project is still very much a prototype.
We are actively looking for additional contributors.
| openArchitectureWare |
 |
|
|
Website oAW is one of the most used MDSD tools worldwide.
It is based on Eclipse. The most well-known parts of oAW are the Xpand template engine as well as the Xtext tool
for building textual DSLs and the associated editors. As of 2010, all of oAW's ingredients have moved
to Eclipse into their own projects or components.
|