Abstract

Data Types (ADT) are used when creating software systems, in the systems design. Usually we use algebraic specification to specify the operations in a data type. The use of data types is a methodology or style of working which yields improved design when followed. In this paper we study the addition of input-output operations to the algebraic specification of operations over a data type. The motivation is that input-output operations are used in actual implementations. A specification with input-output is more complete than one without it. We need input-output operations in our programs. This justifies the addition of such operations to the specification. We consider the definition of input-output operations in functional programming in particular in Haskell. Our input-output specifications are not exactly equal to Haskell programs although some of them are likely. We specify input-output operations in a form likely to the specification of the other operations. The result is the algebraic specification of the input-output operations for many frequently used data types. The language considered is sufficiently expressive to model all these operations. The technique is illustrated by means of a variety of examples. We started from sequences, continued with sets and finish with dictionaries. The specifications we present in this paper can be used as specifications of methods of ADT definitions in object oriented programing.

Highlights

  • Data Types (ADT) are used when creating software systems, in the systems design

  • Algebraic specification is used to specify the operations in a data type

  • In this paper we study the addition of input-output operations to the algebraic specification of operations over a data type

Read more

Summary

Introduction

Abstract Data Types (ADT) are used when creating software systems, in the systems design. The idea is to specify operations in data which are independent of the implementation. Algebraic specification is used to specify the operations in a data type. This notation is likely to functional programming. It is useful to consider a collection of operations at design time and specify them in increasingly greater levels of detail until achieving an executable implementation [8,9,10, 15]. In this paper we study the addition of input-output operations to the algebraic specification of operations over a data type. We specify input-output operations in a form likely to the specification of the other operations. Patricia Peratto: Algebraic Specification for Input-Output in Abstract Data Types

Algebraic Specification and Input-Output
Specification of Sequences
Specification of Stacks
Specification of Queues
Specification of Input in Queues
Specification of Sets
Specification of Binary Search Trees
Specification of Closed Hash Tables
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call