NOOP: A mathematical model of object-oriented programming

dc.contributor.advisorCartwright, Robert S.en_US
dc.creatorAbdelGawad, Moez A.en_US
dc.date.accessioned2013-03-08T00:32:39Zen_US
dc.date.available2013-03-08T00:32:39Zen_US
dc.date.issued2012en_US
dc.description.abstractComputer software is ubiquitous. More than 35 × 10 18 computer instructions are executed around the globe each second. As computers dominate more aspects of our lives, there is a growing need to reason more accurately about computer software. Most contemporary computer software is written using object-oriented (OO) programming languages, such as J AVA, C#, and C++. How should we mathematically characterize object-oriented software? This is the question this thesis addresses by presenting an accurate domain-theoretic model of mainstream object-oriented programming. Mainstream object-oriented languages are class-based. In such languages, the name of a class is part of the meaning of an object, a property often called "nominality". Most mainstream OO languages also conform to a static type discipline. Hence, the focus of this thesis is the construction of an accurate model of nominal, statically-typed OO languages. In statically-typed nominal OO languages, class names are also part of the meaning of corresponding class types, and class inheritance (subclassing) is explicitly declared; one class is a subclass of another only if it is declared as such. When static type systems are formulated to describe sets of objects, subtyping is defined so that subclassing is consistent with subtyping. Nevertheless, some programming languages (PL) theoreticians dismiss this identification as a design error because the only published models of OO languages exclude nominal information from objects and define subtyping in a way that ignores nominality. In nominal OO languages, program behavior depends on the nominal information embedded in objects. This thesis builds a model of OO languages called NOOP that includes nominal information and defines static types in accord with mainstream OO language designs. In NOOP , the meaning of every object includes its class name. Similarly, types are defined such that objects belong to a particular class type if and only if they are members of classes that inherit from the class corresponding to the class type. To demonstrate the utility of the model, we show that in NOOP inheritance and OO subtyping coincide. This work shows that mainstream OO languages are not technically defective in identifying inheritance and subtyping. In models that include nominal information and define types that respect nominal information, this identification is mathematically correct. The folklore among OO programming language researchers that "inheritance is not subtyping" is incorrect.en_US
dc.format.extent140 p.en_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.callnoTHESIS COMP.SCI. 2012 ABDELGAWADen_US
dc.identifier.citationAbdelGawad, Moez A.. "NOOP: A mathematical model of object-oriented programming." (2012) Diss., Rice University. <a href="https://hdl.handle.net/1911/70199">https://hdl.handle.net/1911/70199</a>.en_US
dc.identifier.digitalAbdel-GawadMen_US
dc.identifier.urihttps://hdl.handle.net/1911/70199en_US
dc.language.isoengen_US
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.en_US
dc.subjectApplied sciencesen_US
dc.subjectObject-oriented programmingen_US
dc.subjectComputer softwareen_US
dc.subjectNominal OO languagesen_US
dc.subjectStatically-typed OO languagesen_US
dc.subjectApplied mathematicsen_US
dc.subjectComputer scienceen_US
dc.titleNOOP: A mathematical model of object-oriented programmingen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentComputer Scienceen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelDoctoralen_US
thesis.degree.nameDoctor of Philosophyen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Abdel-GawadM.pdf
Size:
2.33 MB
Format:
Adobe Portable Document Format