Requirements engineers and stakeholders often use classic whiteboards to elicit and model requirements. Sketching fosters creativity and can also be applied by stakeholders who do not master a modeling language with a formal syntax. However, the power and ease of sketching comes at the expense of a media break, i.e., of later having to re-create the sketched models from scratch in a modeling tool in order to be able to manage requirements properly. This re-creation process is time consuming, error-prone, and can lead to a loss of information. Sketch recognition tools have been created to relieve the task of converting sketches into models. However, such tools rely on predefined notations, so that the user needs to know the underlying modeling language and is restricted to its vocabulary.
The goal of our approach is to unite the flexibility of unconstrained sketching with the power of formal modeling, and therefore eliminating media breaks. Our approach has to support the following activities:
- Modeling: allow users to sketch any informal models.
- Metamodeling: provide means for assigning syntax and semantics to sketched elements on the fly.
- Sketch Recognition: support the transformation of sketches into classic semi-formal models (e.g., a class diagram or a statechart) by a semi-automated method.
To ensure flexibility, requirements engineers must be able to switch between these three activities at any time (Figure 1).
We realize tool support by incorporating an existing sketch recognition framework that compares drawn shapes with the symbols included in a library. The library is dynamic as users change it during the modeling process.
One of the key problems we try to solve in our work is the metamodeling done by users. As metamodeling can be a very hard task even for experts, end-users of our tool will need some sort of automated guidance during this activity. Our focus does not lie on creating full-fledged metamodels, but rather on providing a lightweight, end-user metamodeling method.
FlexiSketch is a tool prototype for free-form sketching and flexible modeling. The prototype focuses on the modeling and sketch recognition activities from Figure 1. It also consists of a first step towards lightweight, end-user metamodeling by allowing users to assign types to symbols. More about the prototype can be found on this page.
D. Wüest, N. Seyff, M. Glinz (2015). Sketching and notation creation with FlexiSketch Team: Evaluating a new means for collaborative requirements elicitation. 23rd IEEE Int. Requirements Engineering Conference, Ottawa, CA, 2015.
D. Wüest, N. Seyff, M. Glinz (2015). FlexiSketch TEAM: Collaborative Sketching and Notation Creation on the Fly. 37th ACM/IEEE International Conference on Software Engineering (ICSE), Florence, Italy. The accompanying video won the Best ICSE 2015 Demonstration Video Award.
D. Wüest, N. Seyff, M. Glinz (2013). Semi-automatic Generation of Metamodels from Model Sketches. 28th IEEE/ACM International Conference on Automated Software Engineering, Silicon Valley, USA. [pdf]
D. Wüest, N. Seyff, M. Glinz (2013). Von der Idee zum Anforderungsmodell ohne Medienbruch. Software Technik Trends, Vol. 33 (1), GI.
D. Wüest, N. Seyff, M. Glinz (2012). FlexiSketch: A mobile sketching tool for software modeling. 4th International Conference on Mobile Computing, Applications and Services (MobiCASE), Seattle, USA. [pdf]
D. Wüest, N. Seyff, M. Glinz (2012). Flexible, Lightweight Requirements Modeling with FlexiSketch. Posters and Demos Paper at the 20th IEEE International Requirements Engineering Conference, Chicago, USA. [pdf]. Award: Best Poster and Demo.
D. Wüest (2011). Bridging the Gap Between Requirements Sketches and Semi-Formal Models. Doctoral Symposium of the 19th IEEE International Requirements Engineering Conference, Trento, Italy. [pdf]
D. Wüest, M. Glinz (2011). Flexible Sketch-Based Requirements Modeling. 17th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ 2011), Essen, Germany. [pdf]