Interactive Use Case based Prototyping

Prototyping is a widely accepted technique to evaluate complex system behavior. Prototypes are especially helpful to analyze use cases that many stakeholders find complicated due to their abstractness and fragmentation. Nowadays prototypes are typically created manually and they are not directly connected to other requirements specification documents. Thus their development is expensive and often of sync with corresponding requirements specifications. Therefore we have devised a generative approach to derive interactive prototypes automatically from a use case based requirements specification.

Our approach is based on an integrated requirements model that combines functional use case models with user interface prototypes and domain concept models. Additionally we have defined a formal token-flow based execution semantic for this model.

Based on this requirements model we have created a fully automated transformation approach that is able to generate interactive behavior prototypes. The simulation runs are performed on UI mockups derived from user interface prototypes. This enables non technical stakeholders to experience the behavior in a simple intuitive fashion and can additionally be used as basis for feasibility studies. Because of a specific structure of our generation approach we are moreover able to use the simulation proactively during requirements modeling.

During the last year we developed an integrated tool support called OpenUMF for the specification of all perspectives of the requirements model based on ViPER technology. Additionally we developed an integrated simulation environment that is able to generate and execute interactive prototypes from our requirements model. The generation approach is implemented in a flexible way such that it can be used to generate prototypes for only partially complete models. Thus the prototypes can be used for requirements inspections as well as proactively during requirements modeling.