Introduction
This paper demonstrates an application of Conceptual Graphs (CGs) in the area of software
engineering. We employ CGs as a meta-representation language to enhance consistency checking
within a multiperspective development environment, i.e. one which employs and utilises a
number of ViewPoints. We have built a ViewPoint-based prototype called the √iewer+CG to
show such application of CGs. A ViewPoint is a loosely coupled, locally managed, self-contained
object. It encapsulates representation knowledge, development knowledge, and specification
knowledge of a problem domain. ViewPoints constitute partial specifications which can be
independently constructed by a group of developers. Thus a complex and large-scale application
can be decomposed into, and jointly managed as, a collection of ViewPoints.
Partitioning
development tasks and specifications in this manner necessitates a consistency checking
procedure to ensure that the ViewPoints can consistently work as an 'integrated' whole. The
difficulties in constructing such procedure arise from the diversity of ViewPoint representation
styles. We employ CGs to provide meta-representation of ViewPoints. As CGs form a strong
basis for logical reasoning, we are able to use the resulting concepts and relations from the metarepresentation
to establish consistency checking rules within and across ViewPoints. By
abstracting a ViewPoint specification up one level to CGs, we are able to augment a ViewPointsbased
environment with an automated consistency checking procedure which is independent of
ViewPoint representation styles. ViewPoints, or generally written as viewpoints, are used to represent a scope of knowledge or
interests of a system. The definition of viewpoints was initially employed to formalise
requirement acquisition and elicitation (Mullery, 1979; Leite, 1989). In requirement engineering,
viewpoints are seen as, for example, functions, sources and sinks of dataflows. The word
ViewPoint distinguishes this particular notion from other multiperspective approaches. The
ViewPoints concept (Finkelstein, et al., 1992) emphasises the partition of perspectives
corresponding to actors or roles in a development process. This notion of ViewPoints does not
constraint its use only for requirement analysis. It can also be applied to specification analysis
and design by partitioning both development tasks and specifications into ViewPoints.
A ViewPoint contains three different types of knowledge, i.e. representation, development and
specification knowledge.
The style slot, which specifies the notations or representation styles for a ViewPoint. The
notations are instantiated to produce the specification of the ViewPoint.
(2) The work plan slot, which defines the following development actions.
(2.1) Assembly actions, which are basic editing actions to construct the specification
(2.2) Check actions, which are actions for consistency checking of the specification. Check
actions are divided into in-ViewPoint and inter-ViewPoint actions. In-ViewPoint actions are
for checking consistency within the ViewPoint in which the actions are invoked. Inter-
ViewPoint actions are for checking consistency of relations among ViewPoints.
(2.3) Guide actions, which provide guidance to developers. The actions suggest what kinds
of actions to do in the circumstances. For example, inconsistency handling actions provide
guidance for possible corrections when inconsistency is encountered in a specification.
(3) The domain slot, which is the area of concern, i.e. the problem domain, that the ViewPoint
describes.
(4) The specification slot, which is the actual partial specification of the ViewPoint.
(5) The work record slot, which contains the development history, rationale and current
development stage of the specification.
The realisation of the ViewPoints concept is developed as a prototype tool called the √iewer
(Nuseibeh, 1994). In the √iewer, a problem is composed of a set of ViewPoints. A ViewPoint
merely is a self-contained partial specification of the problem.
Labels : MSc Computer Science Dissertation Topics, Computer Science PhD Dissertation Topics or Ideas, M.Phil Dissertation in Computer Science, PhD Dissertation Computer Science, Computer Science Dissertation Examples, Computer Science Dissertation Structure, Masters Computer Science Dissertation, Forums Dissertation Ideas, Security Dissertation Ideas, Dissertation Topics Software Engineering, Software Engineering Dissertation Ideas, Computing Dissertation Topics, Dissertation Topics for Computer Science,Dissertation Ideas for Computer Science, Computer Dissertation Examples, Dissertation Ideas Forensics Training, Computer Dissertation Ideas, Computer Dissertation Topics, Computer Dissertation, Computer Science Thesis Topics or Ideas, Computer Thesis Writing, Thesis Topics Computer Science, Computer Dissertation Ideas or Topics
<<
back |