Information and Knowledge Base Systems To Support Software Architecture Extraction and Search for Re - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Information and Knowledge Base Systems To Support Software Architecture Extraction and Search for Re

Description:

To Support Software Architecture Extraction and Search for Reusable ... Essence and Accidents of Software Engineering, IEEE Computer Magazine, April, 1987. ... – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0
Slides: 25
Provided by: ecpe4
Category:

less

Transcript and Presenter's Notes

Title: Information and Knowledge Base Systems To Support Software Architecture Extraction and Search for Re


1
Information and Knowledge Base Systems To
Support Software Architecture Extraction and
Search for Reusable Software Components
  • CPRE 416-Software Evolution and
    Maintenance-Lectures 11-13

2
Contents
  • Introduction a broad picture of the software
    engineering problems we are trying solve.
  • Theme we need a language to think about
    software is structured, how it operates ..
  • Discussion of one paper LaSSIE system.
  • What language does LaSSIE use? Why?

3
Introduction No Silver Bullet
  • Four essential difficulties in building large
    software
  • Complexity The complexity of development
    process, application domain etc.
  • Conformity Software cannot have a regular formal
    structure because it must adapt to and interact
    with human and institution needs
  • Changeability software changes often
  • Invisibility The structure of software is hidden
  • Brooks, F. P., No Silver Bullet Essence and
    Accidents of Software Engineering, IEEE Computer
    Magazine, April, 1987.

4
LaSSIE a Knowledge-based Software Information
System
  • Address the invisibility problem directly and
    the complexity is addressed indirectly.
  • Invisibility implies it is hard to look for
    things of concern another way to say that
    searching is hard.
  • Their view of challenges (a) semantic
    proliferation, (b) multiple views, (c)
    intelligent indexing.
  • Their solution Knowledge representation and
    reasoning technology.

5
Discovery Task
  • Discovery Acquiring the knowledge of application
    domain, architecture and design, specific
    practices.
  • Discovery takes 30 to 60 of developers time.

6
Discovery Series of Questions
  • Typical questions about the ATT Telephone
    Switching System

7
Answers require different views
  • Answers depend on knowledge associated with views
    of the system

8
A view of invisibility
9
Retrieve reusable components
  • My interpretation of this line of research
  • Software is considered as a collection of
    artifacts.
  • A mechanism to retrieve artifacts.
  • Retrieval Mechanisms (RMs) keyword-based,
    faceted-index-based, or semantic-net based ..
  • The retrieval mechanism uses a language to
    refer to software artifacts and the relationships
    between those artifacts.

10
Problems with Keywords
  • Semantics of the keywords not available to the
    retrieval or the storage mechanism.
  • Different keywords for the same thing.
  • Meaning of the keyword changes depending on the
    context.

11
Faceted Classification
  • Examples of facets functions, objects etc.
  • Values for the function could be add, subtract,
    append, open, read, write ..
  • Values for the object could be array, file ..
  • Retrieval by specifying facets and their values.
  • Classification scheme is static.
  • Weak representation cannot express constraints.

12
Why are the RMs inadequate
  • According to LaSSIE creators
  • The RMs are like librarians
  • These librarians do not think of the software
    artifacts as parts of an architecture.
  • They organize and retrieve the software artifacts
    without using any knowledge of their
    architectural organization.
  • The retrieval does not have an intelligent
    indexing scheme that incorporates knowledge about
    the architecture.

13
Another view of inadequacies
  • The language used by RMs is inadequate
  • The description of each software artifact should
    include constraints on how it should be reused.
  • The RMs have a language to specify mere
    associations not a language to specify
    constraints.

14
An Observation
  • An observation from the LaSSIE paper about RMs

15
What LaSSIE attempts
  • An information retrieval system with a knowledge
    base (KB) to integrate architectural, conceptual,
    and code views.
  • Uses the knowledge representation language called
    KANDOR.
  • Provides a UI with graphical browser and natural
    language query processing.

16
What goes in the KB
  • Actions and Objects
  • Choice based on
  • Existing work on domain analysis
  • Empirical studies of programming knowledge.
  • Vocabulary used by programmers at ATT
  • Domain analysis includes the description of a set
    of components - actions and objects.
  • Programming Knowledge
  • Syntactic structural details of the programming
    language
  • Semantic the action-object paradigm prior work
    by another researcher.

17
Programmers Vocabulary
  • Samples comments from ATT programmers.
  • Describe simple actions sometimes caused by other
    actions include operands, actors, and contexts
    (customer feature in this case).

18
Knowledge Representation Language
  • Frame-based representation is chosen for LaSSIE.
  • Frames represent classes of objects.
  • KANDOR language chosen.

19
Frame-based Languages
  • A frame represents a collection of instances
    (related to classes, concepts).
  • Each frame has a set of slots (also called
    attributes) which can be filled by values or
    other frames.
  • Frames can have a kind-of slot (is-a link) to
    enable taxonomy.
  • A script is a type of frame that describes what
    happens temporally the usual example given is
    that of describing going to a restaurant. The
    steps include waiting to be seated, receiving a
    menu, ordering, etc.
  • Ronald J. Brachman wrote a paper titled "What
    IS-A is and isn't", wherein 29 different
    semantics were found in projects.

20
A Frame Example
frame-27 name ("Adam") sex (frame-2)
spouse (frame-28) child (frame-29 frame-30
frame-31)
21
More About Frames
  • If a frame f is in a relationship r to a frame g,
    then we put the value g in the r slot of f.
  • A frame can be considered just a convenient way
    to represent a set of predicates applied to
    constant symbols (e.g. ground instances of
    predicates.). For example, the previous frame
    could be represented by
  • sex(Adam,Male)
  • spouse(Adam,Beth)
  • child(Adam,Charles) etc.

22
Access Paths
  • It is a search mechanism.
  • Example
  • ( ( parent John ?X) (sister ?X ?Y) )

23
Rules
  • Logical implications are represented as rules.
  • Example
  • ((spouse ?X ?Y) -gt ((spouse ?Y ?X)
  • It is a forward chaining rule. It says whenever
    we learn a relation (spouse f g) we should
    immediately conclude (spouse g f)

24
Queries and Assertions
  • Two basic operations on a knowledge-base --
    queries  and assertions.
  • Queries retrieve knowledge from the
    knowledge-base, applying if-needed rules.
  • Assertions add facts to the knowledge-base and
    apply if-added rules.
  • An example of if-needed rule
  • (( aunt ?Z ?Y) ?(parent ?Z, ?X) (sister ?X, ?Y)
Write a Comment
User Comments (0)
About PowerShow.com