Request PDF on ResearchGate | Data Abstraction and Hierarchy | An abstract is not available. Barbara Liskov at Massachusetts Institute of Technology. and Hierarchy. MIT. Barbara Liskov Laboratory for Computer Science Cambridge , Ma. Abstract. Data abstraction is a valuable method for organizing. Barbara Liskov. November Page 2. Outline. ▫ Inventing abstract data types . ▫ CLU. ▫ Type hierarchy. ▫ What next. Page 3. Data Abstraction Prehistory.

Author: Femi Meztibei
Country: Chile
Language: English (Spanish)
Genre: Technology
Published (Last): 25 October 2008
Pages: 62
PDF File Size: 8.95 Mb
ePub File Size: 11.12 Mb
ISBN: 662-5-20192-436-1
Downloads: 50248
Price: Free* [*Free Regsitration Required]
Uploader: Tura

Both Meyer, and later Pierre America, who was the first to use the term behavioral subtypinggave proof-theoretic definitions of some behavioral subtyping notions, but their definitions did not take into account aliasing that may occur in programming languages that support references or pointers.

From Wikipedia, the free encyclopedia. Leavens, Murali Sitaraman, ed.

Liskov substitution principle

This paper discusses LSP absrraction the mentioned context. A keynote address in which Liskov first formulated the principle.

This page was last edited on 27 Novemberat A behavioral notion of subtyping. Liskov’s notion of a behavioural subtype defines a notion of substitutability for objects; that is, if S is a subtype of Tthen objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program e. Liskov’s principle imposes some standard requirements on signatures that have been adopted in newer object-oriented programming languages usually at the level of classes rather than types; see nominal vs.

TOP Related Articles  R.A.6975 EBOOK

Object-oriented programming Type theory Programming principles Formal methods Programming language semantics.

Liskov substitution principle – Wikipedia

Nonetheless, the principle is useful in reasoning about the design of class hierarchies. Taking aliasing into account was the major improvement made by Liskov and Wingand a key ingredient is the history constraint. By using ajd site, you agree to the Terms of Use and Privacy Policy. Contains a gentler introduction to behavioral subtyping in its various forms in chapter datta. It is a semantic rather than merely syntactic relation, because it intends to guarantee semantic interoperability of types in a hierarchy, object types in particular.

An updated version appeared as CMU technical report: More formally, the Liskov substitution principle LSP is a particular definition of a subtyping relation, called strong behavioral subtypingthat was initially introduced by Barbara Liskov in a conference keynote address titled Data abstraction and hierarchy. In addition to the signature requirements, the subtype must meet a number of behavioural conditions.

This paper surveys various notions of behavioral subtyping, including Liskov and Wing’s.

This article includes a list of referencesbut its sources remain unclear because it has barvara inline citations. Articles lacking in-text citations from October All articles lacking in-text citations. Retrieved from ” https: These are detailed in a terminology resembling that of design by contract methodology, leading to some restrictions on how contracts can interact with inheritance:.

For the economic principle, see Substitute good.


Liskov, Barbara ; Wing, Jeannette July An article popular in the object-oriented programming community that gives several examples of LSP violations. In the same paper, Liskov and Wing detailed their notion of behavioral subtyping in an extension of Hoare logicwhich bears a certain resemblance to Bertrand Meyer ‘s ahstraction by contract in that it considers the interaction of subtyping with preconditionspostconditions and invariants.

Leavens and Krishna K.

The rules on pre- and postconditions are identical to those introduced by Bertrand Meyer in his book Object-Oriented Software Construction.

Please help to improve this article by introducing more precise citations.

Behavioural subtyping is undecidable in general: Behavioural subtyping is a stronger notion than typical subtyping of functions defined in type theorywhich relies only on the contravariance of argument types and covariance of the return type. The formalization of the principle by its authors. Views Read Edit View history. October Learn how and when to remove this template message. Barbara Liskov and Jeannette Wing described the principle succinctly in a paper as follows:.

Substitutability is a principle in object-oriented rata stating that, in a computer programif S is a subtype of T, then objects of wbstraction T may be replaced with objects of type S i.