Planning and design of information systems
Planning and design of information systems
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
A Case-Study in Timed Refinement: A Mine Pump
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
Functional documents for computer systems
Science of Computer Programming
Accommodating interference in the formal design of concurrent object-based programs
Formal Methods in System Design
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Problem frames: analyzing and structuring software development problems
Problem frames: analyzing and structuring software development problems
Specification and Compositional Verification of Real-Time Systems
Specification and Compositional Verification of Real-Time Systems
Formal Development of Reactive Systems: Case Study Production Cell
Formal Development of Reactive Systems: Case Study Production Cell
Reasoning about Programs by Exploiting the Environment
ICALP '94 Proceedings of the 21st International Colloquium on Automata, Languages and Programming
Hybrid Verification by Exploiting the Environment
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Refinement from a Control Problem to Programs
Formal Methods for Industrial Applications, Specifying and Programming the Steam Boiler Control (the book grow out of a Dagstuhl Seminar, June 1995).
Refining Interval Temporal Logic Specifications
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Some thoughts on proving clean termination of programs.
Some thoughts on proving clean termination of programs.
Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective
Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective
Software Engineering 3: Domains, Requirements, and Software Design (Texts in Theoretical Computer Science. An EATCS Series)
Determining the specification of a control system: an illustrative example
Rigorous Development of Complex Fault-Tolerant Systems
Dynamically Detecting Faults via Integrity Constraints
Methods, Models and Tools for Fault Tolerance
Reflections on, and Predictions for, Support Systems for the Development of Programs
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Formal engineering of XACML access control policies in VDM++
ICFEM'07 Proceedings of the formal engineering methods 9th international conference on Formal methods and software engineering
A timeband framework for modelling real-time systems
Real-Time Systems
Formal development of a tool for automated modelling and verification of relay interlocking systems
FM'11 Proceedings of the 17th international conference on Formal methods
Socio-technical complex systems of systems: can we justifiably trust their resilience?
Dependable and Historic Computing
Abstraction as a unifying link for formal approaches to concurrency
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Towards an algebra for real-time programs
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Theories of Programming and Formal Methods
A method and tool for tracing requirements into specifications
Science of Computer Programming
Hi-index | 0.00 |
Well understood methods exist for developing programs from formal specifications. Not only do such methods offer a precise check that certain sorts of deviations from their specifications are absent from implementations but they can also increase the productivity of the development process by careful use of layers of abstraction and refinement in design. These methods, however, presuppose a specification from which to begin the development. For tasks that are fully described in terms of the symbolic values within a machine, inventing a specification is not difficult but there is an increasing demand for systems in which programs interact with an external physical world. Here, the task of fixing the specification for the "silicon package" can be more challenging than the development itself. Such applications include control programs that attempt to bring about changes in the physical world via actuators and measure things in that external (to the silicon package) world via sensors. Furthermore, most systems of this class must tolerate failures in the physical components outside the computer: it then becomes even harder to achieve confidence that the specification is appropriate. This paper offers a systematic way to derive the specification of a control program. Furthermore, our approach leads to recording assumptions about the physical world. We also discuss separating the detection and management of faults from system operation in the absence of faults. This discussion is linked to the distinction between "normal" and "radical" design.