|
Despite the long history of the Specification and Description Language, it was a fact that 1988 was only the beginning of an era of specification languages. Although they have subsequently become more popular, it is assumed that the average reader of this tutorial is not familiar with such languages. Therefore in this section an outline is given of the benefits of using specification languages, as compared to using programming languages (such as C or Java) or design methods (such as SADT), which are assumed to be well known. For a more complete treatment, see the ITU/ISO manual / Ken Turner book on formal description techniques [4]. It is probably widely accepted that the key for success of a system is a thorough system specification and design. This requires a suitable specification language, satisfying the following needs:
The result of system specification and design activity is called here a specification. For a system there may be specification on different levels of abstraction. A specification is a basis for deriving implementations, but should for modelling purposes abstract from implementation details in order
In contrast to a program, a formal specification - that is a specification written in a specification language - is not (necessarily) intended to be run on the target platform. In addition to serving as a basis for deriving implementations, a formal specification can be used for precise and unambiguous communication between people, particularly for ordering and tendering. The use of a specification language makes it possible to analyse and simulate alternative system solutions, which in practice is often impossible when using a programming language due to the cost and the time delay. A specification language offers a well defined set of concepts to the user of the language, improving his capability to produce a solution to a problem and to reason about the solution. Despite the above criteria for specification, the reality is that in more and more cases, a suitable language such as the ITU-T Specification and Description Language can be used as a broad spectrum language taking descriptions from high level abstraction models to executable models that can actually be used as the implementation. Using one language avoids a paradigm shift and a re-encoding of the model with consequent introduction of errors going from specification to implementation. What may be left to do at the implementation level is fine tuning of the performance by re-coding a few critical elements, and dimensioning the model to hundreds or thousands, rather than the small numbers used for validation of a specification. |
Contact the webmaster with
questions or comments about this web site. |