Knowledge-Based Support for Object-Oriented Software Design and Synthesis: A Category Theoretic Approach

By Yujun, Zheng; Jinyun, Xue et al. | Journal of Digital Information Management, June 2007 | Go to article overview

Knowledge-Based Support for Object-Oriented Software Design and Synthesis: A Category Theoretic Approach


Yujun, Zheng, Jinyun, Xue, Qimin, Hu, Journal of Digital Information Management


ABSTRACT: To reuse previous knowledge of objectoriented design and adapt them to solve new problems, the collaboration relationships and the responsibility distribution among software objects need to be thoroughly understood and precisely formulated. The paper proposes a knowledge-based approach that employs category theoretic models to formalize and mechanize objectoriented software design and synthesis by focusing concern on reasoning about the interdependency relationships at different levels of abstraction and granularity. The major benefit of our approach is twofold: First, it provides an explicit semantics for formal object-oriented specifications, and therefore enables a high-level of reusability and dynamic adaptability. Second, it utilizes the ability of categorical computations to support automated software composition and refinement. A prototype tool that demonstrates the feasibility and effectiveness of our approach is also presented.

Categories and Subject Descriptors D. 2.4 [Software/Program Verification]; D 2.8 [Software Metrics] D.2.9 [Software Management]

General Terms

Software reliability, Software systems, Software quality and reliability

Keywords: Object oriented design, Automated software, Software quality, Software metrics

1. Introduction

One way to software reuse is to construct and use source code libraries, which heavily rely upon directory information and keyword/string search that is often cumbersome and problematic [18]. Subsequently, many knowledge-based systems (e.g., [4, 9, 24]) have been investigated for more sophisticated support mechanisms, which typically have a knowledge representation of reusable software components, and provide knowledge-based functions to query, browse and edit the components to meet user requirements. The advantages of using a knowledge-base approach include: semantic retrieval and proliferation, information aggregation and intelligent index for components, and use of classification and inheritance to support updates.

However, users of those software reuse systems generally face with both a terminological and a cognitive gap [14]. Focusing concern on providing a formal definition of basic object-oriented concepts by extending current ADT-based specification language such as Z [23], B [1], and Slang [7], some formal models (e.g., [8, 11, 17]) have been proposed to facilitate the representation, understanding and validation of object-oriented knowledge, but they still lack a mathematically precise semantics for reasoning about the collaboration relationships and responsibility distribution among software objects, which are recognized as key to effective design and reuse of object-oriented design (OOD) frameworks in current component-based software development.

As a "theory of functions", category theory offers a highly formalized language for object-oriented specifications, and is especially suited for focusing concern on reasoning about relations between objects. Also, it is sufficiently abstract that it can be applied to a wide range of different specification languages [26]. In this paper we present a knowledge-based approach that employs a category theoretic framework to model object-oriented software design and synthesis. This approach

* formally defines and represents the application domain knowledge with theory-based specifications at different levels of granularity;

* explicit models the similarities and variations among software components at different levels of abstraction;

* utilizes category theoretic computations to generate new software components out of existing ones automatically.

In consequence, our approach enables a high level of reusability and dynamic adaptability and features mechanizable specification composition, refinement and code generation. We also implement a prototype of a knowledge-based tool which has been successfully built into MISCE [27] to support object-oriented software development. …

The rest of this article is only available to active members of Questia

Already a member? Log in now.

Notes for this article

Add a new note
If you are trying to select text to create highlights or citations, remember that you must now click or tap on the first word, and then click or tap on the last word.
One moment ...
Default project is now your active project.
Project items

Items saved from this article

This article has been saved
Highlights (0)
Some of your highlights are legacy items.

Highlights saved before July 30, 2012 will not be displayed on their respective source pages.

You can easily re-create the highlights by opening the book page or article, selecting the text, and clicking “Highlight.”

Citations (0)
Some of your citations are legacy items.

Any citation created before July 30, 2012 will labeled as a “Cited page.” New citations will be saved as cited passages, pages or articles.

We also added the ability to view new citations from your projects or the book or article where you created them.

Notes (0)
Bookmarks (0)

You have no saved items from this article

Project items include:
  • Saved book/article
  • Highlights
  • Quotes/citations
  • Notes
  • Bookmarks
Notes
Cite this article

Cited article

Style
Citations are available only to our active members.
Buy instant access to cite pages or passages in MLA, APA and Chicago citation styles.

(Einhorn, 1992, p. 25)

(Einhorn 25)

1. Lois J. Einhorn, Abraham Lincoln, the Orator: Penetrating the Lincoln Legend (Westport, CT: Greenwood Press, 1992), 25, http://www.questia.com/read/27419298.

Cited article

Knowledge-Based Support for Object-Oriented Software Design and Synthesis: A Category Theoretic Approach
Settings

Settings

Typeface
Text size Smaller Larger Reset View mode
Search within

Search within this article

Look up

Look up a word

  • Dictionary
  • Thesaurus
Please submit a word or phrase above.
Print this page

Print this page

Why can't I print more than one page at a time?

Help
Full screen

matching results for page

    Questia reader help

    How to highlight and cite specific passages

    1. Click or tap the first word you want to select.
    2. Click or tap the last word you want to select, and you’ll see everything in between get selected.
    3. You’ll then get a menu of options like creating a highlight or a citation from that passage of text.

    OK, got it!

    Cited passage

    Style
    Citations are available only to our active members.
    Buy instant access to cite pages or passages in MLA, APA and Chicago citation styles.

    "Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences." (Einhorn, 1992, p. 25).

    "Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences." (Einhorn 25)

    "Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences."1

    1. Lois J. Einhorn, Abraham Lincoln, the Orator: Penetrating the Lincoln Legend (Westport, CT: Greenwood Press, 1992), 25, http://www.questia.com/read/27419298.

    Cited passage

    Thanks for trying Questia!

    Please continue trying out our research tools, but please note, full functionality is available only to our active members.

    Your work will be lost once you leave this Web page.

    Buy instant access to save your work.

    Already a member? Log in now.

    Oops!

    An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.