| Jacques Loeckx. Algorithmic specifications: a constructive specification method for abstract data types. ACM Transactions on Programming Languages and Systems, 9(4), 1987. |
....All these languages differ substantially in the methods used for implementing, resp. specifying, data structures and operations. In this paper we take an abstract approach and present an idealized language for expressing modules. The language follows the Algorithmic Specification language of [Loe87] and can be seen as a programming language as well as a specification language. We only consider modules defining data structures and operations, higher order functions are not included in our language. We have a purely functional point of view, that is modules construct new exported algebras ....
....Miranda or Algorithmic Specifications. The Algorithmic Ada is a registerd trademark of the United States Departement of Defense. Miranda is a registered trademark of Research Software Ltd. Specification method furthermore introduces subset and quotient operations on algebras, but as shown in [Loe87] these are not relevant for the logic and we are allowed to drop them here. Although restricted in expressive power we claim that our idealized language provides a representation of interesting subsets of the languages above (also the imperative ones in the case of absence of global variables, ....
[Article contains additional citation context not shown here]
Jacques Loeckx. Algorithmic specifications: a constructive specification method for abstract data types. ACM Transactions on Programming Languages and Systems, 9(4), 1987.
....to imperative languages. Declarativeness captures the semantic of function signatures. The class concept and declarativeness allow to specify constructors that extend an initial specification, consisting of a class name and the declaration of its functions only, to a constructive specification (Loeckx, 1987; 11 Loeckx et al. 1996) Constructive specifications are executable; i.e. constructive specifications represent at the same time prototypes of the specified program. Constructive specifications have an operational semantic which is the behavior of the program. A disadvantage of our choice is ....
Loeckx, J., 1987. Algorithmic specifications: a constructive specification method for abstract data types. ACM Transactions on Programming Languages and Systems (9), 646--685.
....therefore, considerably more termination proofs can be automated. However, Giesl relies on on the UFP to explicitly compute a size of an object and, hence, algorithms over non freely generated data types cannot be handled. There is another approach to deal with non freely generated data types by [11] implementing them through freely generated data types where for each non freely generated data type a new sort predicate and a new equality predicate is introduced, i.e. finite sets may be implemented as duplicate free lists. Yet, while proving properties of these data types always additional ....
J. Loeckx. Algorithmic Specifications: A Constructive Specification Method for Abstract Data Types. ACM Transactions on Programming Languages and Systems, pp 646--685, 9(4), 1987.
....precedents, such as [16] 21] and [5] quite many recent papers (as e.g. 2] 24] 17] 14] 19] 13] have proposed partial versions of first order predicate logic aiming at this field of application. Partiality has been also investigated within the field of data type specification [3] [20]. These works show quite different views of partiality, semantics and proof calculi. Some of them adopt a third truth value (undefined) which has been argued to be useful in certain cases for reasoning about refinements and implementations of specifications (see [24] 13] 3 . In a previous ....
J. Loeckx. Algorithmic specifications: A constructive specification method for abstract data types. ACM Trans. Prog. Lang. 9 (4), 646-685, 1987.
....All these languages differ substantially in the methods used for implementing, resp. specifying, data structures and operations. In this paper we take an abstract approach and present an idealized language for expressing modules. The language follows the Algorithmic Specification language of [Loe87] and can be seen as a programming language as well as a specification language. We only consider modules defining data structures and operations, higher order functions are not included in our language. We have a purely functional point of view, that is modules construct new exported algebras ....
....or Algorithmic Specifications. The Algorithmic 1 Ada is a registerd trademark of the United States Departement of Defense. 2 Miranda is a registered trademark of Research Software Ltd. Specification method furthermore introduces subset and quotient operations on algebras, but as shown in [Loe87] these are not relevant for the logic and we are allowed to drop them here. Although restricted in expressive power we claim that our idealized language provides a representation of interesting subsets of the languages above (also the imperative ones in the case of absence of global variables, ....
[Article contains additional citation context not shown here]
Jacques Loeckx. Algorithmic specifications: a constructive specification method for abstract data types. ACM Transactions on Programming Languages and Systems, 9(4), 1987.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC