Dagstuhl Seminar 13182
Meta-Modeling Model-Based Engineering Tools
( Apr 28 – May 03, 2013 )
- Tony Clark (Middlesex University, GB)
- Robert B. France (Colorado State University, US)
- Martin Gogolla (Universität Bremen, DE)
- Bran V. Selic (Malina Software Corp. - Nepean, CA)
- Susanne Bach-Bernhard (for administrative matters)
- Research Questions for Validation and Verification in the Context of Model-Based Engineering : article : MoDeVVa 2013 : 10th Workshop on Model-Driven Engineering, Verification, and Validation - Dubois, Catherine; Famelis, Michalis; Gogolla, Martin; Nobrega, Leonel; Ober, Ileana; Seidl, Martina; Völter, Markus - CEUR-WS.org, 2013. - 10 pp..
In model-based engineering (MBE) abstraction via modeling is used as a mechanism for managing the increasing complexity of systems that are based on heterogeneous, distributed and often transient technologies. An effective approach to software engineering must be supported by effective technologies (i.e., languages, methods, processes, tools). The range of operations required by any industrial use of model-based approaches leads to two tooling scenarios. The first scenario aims to use a single tool to support the complete modeling life-cycle. This is attractive because it avoids the inter-tool transformation and communication problems at the expense of an enormous tool development and maintenance cost. The second scenario aims to use a federated collection of tools that originate from different sources and to use transformation and exposed interfaces to achieve interoperability. Consistency and interoperability between modeling tools has been shown to be a problem leading to complex low-level solutions.
A standard MBE tooling meta-model based on the best available tooling experience would provide tool developers with the means to better define, evaluate and control tool quality, leading to a situation where MBE can be applied to tool generation. Such a model would include specific tool attributes and qualities required in any tool implementation. Therefore tool concerns such as tool functionality and associated data invariants, user interface quality, support for enhancing user experience (e.g., through the use of wizards and automated control of workflows), and interoperability can be standardized across multiple instances of the tool model. Since tools are modeled, MBE could be brought to bear on tool definitions including the ability to transform, restrict and combine tools. Commercial aspects of MBE are not compromised by this approach since both tool platforms and the generated tools may be sold in addition to being made open-source. Developing a standard model for MBE tooling that addresses the issues outlined above raises huge challenges. In order to produce a meta-model, we must understand how industry uses modeling tools, understand how to represent tooling quality and usability issues, understand the different business models for MBE tools, and how to represent a suite of related MBE tools as a product family.
This seminar will bring together a group of experts to discuss how meta-modeling can be used to significantly improve the quality of MBE tooling. Topics for group work will include: Features: what are the features of tools that need to be modeled? We envisage that this list will include: syntax; serialization; documentation; semantics; tests; version management; user models; quality; life-cycles; model management. Methods: what methods are appropriate to develop tool models? What types of language are suitable for describing the features identified above? In particular how can quality issues be addressed in tool models? Human Factors: what issues relate to the usability of tools? How can these issues be modeled and included in a tool meta-model? Business: what business models are appropriate when tools are modeled? Frameworks: what features should a framework that processes tool models have? Can such a framework be standardized? Are their candidate frameworks available, and if so how can integration be achieved? Case Studies: Group sessions will be seeded with a small number of candidate tool descriptions that can be used to drive the different perspectives.
The overall aim of the seminar is to establish a research landscape for tool-meta-modeling in terms of the features that any model would need to include and the associated issues that need to be addressed. The seminar will produce a web-resource including the outputs of themed discussion groups and tool case studies that are developed during the week.
The 33 participants at the Meta-Modeling Model-Based Engineering Tools (M^3BET) Dagstuhl Seminar were brought together to explore how model-based engineering (MBE) techniques can be used to improve the quality of software modeling tools. The participants included expert researchers, practitioners and tool developers in the software/system modeling and the human computer interaction communities. The discussions aimed to answer the following question: Can MBE techniques be used to produce more effective MBE tools, and, if so, how should it be done?
The vision underlying the seminar is one in which technologists create tool models that specify desired tool features, and tool modeling frameworks that are used to analyze, compose, transform, simulate and otherwise manipulate the tool models. In the vision, tool developers will use tool models and frameworks to produce useful, usable and cost-effective software modeling tools.
The final seminar program is given in Figure 1. On the first day the seminar objective and outcomes were presented. The seminar objectives, as presented on that day, was to better understand the !what, why, and how" of tool models, and initiate work on (1) languages for tool modeling, (2) MBE methods and technologies for tool development, and (3) tool modeling frameworks.
The planned outcomes were (1) reports on the results of group discussions, (2) a research roadmap for achieving the tool modeling vision, (3) potential solutions for achieving the vision, and (4) initiation of new research collaborations among participants.
To help shape and initiate the discussions, the organizers proposed the following as an initial set of breakout group topics:
Tool capabilities - The intent was that discussions in this group would focus on identifying the software tool capabilities that should be captured in tool models, and on how these capabilities could be captured in tool metamodels. This covers discussions on (1) how metamodels can be used to describe tool capabilities in a manner that supports generation of high-quality tool components, (2) the utility and feasibility of defining tool metamodels, (3) potential benefits associated with and purposes served by a tool metamodel, and (4) challenges associated with developing an effective metamodel (i.e., a metamodel that is fit-for-purpose).
Tool ecosystems - A tool framework can be thought of as a technological ecosystem that involves both tools as well as tool users. Discussions in this group would seek answers to questions such as: What are the features of a good tools framework? Are there candidate frameworks available? If so, are they sufficient or do they need to be extended?
Tool development methods -- Discussions in this group would focus on answering the following questions: How can MBE be applied to the development of MBE tools? What types of languages are suitable for describing tools? How can tool quality issues be addressed by such methods?
During the discussions on group topics it was decided to base the groups on tool concerns and issues that the participants had some stake in. It turned out that the concerns and issues that arose from the discussions were mostly derived from those underlying the groups proposed by the organizers.
The concerns and issues were then clustered into two groups based on participant interests. Group A consisted of usability, utility, and broader non-technical concerns (e.g., designing tools that support how developers work and think, designing and performing usability studies, adapting tool features to user expertise and desired level of formality, marketing/business/cultural concerns). Group B consisted of the more technical concerns, for example, concerns related to tool development methods, scalability, support for separation of concerns, tool quality assessment and benchmarking.
Group B concerns were further grouped into two categories: Composition, and Methods and Quality concerns. The Composition concerns included issues related to tool, language, and model composition, and the use of multi-models with heterogeneous semantics.
Three Working Groups, each focusing on one of the above concern groups, were formed on the seminar's first day. A summary of the discussions that took place in each group is included in the report.
Summary and Future Work
One of the major insights gained during the seminar was that a good understanding of the utility of tool models and the identification of appropriate forms of tool models/metamodels requires one to first address more fundamental tool development and assessment concerns. On hindsight, this should not have been a surprising result; effective tool models would have to capture significant tool development and assessment experience and knowledge and thus such experience and knowledge needs to be distilled first. The seminar provided a good forum for discussing and organizing the experience and knowledge of the participants. Post-seminar collaborations that will utilize these results to develop an initial set of tool models/metamodels were initiated at the seminar.
In addition to the planned collaborations on tool models, the participants also agreed to engage in the following post-seminar activities:
- Publications: The following publications are planned
- A special issue of the Software and System Modeling (SoSyM) journal that will include articles that focus on the concerns and issues discussed at the seminar.
- A paper that discusses problems associated with current software modeling tools.
- Workshops: Workshops in which participants will discuss and develop tool models/meta- models will be held at conferences such as MODELS 2014 and ICSE 2014.
- Colin Atkinson (Universität Mannheim, DE) [dblp]
- Tony Clark (Middlesex University, GB) [dblp]
- Benoit Combemale (IRISA / CNRS, FR) [dblp]
- Larry Constantine (University of Madeira - Funchal, PT) [dblp]
- Lukas Diekmann (King's College London & PPMGroup Univ. of Konstanz, GB) [dblp]
- Catherine Dubois (ENSIIE - Evry, FR) [dblp]
- Michalis Famelis (University of Toronto, CA) [dblp]
- Robert B. France (Colorado State University, US) [dblp]
- Martin Glinz (Universität Zürich, CH) [dblp]
- Martin Gogolla (Universität Bremen, DE) [dblp]
- Lars Hamann (Universität Bremen, DE) [dblp]
- Øystein Haugen (SINTEF - Oslo, NO) [dblp]
- Gabor Karsai (Vanderbilt University, US) [dblp]
- Steven Kelly (MetaCase - Jyväskylä, FI) [dblp]
- Thomas Kühne (Victoria University - Wellington, NZ) [dblp]
- Vinay Kulkarni (Tata Consultancy Services - Pune, IN) [dblp]
- Stephen J. Mellor (Evesham, GB) [dblp]
- Pieter J. Mosterman (The MathWorks Inc. - Natick, US) [dblp]
- Pierre-Alain Muller (University of Mulhouse, FR) [dblp]
- Leonel Domingos Telo Nóbrega (University of Madeira - Funchal, PT) [dblp]
- Ileana Ober (Paul Sabatier University - Toulouse, FR) [dblp]
- Marian Petre (The Open University - Milton Keynes, GB) [dblp]
- Dorina C. Petriu (Carleton University - Ottawa, CA) [dblp]
- Louis Rose (University of York, GB) [dblp]
- Bernhard Rumpe (RWTH Aachen, DE) [dblp]
- Martina Seidl (Universität Linz, AT) [dblp]
- Bran V. Selic (Malina Software Corp. - Nepean, CA) [dblp]
- Perdita Stevens (University of Edinburgh, GB) [dblp]
- Laurence Tratt (King's College London, GB) [dblp]
- André van der Hoek (University of California - Irvine, US) [dblp]
- Markus Völter (Völter Ingenieurbüro - Stuttgart, DE) [dblp]
- Jon Whittle (Lancaster University, GB) [dblp]
- Dustin Wüest (Universität Zürich, CH) [dblp]
- modelling / simulation
- software engineering
- Model-Based Engineering
- Software Tools
- Software Standards