Abstract data types and the development of data structures
Communications of the ACM
Logical Construction of Systems
Logical Construction of Systems
Gypsy: A language for specification and implementation of verifiable programs
Proceedings of an ACM conference on Language design for reliable software
Some extensions to algebraic specifications
Proceedings of an ACM conference on Language design for reliable software
Specifications and proofs for abstract data types in concurrent programs
Specifications and proofs for abstract data types in concurrent programs
The specification and application to programming of abstract data types.
The specification and application to programming of abstract data types.
Principles of Program Design
Hi-index | 0.00 |
The specifications for a software system may be thought of as a description of what a software system does, as opposed to how it does it. Specifications have typicaly been written in a natural language and provide an external, non-procedural elaboration of the capabilities of a system. A specification may contain user documentation, describing how the system is to be used by its eventual users, and may contain information on how the system is to be integrated with other systems in an execution environment. Alternatively, the specification provides a description of a system which fulfills a set of requirements. The specification of a software system may also include information on how the software system should perform, providing constraints on performance measures such as execution time or utilization of primary or secondary memory. Information concerning performance is frequently essential in determining the feasibility of building a system and in providing the implementer with some basis for making design decisions. Often, specifications concerning performance can be used to identify program modules which must be optimized or to recognize that no special efforts are required to achieve the stated performance objectives.