Formal Specification in Collaborative Design of Critical Software Tools
نویسندگان
چکیده
Engineers use software tools to model and analyze designs for critical systems. Because important design decisions are based on tool results, tools must provide valid modeling constructs; engineers must understand them to validate their models; and tools must implement these constructs without significant error. Such tools thus demand careful conceptual and software design. An important aspect of such design is the use of rigorous specification and advanced design techniques. This paper contributes a case study on the use of such techniques in the collaborative development of a fault tree analysis tool. The collaboration involved software engineering researchers knowledgable about software specification and design and reliability engineering researchers expert in fault tree techniques. Our work revealed conceptual and implementation errors in an earlier version of the tool. Our study supports the position that there is a need for rigorous software specification and design in developing novel analysis tools, and that collaboration between software engineers and domain experts is feasible and profitable.
منابع مشابه
Techniques for Reactive System Design: The Tools in TRADE
Reactive systems are systems whose purpose is to maintain a certain desirable state of affairs in their environment, and include information systems, groupware, workflow systems, and control software. The current generation of information system design methods cannot cope with the high demands that originate from mission-critical application, geographic distribution, and a mix of data-intensive...
متن کاملOn Formal Specification of a Proof Tool
Tools and methods for the specification and design of computer systems are increasing in sophistication. Much current research and development is attempting to exploit this sophistication to improve the effectiveness of systems development practices. It is becoming feasible to offer much higher assurance than hitherto that systems meet critical requirements, e.g. concerning safety or security. ...
متن کاملDeveloping Safety-Critical Systems: The Role of Formal Methods and Tools
In recent years, many formal methods have been proposed to improve the quality of safety-critical software systems. These methods include new specification and modeling languages as well as formal verification techniques, such as model checking and theorem proving. This paper describes numerous ways in which tools supporting formal methods can improve the quality of both software code as well a...
متن کاملAn integrated environment of S/W specification and V&V for safety-critical systems
As a digital system becomes more important in recent years, software specification and analysis techniques become a central problem in the safety-critical systems. Therefore, the importance of software verification and validation (V&V) based on an adequate specification is more emphasized in view of the software quality. For a thorough V&V, it should be performed throughout whole software life ...
متن کاملAn Experiment in Formal Design Using Meta-properties
Formal methods tools have greatly influenced our ability to increase the reliability of software and hardware systems by revealing errors and clarifying critical concepts. In this article we show how a rich specification language and a theorem prover for it have contributed to the design and implementation of verifiably correct adaptive protocols. The protocol building team included experts in ...
متن کامل