1st Workshop on Reuse at the Language Level @ Bellairs

Domain-Specific (Modeling) Languages (DSLs) aim at bridging the gap between the problem space (in which stakeholders work) and the solution space (the concrete software artifacts defining the target system).  They are usually small and intuitive software languages whose concepts and expressiveness are focused on a particular domain. As “software languages are software too”, the development of DSLs and their supporting environment (editors, generators, simulators, etc.) inherits the complexity of software development in general.

The development of DSLs is prone to errors and requires substantial engineering efforts. Moreover, using today’s technologies, the same process is typically repeated from scratch for every new DSL or new version of a DSL. To foster their adoption in the industry, the benefits in terms of productivity when using DSL technologies must offset the initial investment required in developing such DSLs. Therefore, tools and methods must be provided to assist language designers in the development of new DSLs and the evolution of legacy ones to mitigate development costs. Techniques for increasing reuse from one DSL to another and supporting the customization of legacy ones to meet new requirements are thus particularly welcomed.

During this workshop, which is going to take place at the Bellairs Research Institute of McGill in Holetown, Barbados from Friday March 17th 2016 to Friday March 24th 2017, we propose to survey the current approaches for reusable DSL development, and to investigate a common conceptual model. We will investigate ways of modularization of languages and language fragments, language and language fragment interfaces, composition of languages and language fragments as well as language customization, and analyze how the aforementioned concepts facilitate reuse at the language level. To stimulate discussions towards reaching this goal, we will conduct hands-on sessions where we experiment with and combine our approaches on concrete examples.

Planned Workshop Activities

The workshop schedule is not set in stone yet, i.e., the activities that are going to take place depend on the expertise, expectations and motivation of the participants. Since the workshop is a 1 week workshop we certainly want to apply existing (language) reuse strategies on concrete examples. One of the examples we propose to tackle concretely during the workshop is the expression (family) problem. The expression (family) problem is akin to the expression problem, but at the language level, i.e., to define a family of languages, where one can add new languages to the family and new tools over the family, without recompiling existing code, and while retaining static type safety (e.g., no casts).  As a concrete example, consider state machines as the languages family, begin with one language (e.g., FSM) and one tool (e.g., pretty-printer), then add one more language (e.g., TFSM) and one more tool (e.g., flatten).

Previous Bellairs Workshops

Use the navigation menu above to get more information on Bellairs and on the current list of invited participants / participants that accepted the invitation. You can also look at the 2016, 2015 2014, 2013, 2012, 2011, 2010 and 2009 editions of the Bellairs modelling workshop.

Last modified: January 12, 2017, Jörg Kienzle