The authors demonstrate the usability analysis of Object-Z user-interface designs. Usability can be defined in terms of five salient properties of an interactive system: task efficiency, reuse, user-computer communica...
详细信息
The authors demonstrate the usability analysis of Object-Z user-interface designs. Usability can be defined in terms of five salient properties of an interactive system: task efficiency, reuse, user-computer communication, robustness and flexibility Formal user interface designs have been advocated as a basis for determining the usability of an interactive system prior to the expense of system development. However, to date, a comprehensive demonstration of the utility of formal designs for this purpose has not been forthcoming. We investigate the limitations of model-based methods, such as Object-Z as a basis for analysis of user interface designs.
This paper reports on an industrial pilot project that introduces systematic, automated module testing for embedded software in distributed, real-time, control systems. The systems are used in safety-related applicati...
详细信息
ISBN:
(纸本)0769511597
This paper reports on an industrial pilot project that introduces systematic, automated module testing for embedded software in distributed, real-time, control systems. The systems are used in safety-related applications, are complex in nature, and hence have strong requirements for test coverage, auditability and repeatability. This paper explores issues of isolating modules from the run-time environment, improving integration of testing into the development environment, automating testing, and improving test planning and documentation. Metrics were gathered throughout the project that allow a coarse cost-benefit evaluation. Code coverage metrics for statement and branch coverage were also gathered using a commercial code coverage analysis tool. The testing exposed a number of latent faults within the software, and the overall results of the project show that module testing is feasible for this complex, embedded software.
UQ* is an evolving generic language-based environment for manipulation of structured documents. The environment is intended to capture both syntactic and relational structure within and between documents and to suppor...
详细信息
ISBN:
(纸本)0769509819
UQ* is an evolving generic language-based environment for manipulation of structured documents. The environment is intended to capture both syntactic and relational structure within and between documents and to support user interaction via both textual and diagrammatic views. This paper illustrates the innovative features of the environment description language used to instantiate a UQ* environment.
Existing software configuration management (CM) tools are limited in the support they provide for configuration and change management of hierarchically structured software systems. This paper describes a framework for...
详细信息
Existing software configuration management (CM) tools are limited in the support they provide for configuration and change management of hierarchically structured software systems. This paper describes a framework for CM of subsystems-logically coherent collections of software development artefacts, including code, documentation and test sets. The goal is to provide visibility of changes at intermediate levels between whole-system and source-code levels, thereby reducing the complexity of the build V&V and change management processes. The framework supports characterisation of subsystems and changes to subsystems, and provides hooks into change tracking processes.
The logic programming refinement calculus is a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we show how types can ...
详细信息
The refinement calculus is a well-established theory for formal development of imperative program code and is supported by a number of automated tools. Via a detailed case study, this article shows how refinement theo...
详细信息
A variety of hazard analysis techniques have been proposed for software-based systems but individually the techniques are limited in their ability to cope with system complexity, or to derive and prioritise component ...
详细信息
The logic programming refinement calculus is a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we show how types can ...
详细信息
The logic programming refinement calculus is a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we show how types can be handled in the logic programming refinement calculus. Types of variables are necessary for a complete specification of a procedure, and typing information can guide the refinement of a procedure specification to code. As an application of this framework, we show how dynamic type-checks can be formally eliminated from a sample program.
With the advent of object-oriented languages and the portability of Java APIs, the development and use of reusable software components is becoming a reality. Effective component reuse depends on component reliability,...
详细信息
We define a translation from the User Action Notation (UAN) to the process algebra Communicating Sequential Processes (CSP). UAN is an informal notation, used for task modeling and design. Translating a UAN task descr...
详细信息
We define a translation from the User Action Notation (UAN) to the process algebra Communicating Sequential Processes (CSP). UAN is an informal notation, used for task modeling and design. Translating a UAN task description to CSP provides a base for rigorous development of an interactive system. The resulting CSP description is a suitable abstract starting point for development, as it describes externally visible behaviour with no mention of presented or underlying state. Our translation covers all UAN constructs except for waiting, interruptibility and true concurrency which cannot be expressed in interleaving, un-timed CSP. Our approach integrates task models, typically based on user-oriented concerns, into rigorous development which is typically system-oriented. It provides a bases for a framework for formal development of interactive systems.
暂无评论