Jan. 30th - Feb. 6th 2015

1st Concern-Oriented Reuse Workshop @ Bellairs

The 1st Concern-Oriented Reuse Workshop at the Bellairs Research Institute of McGill will take place from Friday January 30th 2015 to Friday February 6th 2015.

A concern encapsulates a set of models at potentially different phases of software development that pertain to some point of interest of a developer or stakeholder. A concern has a root phase, i.e., it starts to be relevant at a certain point during software development. For example, some concerns appear at the requirements phase, e.g. security, since they are of relevance to external stakeholders. Other concerns, for instance database integration, appear during the architecture or design phase. For the root phase and all subsequent phases, models are built that express the properties of the concern that are relevant during that phase using the most appropriate formalism. Concern models should also include all relevant variations/choices that are available to developers, if any, together with guidance on how to choose among those variations when moving from one phase to the next. Finally, a concern should also define the model transformations that link the models established for the concern at different levels of abstraction, and finally to code that can be executed.

A concern provides three interfaces for easy concern reuse:

   • The Variation Interface describes the available variations of the concern and the impact of different variants on high-level goals, qualities, and non-functional requirements. The variations are typically represented with a feature model that specifies the individual features that a concern offers, as well as their dependencies. The impact of choosing a feature can be specified with goal models.

  • The Customization Interface describes how a chosen variant can be adapted to the needs of a specific application. Each variant of a concern is described as generally as possible to increase reusability. Therefore, some elements in the concern are only partially specified and need to be related or complemented with concrete elements of the application that intends to reuse the concern. The customization interface is hence used when a specific variant of a reusable concern is composed with the application.

  • The Usage Interface describes how the application can finally access the structure and behaviour provided by the concern.

The initial plan for this year’s workshop is to be “hands on”, i.e., to produce reusable models (feature models, requirement models, formal specifications, architectural models, design models) and reusable code for specific concerns. In particular, we want to focus this year on two highly complex concerns that are relevant in most modern applications: security and availability/fault tolerance. We therefore want to attract participants that are in some way interested in concern-driven software development, i.e., that either:

  1. Work with specific model-driven engineering approaches, or

  2. Want to understand the properties of modelling notations and approaches, and how they relate to each other, or

  3. Work with software product lines, or

  4. Apply separation of concern principles to develop well-modularized software artifacts at model or code level, or

  5. Are security or availability/fault tolerance experts

We are planning to invite a group of ~25 researchers (composed of senior and junior faculty, postdocs and students) whose expertise covers the areas mentioned above.

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. As mentioned above, the plan is to spend most of the 5 working days of the workshop (Saturday - Wednesday) creating models for security or availability, modularizing them in concerns, identifying features of the concerns at different levels of abstraction, modelling and coding the properties of those features, and ensuring that the produced models and code are reusable by creating variation, customization and usage interfaces for them. The work will be done in small groups, and then presented to the others at regular intervals for feedback. High-quality models produced in the workshop will be submitted to ReMoDD.

We are also planning to collaboratively write an experience paper that reports on the insights we gained while applying concern-driven development in practice.

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 2014, 2013, 2012, 2011, 2010 and 2009 editions of the Bellairs modelling workshop.

Last modified: November 23, 2015, Jörg Kienzle