Data abstraction mechanisms in object-oriented programming

Existing OO modeling methodologies prescribe notations, processes, and guidelines that, if followed, ensure that analysis-level OO model reflect application semantics. As we move into design, implementation-level considerations may distort analysis-level models, and the transition is seamless no mor...

Full description

Bibliographic Details
Main Author: Li, Haitao
Other Authors: Mili, Hafedh (advisor)
Format: Others
Language:en
Published: McGill University 1993
Subjects:
Online Access:http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=69723
id ndltd-LACETR-oai-collectionscanada.gc.ca-QMM.69723
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-QMM.697232014-02-13T03:55:02ZData abstraction mechanisms in object-oriented programmingLi, HaitaoComputer Science.Existing OO modeling methodologies prescribe notations, processes, and guidelines that, if followed, ensure that analysis-level OO model reflect application semantics. As we move into design, implementation-level considerations may distort analysis-level models, and the transition is seamless no more. In this thesis, we describe data definition facilities in SoftClass--an experimental CASE tool for software reuse--that aim at maintaining the integrity of application data models throughout the development lifecycle, while maximizing opportunities for code reuse. In SoftClass, analysis-level data models describe application-semantics and are organized in an inheritance hierarchy based on shared application-semantics. At the design-level, we maintain two kinds of data models: (1) generic data structures, used as implementation templates for analysis-level models, and organized along "implementation inheritance" hierarchies, and (2) realizations of analysis-level application models, which consist of mapping an analysis-level model to a generic data structure. Design-level representations of application objects may be seen as belonging to two independent hierarchies, and we show how each hierarchy offers some opportunities for reuse. We shoe how data abstraction supports a high-level program design language that is both easy-to-use and that supports some design validation. We conclude by outlining directions for further research.McGill UniversityMili, Hafedh (advisor)Merrett, Tim (advisor)1993Electronic Thesis or Dissertationapplication/pdfenalephsysno: 001393126proquestno: AAIMM91828Theses scanned by UMI/ProQuest.All items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.Master of Science (School of Computer Science.) http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=69723
collection NDLTD
language en
format Others
sources NDLTD
topic Computer Science.
spellingShingle Computer Science.
Li, Haitao
Data abstraction mechanisms in object-oriented programming
description Existing OO modeling methodologies prescribe notations, processes, and guidelines that, if followed, ensure that analysis-level OO model reflect application semantics. As we move into design, implementation-level considerations may distort analysis-level models, and the transition is seamless no more. In this thesis, we describe data definition facilities in SoftClass--an experimental CASE tool for software reuse--that aim at maintaining the integrity of application data models throughout the development lifecycle, while maximizing opportunities for code reuse. In SoftClass, analysis-level data models describe application-semantics and are organized in an inheritance hierarchy based on shared application-semantics. At the design-level, we maintain two kinds of data models: (1) generic data structures, used as implementation templates for analysis-level models, and organized along "implementation inheritance" hierarchies, and (2) realizations of analysis-level application models, which consist of mapping an analysis-level model to a generic data structure. Design-level representations of application objects may be seen as belonging to two independent hierarchies, and we show how each hierarchy offers some opportunities for reuse. We shoe how data abstraction supports a high-level program design language that is both easy-to-use and that supports some design validation. We conclude by outlining directions for further research.
author2 Mili, Hafedh (advisor)
author_facet Mili, Hafedh (advisor)
Li, Haitao
author Li, Haitao
author_sort Li, Haitao
title Data abstraction mechanisms in object-oriented programming
title_short Data abstraction mechanisms in object-oriented programming
title_full Data abstraction mechanisms in object-oriented programming
title_fullStr Data abstraction mechanisms in object-oriented programming
title_full_unstemmed Data abstraction mechanisms in object-oriented programming
title_sort data abstraction mechanisms in object-oriented programming
publisher McGill University
publishDate 1993
url http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=69723
work_keys_str_mv AT lihaitao dataabstractionmechanismsinobjectorientedprogramming
_version_ 1716641461383987200