A theory for nondeterminism, parallelism, communication, and concurrency
Theoretical Computer Science
Programming from specifications
Programming from specifications
A model of concurrency with fair merge and full recursion
Information and Computation
Interactive foundations of computing
Theoretical Computer Science - Special issue: theoretical aspects of coordination languages
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Realizable and Unrealizable Specifications of Reactive Systems
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Formalizing Design Spaces: Implicit Invocation Mechanisms
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
Reasoning Algebraically about Loops
Reasoning Algebraically about Loops
Modeling Component Environments and Interactive Programs Using Iterative Choice
Modeling Component Environments and Interactive Programs Using Iterative Choice
Explicit Modeling of Influences, and of Their Absence, in Distributed Systems
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Interference Analysis for Dependable Systems Using Refinement and Abstraction
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Test-Case Calculation through Abstraction
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
Hi-index | 0.00 |
The unifying ground for interactive programs and component-based systems is the interaction between a user and the system or between a component and its environment. Modeling and reasoning about interactive systems in a formal framework is critical for ensuring the systems' reliability and correctness. A mathematical foundation based on the idea of contracts permits this kind of reasoning. In this paper we study an iterative choice contract statement which models an event loop allowing the user to repeatedly choose from a number of actions an alternative which is enabled and have it executed. We study mathematical properties of iterative choice and demonstrate its modeling capabilities by specifying a component environment which describes all actions the environment can take on a component, and an interactive dialog box permitting the user to make selections in a dialog with the system. We show how to prove correctness of the dialog box with respect to given requirements, and develop its refinement allowing more complex functionality and providing wider choice for the user.