Specification Languages [chapter]

Donald Sannella, Martin Wirsing
1999 Algebraic Foundations of Systems Specification  
ACT ONE and ACT TWO. ACT [CEW93] is an approach to formal software development that includes a language called ACT ONE [Cla89] for writing parameterised specifications, called "types", with conditional equational axioms and initial constraints, and an extension called ACT TWO [Fey88] for writing specified modules. ACT ONE has a pure initial algebra semantics (Chapter 5) where every type is parameterised (non-parameterised types are considered as a degenerate case) and denotes a free functor.
more » ... s it provides only simple specification-building operators (free extension, union, renaming and pushout-based instantiation) but no operation for hiding. A module in ACT TWO consists of four specifications: Parameter: This describes parameters that are common to the entire module or modular system in which the module appears, e.g., the underlying character set. Import interface: This describes the sorts and operations that the module requires to be supplied by other modules. Export interface: This describes the sorts and operations that the module supplies for use by other modules. Body: This defines the construction of the exported components in terms of the imported components. This construction may involve auxiliary operations that are not exported.
doi:10.1007/978-3-642-59851-7_8 dblp:series/ifip/SannellaW99 fatcat:ckfem66gzvcuxidwhhd2k4mttm