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 (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]
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. 100-105. [pdf]