Popis: |
Whilst increasingly the importance of the timing correctness of software (and of systems in general) is being recognised, in truth this aspect of design is not yet receiving full attention. Often the full extent of timing problems are not understood, and software engineering tools to support comprehensive timing analysis are not commercially available. Even in the case of systems that must be licenced before use, the licensing procedures do not normally study timing correctness systematically. The situation is particularly serious with systems that are based on intelligent automation techniques because of such systems’ intrinsic non-deterministic behaviour This paper starts with examples of where timing errors (or timing inconsistencies) may cause major problems in a system's functioning. These examples lead to the conclusion that timing problems cannot be handled separately from considerations of algorithms, other software components, and the application itself. This relationship between timing and system's behaviour leads to the suggestion that it is necessary to have a joint description, and an analysis of, a system's functional and non-functional requirements. The timing analysis involved should also be iterated around at each stage of a system's lifecycle. To this end the paper concludes with a description of a formal method and a new CASE tool that supports the designer in studying and/or verifying the timing correctness of a proposed system during all stages in its design and implementation |