Modelling the behaviour of a system under development has proved to be a very effective way to ensure that it will be constructed correctly. However, building up this model is a difficult task that requires a significant time investment and a high level of expertise. Consequently, incremental approaches that construct a system model from partial behavioural descriptions have been widely adopted. The challenge in such approaches lies in finding both the adequate behavioural formalism that fits the needs of the analyst and a formal composition mechanism that facilitates the generation of the expected behavioural model and produces a verifiable model. Within this framework, use-case approaches have been also accepted in industry because they make the process of requirements elicitation simpler. Their main shortcoming is their lack of formalisation, which makes validation difficult. A formal approach for composing partial system behaviours where partial system behaviours are defined as finite state automata is proposed. Each automaton represents a use-case that describes a certain system concern, hence the name use-case automaton (UCA). The composition of different UCAs could be performed with respect to a set of states or transitions specified by the analyst, using certain composition operators. Each of these operators has a precise semantics, which is defined by how the composition is performed. The formalization of use-case composition is based on label matching between the UCAs to be composed. Our approach is fully automated and provides the advantage of generating a UCA that meets the intended behaviour without unexpected scenarios. Finally, the UMACT, which implements our composition approach, is presented.
Read full abstract