Model-based development assumes the pervasive use of models along all software development phases. Models are usually built using modelling tools. Behind each tool there is a modelling language that comprises one or more specification techniques. A specification technique represents the essential ideas (archetypal view) behind a modelling (sub-)language. Thus, concrete modelling languages instantiate one or more specification techniques. Currently, there are quite a number of specification techniques available that have different focuses and fit better for certain modelling purposes and/or process phases. Furthermore, different specification techniques might address different aspects of the system such as its behaviour, structure, or interaction with the environment. Distinguishing among the strong points of each specification technique is difficult due to the big variety of their dialects and various maturity degrees of tool support. This document presents a set of criteria for classifying well-known and widespread specification techniques. While in practice the choice of a specification technique is normally driven by the availability of tools in an organisation, this works aims at building a catalogue that can be used off-the-shelf by engineers in order to make informed decisions about the adequacy of a certain specification technique for different modelling tasks.
«
Model-based development assumes the pervasive use of models along all software development phases. Models are usually built using modelling tools. Behind each tool there is a modelling language that comprises one or more specification techniques. A specification technique represents the essential ideas (archetypal view) behind a modelling (sub-)language. Thus, concrete modelling languages instantiate one or more specification techniques. Currently, there are quite a number of specification techn...
»