Abstract

The abstract specification of a data type is one of the concepts which have deeply influenced computer science in these last years and which is now widely accepted and understood. The basic idea underlying this approach is specifying an entity in terms of the properties that it must satisfy, instead of giving one particular concrete model which in general would be overspecified. This is done using algebraic techniques (properties are defined by axioms). This framework has proven to be adequate in many situations for the description of"static" properties (properties related to the functional behaviour of an entity). Less clear until recently was the possibility of extending this approach to handle properties related to the "dynamic" behaviour of an entity. Such properties become very important in many situations; we just mention a few. The specification of a concurrent system requires the specification of various data types; this is also the case of the formal semantics of a language including concurrency (eg, Ada). In some concurrent systems (eg, operating systems), processes can be exchanged between processes as data. For the description of concurrency we need to specify not only typically "active" objects as processes (whose behaviour cannot in general be described just as functional), but also which is the behaviour of usual static entities (whose static properties are known) when inserted in a concurrent environment: eg, what happens (which properties are true) when a queue is shared by many processes. Finally, in the object-oriented programming paradigm, which is now becoming of increasing importance, programming is presented as concreting at the programming level basic ideas from abstract data types theory,like data encapsulation (in the following "abstract data type" is abbreviated to adt); nevertheless the actual relationship between the usual adt framework and the object oriented vision is not completely understood since, for example, objects are dynamic entities (new objects be created, objects can change and also have an inner thread of control), and so also in this context the integration of data types and process specifications plays a central role.

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.