Composite Propositions: Toward Support for Formal Specification of System Properties
Formal specification and analysis of software properties can be useful in reducing the number of errors in production software. More intuitive methods of specifying constraints and system properties are needed so that developers and other stakeholders can participate in validation of formal software requirements. This work introduces composite propositions, a set of abstractions that define the relations between sets of conditions or events, and it is directed at making the specification of common temporal properties accessible to practitioners and clients. Composite propositions can be used with response formulas to describe concurrent behavior such as concurrency, synchronization, and nondeterminism. Composite propositions assist in the elicitation and validation of properties facilitating the integration of formal approaches into the software development lifecycle.