Meta-Packages: Painless Domain Specific Languages

Domain Specific Languages are used to provide a tailored modelling notation for a specific application domain. There are currently two main approaches to DSLs: standard notations that are tailored by adding simple properties; new notations that are designed from scratch. There are problems with both of these approaches which can be addressed by providing access to a small meta-language based on packages and classes. A meta-modelling approach based on meta-packages allows a wide range of DSLs to be defined in a standard way. The DSLs can be processed using standard object-based extension at the meta-level and existing tooling can easily be defined to adapt to the new languages. This paper introduces the concept of meta-packages and provides a simple example.

MetaPackages "Meta-Packages: Painless Domain Specific Languages"

Beyond Annotations: A Proposal for Extensible Java (XJ)

This paper shows how Java can be extended with a new concept called syntax-classes which allow new language features to be embedded in the language in a systematic way. The extensions allow both concrete and abstract syntax to be processed by Java and thereby support Language Oriented Programming and Domain Specific Languages. The paper shows how the new language features can be added to Java as conservative extensions and develops a number of examples. The mechanisms have been shown to work as part of the open-source XMF language.

XJ "Beyond Annotations: A Proposal for Extensible Java (XJ)"

Superlanguages (First Edition)

Superlanguages offer a wide range of technologies that support application development. In particular Superlanguages support Language Oriented Programming and Domain Specific Languages through syntax extensions and meta-programming. XMF has been designed as a Superlanguage and can be downloaded from this web site. This book describes Superlanguage features and shows how XMF can be used to develop new languages and applications.


Superlanguages



Applied Metamodelling (Second Edition)

In 2004, Ceteva personnel published a freely available book explaining how software and systems complexity can be managed using an approach called Applied Metamodelling. This book has been widely cited and has been influential in a number of technology initiatives including the Eclipse Modeling Project. Applied Metamodelling is now available in its second edition to download here:


Applied Metamodelling