<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computation, UMIST</institution>
          ,
          <addr-line>P.O. Box 88, Manchester, M60 lQD</addr-line>
          ,
          <country country="UK">United Kingdom</country>
          ,
          <addr-line>Tel. 061 236 3311</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1987</year>
      </pub-date>
      <volume>2</volume>
      <issue>1987</issue>
      <abstract>
        <p>The accurate capture and representation of user requirements plays a critical role in the construction of effective and flexible information systems. However, despite the introduction of development methods and CASE tools in the project life-cycle, the process of developing a requirements specification remains problematical. This paper proposes that future development in CASE environments should provide facilities which more closely match the activies of expen system analysts. These activities include: the creation of infonnal models and scenarios about the modelled domain prior to the formalisation of captured concepts in a schema according to the chosen development method's model; extensive use of domain knowledge; use of method specific knowledge; consideration of multiple views about the modelled domain; the creation of hierarchies of concepts; formulation of hypotheses about modelled structures; and resolution of different hypotheses and decision fonnulation. To this end, the paper reports on a prototype system which provides facilities for the support of these activities by exploiting knowledge-based techniques for the capture of concepts about an application domain and their specification in JSD constructs. . The work reported in this paper was conducted as part of the Analyst Assist project This is a collaborative project involving Data Logic, UMIST, Scicon, MJSL, MOD(ARE) and Iste!. The work undertaken by the authors of this paper is supported by the UK Science and Engineering Research Council Grant No. GRID 72648 - SE/I13 as part of the Alvey Programme of Research and Development</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>ACKNOWLEDGEMENT</title>
      <sec id="sec-1-1">
        <title>Introduction</title>
        <p>
          In recent years there has been a growing
realisa tion that the development of large
information systems is becoming increasingly
more difficult as user requirements become
broader and more sophisticated. The complexity
which is exhibited by most contemporary
application domains and the subsequent problem
of developing automated information syste.":ls for
these domains has proved that the tradiuonal,
informal approach is no longer feasible since the
gap, between initial requirements st~tement and the
verification of these requirements 10 terms of the
implemented system, is too large. An altema~ive to
the traditional approach has been the adopuon of
paradigms which attempt to establish appropriate
management procedure~ withiln 'da ~fiysedtematkic
framework which recogmses we l I enli I tas s
and milestones. Examples of such methods are
Information Engineering [MacDonald, 1986], ISO
[
          <xref ref-type="bibr" rid="ref14">Jackson, 1983</xref>
          ], NIAM [Verheijen &amp; van
Bekkum, 1982], SADT [Ross, 1977], SASO
[
          <xref ref-type="bibr" rid="ref8">DeMarco, 1978</xref>
          ], STRADIS [
          <xref ref-type="bibr" rid="ref11">Gane &amp; Sarson,
1979</xref>
          ] and a plethora of other more or less similar
methods (cf [Layzell &amp; Loucopoulos, 1987] for a
bibliography).
        </p>
        <p>
          These proprietory methods and their associated
CASE tools pay particular attention to the
construction of a high level specification of a
system before the implementation of software.
Emphasis is placed in .establishi":g a clear
understanding of the funcl10nal requlfements of
the information system, since it has often been
reported that .o~er. 50% of software malf~nctions
have their ongtn 10 the process of requlfements
capture, the effect however not being detected until
later stages thus giving rise to a figure of 80% of
personnel resources being committed to t!te
debugging and testing of source code [Chapm,
1979,
          <xref ref-type="bibr" rid="ref3">van Assche et al, 1988</xref>
          ].
        </p>
        <p>
          Despite the increasi~g use of the~e meth~s,
however users conunue to expenence major
difficulti~s [
          <xref ref-type="bibr" rid="ref15">Morris, 1985</xref>
          ]. From the viewpoint of
requirements specification, a major criticism
levelled at contemporary approaches is their poor
handling of the capl1lring and modelling of the
knowledge of the universe of discourse
[
          <xref ref-type="bibr" rid="ref13">Greenspan, 1984</xref>
          ;
          <xref ref-type="bibr" rid="ref4">Balzer et al, 1983</xref>
          ;
          <xref ref-type="bibr" rid="ref3">van ~ssche
et ai, 1988</xref>
          ]. These shortcomings can be attributed
partly to the inherent nal1lfe of the process of
capturing, modelling and verifying concepts of the
modelled domain and partly to inadequate
formalisms used for the representation of these
concepts.
        </p>
        <p>
          This paper argues that future development
methods and CASE environments must support the
early stages of requirements specification, by
providing J!lodelling formalisms, and funclions
which permIt the development of lIi/ormal models
and experimentation prior to developing a
specification according to the constructs of the
chosen method. To this end, the paper reports on a
prototype system which is used as part of a larger
CASE environment in the context of the Jackson
System Development (ISo) method [
          <xref ref-type="bibr" rid="ref14">Jackson,
1983</xref>
          ]. Section 2 discusses. t~e proce.ss of
capl1lring concepts of an ~pphcauon domatn and
derives a set of deslfable features of a
requirements engineering support srstem. Secti?n
3 introduces the p.rototype syst~m 10 terms ?f Its
underlying formalism and funcuons and se~lion.4
describes the way the system may be explolled 10
terms of the system's three m~n facilitie,s, of
concept elicitation, concept resolulion and deCISIOn
ttaeing.
2.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Requirements Specification</title>
        <p>
          A requirements specification represents both a
model of what is needed and a statement of the
problem under consideration [
          <xref ref-type="bibr" rid="ref18">Rzepka and Ohno,
1985</xref>
          ]. The activities involved, are 10,ng and
iterative, and involve much tnformallty and
uncertainty. Conseqi!ently, many ?f th~ problems
associated with requrrements speclficat.lOn can be
attributed to the naMe of the task llself. The
following are key. char.acteris~cs ~f the ~ask of
requirements speclficalion [Vllalan &amp; Dickson,
1983]:
•
•
•
•
•
because the task is carried out at the early
stages of the development lifecycl~ it is often
difficult to define the boundanes of the
universe of discourse in an exact way
because there is little structure of the problem
domain before hand there is a considerable
degree of uncertainty about the naMe and
make-up of the possible solutions
analysis problems are dynamic that is, they
change while they are being solved becaus~ of
their organisational co~text and the. !Uulliple
participants involved 10 the definll10n and
specification process
solutions to analysis problems
interdisciplinary knowledge and skill
require
the process of analysis .i~self, is primarily
cognitive in naMe, requmng the analyst to
struCl1lfe an abstract problem, proces.s diverse
information, and develop a lOgIcal and
internally consistent set of models.
        </p>
        <p>
          Within requirements specification two basic
activities take place: modelling and analysis
[
          <xref ref-type="bibr" rid="ref9">Dubois et all, 1986</xref>
          ]. Modelling t:efers to mapping
real world phenoJ!lena. into baSIC concepts of,a
requirements specificauon language. These baSIC
concepts serve as the means of building various
(
(
structures which, in their totality, constitute the
requirements specification for a problem domain.
Analysis refers to techniques used to facilitate
communication between requirements engineers
and end-users using the developed requirements
specification as the basis of that communication.
Following this view, requirements engineering can
be defined as the systematic process of developing
requirements through an iterative process of
analysinll the problem, documenting the resulting
observanons and checking the accuracy of the
understanding gained.
        </p>
        <p>In order to manage this process there is a need for
support in three areas. Firstly, an analyst's
reasoning process must be guided by some
underlying process which is appropriate to the task
as well as the problem domain. Such an
underlying process must be generic in nature, so
that all analysts may use its constructs, and must
represent a standard approach within an
organisation, so that a specification generated by a
development team is achieved in an integrated
way. Secondly, facilities must be provided for
locating information about an evolving
specification. Many facts are gathered during the
process of constructing a· requirements
specification and these facts must be correlated,
irrelevant ones discarded and appropriate facts
organised in meaningful structures. Thirdly,
assistance is needed in the communication between
analysts and end users during the phases of facts
acquisition and specification verification.
Capturing and verifying requirements are labour­
intensive activities which demand skilful
interchange between those that understand the
problem domain and those that need to model the
problem domain.</p>
        <p>
          Contemporary approaches provide support in all
three areas through the use of method steps,
project encyclopedias, and diagramming tools.
Certainly, these approaches are a major
improvement on the ad-hoc traditional approach.
However, further major benefits can only come
about if the three areas of design discipline,
documentation and communication are
supplemented by support facilities which closely
match the behaVIOur of expert analysts. .
A number of empirical studies have been carried
out in an attempt to better understand the process
of developing a requirements specification. The
differences in behaviour between high and low­
rated analysts were investigated in three separate
projects [
          <xref ref-type="bibr" rid="ref21">Vitalari &amp; Dickson, 1983</xref>
          ;
          <xref ref-type="bibr" rid="ref10">Fickas, 1987</xref>
          ;
          <xref ref-type="bibr" rid="ref1">Adelson &amp; Soloway, 1985</xref>
          ]. Based upon the
results of these studies, it is possible to identify
several major (not mutually exclusive) types of
working practices by system developers, as
follows:
a. Use of Analogy
        </p>
        <p>
          Developers use information from the
environment to classify problems and relate
them to previous experience. On the other
hand lack of information provides triggers to
search for missing data. Empirical studies have
shown that experienced developers begin by
establishing a set of context questions and then
proceed by considering alternatives. One basic
prerequisite for using analogy during
requirements elicitation is the knowledge that
the analyst has about the domain under
examination. Loucopoulos and
          <xref ref-type="bibr" rid="ref7">Champion
[1988</xref>
          ] argue that such knowledge is crucial to
the development of a requirements
specification.
b. Hierarchies of Models
        </p>
        <p>Expert developers tend to start solving a
problem by forming a mental model of the
problem at an abstract level. This model is then
refined, by a progression of transformations,
to a concrete model, as more information is
obtained. Developers are aware of the various
levels of policy within a domain and use this
knowledge to guide a. user during a
requirements capture session.
c. Fonnulation of Hypotheses</p>
        <p>Hypotheses are developed as to the nature of
the solution, as information is collected. An
experienced developer uses hypothetical
examples to capture more facts from a user but
also to clarify some previously acquired
information about the object system.
Experience in the application domain seems to
be an important factor in formulating likely
outcomes of the solution space.
d. Summarisation
to verify their findings. It has been observed I
Developers almost always summarise in order
that dun'ng a typical user-analyst session the
analyst will summarise two or three times and
each time the summarisation will trigger a new
set of questions. Summarisation may be used
in order to clarify certain points from previous
discussions or to encourage participants to
contribute more information about the
modelled domain.
e.</p>
        <sec id="sec-1-2-1">
          <title>Domain Knowledge</title>
          <p>Expert analysts normally have a good
knowledge of the concepts involved in the
business processes of the organisation being
investigated. Some concepts will be common
to information systems, regardless of the
underlying organisation. This common
knowledge enables an . expert analyst to
approach a familiar analysis problem in a new
domain with some expectations, which can be
used to guide the investigation.</p>
          <p>
            A further important finding of a study on the use
of the JSD method which has implications on the
use of development methods at the early stages of
the project lifecycle is the use of informal models
before any captured concepts are formulated
according to the method's prescribed formalism
[
            <xref ref-type="bibr" rid="ref12">Gibson &amp; Harthoorn, 1987</xref>
            ]. The first step in the
JSD method is the derivation of the entity stucture
model which considers entities of the modelled
domain and actions suffered by each entity. The
investigation on the use of the method by
experienced analysts revealed that, in their attempt
to structure the problem domain and identify what
are appropriate entities and actions for modelling,
these analysts consistently used informal models
(or even models of other methods with which they
were familiar). As shown in figure 1, these
informal models, were considered along with
domain expertise and JSD method expertise in
deriving a f1I'St-cut JSD entity model.
          </p>
          <p>initialfactgathering
build model build model</p>
          <p>I'·'''··........·,....••..·..... 1"..•..•..•..••..•..·,..··"··1
! '11 ,~ !</p>
          <p>.....z.-......- z ,</p>
        </sec>
        <sec id="sec-1-2-2">
          <title>User Interaction</title>
          <p>Do~iio;.p;;ii:,</p>
          <p>JSDMODEL
~.</p>
          <p>~</p>
          <p>Analyst
InteractiOl</p>
          <p>- . ,
isi)",;,,;;/', I
JSD NETWORK 4·····.,···~
L.-_ _~_--JJSDexpernse</p>
          <p>SYSTEM
On the basis of the findings of these studies a
prototype tool known as the Requirements
Elicitatton Support Tool (REST) has been
developed in order to provide assistance at the
very early stages of requirements capture. This
tool has been developed within the context of the
Analyst Assist system [Loucopoulos et ai, 1988]
and attempts to provide assistance in capturing
informal requirements, specifying and
documenting requirements using the Jackson
System Development Method (JSD), and validating
the specification by prototyping and animation.
REST provides facilities which:
•
•
•
•
•
3.</p>
          <p>encourage the development of informal models
in the form of scenarios about the modelled
domain
maintain many different views about captured
concepts
enable the tracing of decisions taken by
analysts about discarding or accepting
particular scenarios
assist the identification of candidate concepts
by exploiting domain knowledge and
assist in the mapping of informal models onto
JSD model structures using JSD knowledge.</p>
          <p>The Requirements Elicitation</p>
          <p>Support System
3.1</p>
          <p>The System Architecture
An abstract architecture of REST is shown in figure
2.</p>
          <p>The user fact base (UFB) is concerned with the
storage of application dependent concepts before
these concepts are interpreted in terms of JSD
constructs. This database IS \,?pulated using a Fact
Input Tool. This tool is gwded by an Elicitation
Dialogue Formulator which makes use of the
domain knowledge base and the current state of
the UFB. It is feasible for the UFB to contain
several different and possibly contradictory views
of the concepts pertaining to the modelled domain.
At any stage. one of these views is considered to
represent the current view, that is the view which
most closely reflects the analysts opinion about the
modelled domain (but may be replaced at any point
by any of the other views should the analyst's
opinion is modified).</p>
          <p>The lSD specification holds an evolving system
specification in terms of JSD structures for the
model and network stages of that method. This
specification is developed via the REST (making
use of the UFB) and with the assistance of two
diagramming tools shown in figure 2 as the lSD
Input Tool component
The lSD Method Advisor acts as an assistant on
the method steps of JSD and provides consistency
(
(
•
Analyst</p>
          <p>User
Fact
Base
~</p>
          <p>Fact Input</p>
          <p>Tool
~
•
Elicitation</p>
          <p>Dialogue</p>
          <p>Formulator
.
-.. ·············1</p>
          <p>Fact Base</p>
          <p>toISD
Translator</p>
          <p>REST</p>
          <p>Domain •••• FactB.ase .!••
Knowledge! Tracmg !</p>
          <p>Exploiter i• Facility i</p>
          <p>••• ••
i</p>
          <p>Domain</p>
          <p>Iknowledgf
.,</p>
          <p>ISD
Primitive</p>
          <p>Identifier
1····jSD····</p>
          <p>Method
Advisor
(Model &amp;
Network)
~
r
.....</p>
          <p>ISD</p>
          <p>Spec
( Analyst
.ISD Input ..... f</p>
          <p>Tool
checking on the evolving JSD Specification. The
Fcu;t Base Tracing Fcu;j/ity is used to link a JSD
specification to the concepts in the UFB from
which it was derived and to update or annotate
information held in it due to information input by
the analyst using the JSD Input Tool.</p>
          <p>Each item stored in the UFB or the JSD
specification is linked to its source, in terms of the
input session, date and analyst involved. This
provides the capabability for tracing the history of
the evolving models, and also allows for the
summarisation of any subset of the specification.
3.2</p>
          <p>The Model for Concept</p>
          <p>
            Representation
In order to simplify the system architecture, the
knowledge bases and UFB share the same
underlying representation. The formalism chosen
is broadly based upon the use of conceptual
structures [
            <xref ref-type="bibr" rid="ref19">Sowa, 1984</xref>
            ] for knowledge
representation and reasoning. Whilst conceptual
structures are often associated with the
understanding of natural language, involving large
semantic nets, comprehensive lexicons and precise
grammar rules, it IS important to emphasise that
the use of conceptual graph theory within
requirements elicitauon and formalisation does not
involve the same degree of complexity. The
concepts and relationships employed can be
limited to those which are relevant to the current
domain of interest.
          </p>
          <p>The formalism has been chosen for its flexibility
and power of representation. Conceptual
structures can be mapped onto ftrSt order logic
statements, which allows for reasoning and
consistency checks on the contents of the UFB.
Sunnmarisation of the UFB in English phrases is
made possible by the relatively simple mapping of
conceptual graphs onto the constructs of a natural
language.</p>
          <p>Conceptual graphs are finite, connected bipartite I
graphs, the two nodes of the bipartite graph being
concepts and conceptual relations. Every
conceptual relation has one or more arcs, each of
which must be linked to some concept. The
collection of all the relationships that concepts
have to other concepts is called the semantic net.
All conceptual graphs are linked to the semantic
net, and so access to any graph is possible from
any concept or relation.</p>
          <p>The following components of conceptual graph
theory have been implemented to provide a
representation and reasoning medium for use by
the domain knowledge base and user fcu;t base
which directly support the process of fact
gathering.
separate hierarchies of concept types and
relation types which define the relationships
between domain concepts and relations at
different levels of generality
prototype descriptions of each concept which
can be linked to the concept type hierarchy
fonnation rules to determine how each type of
concept may be linked to conceptual relations
and to other concepts
conceptual graphs linked to each concept
defining how the concept should be used in a
domain (canonical graph) or how it may be
used (scenario graph).</p>
          <p>
            A detailed description of the conceptual structures
employed in the model for !ffiST is beyond ~e
scope of this paper. The mterested reader IS
referred to [
            <xref ref-type="bibr" rid="ref7">Champion et ai, 1988</xref>
            ] for a
description of the conceptual structures
implemented in REST.
          </p>
          <p>Requirements elicitation in REST is based on the
premise that an analyst should .be ~ble to d~fine
any 'thing' of the modelled appltcatlon domam as
a potential concept of interest and that the final set
of concepts can only be decided upon after careful
consideration of various scenarios about the role
that these concepts play. Therefore, 'concepts
capturing and resolution' uses:
•
•
•
•
•
•
•</p>
          <p>The semantics of conceptual graphs. Concepts
are placed in semantic networks with the top
level concepts being pre-defined as those of
ENTITY, EVENT, QUANTIFffiR, VALUE, STATE
and TIME. Conceptual relations are also
classified by type. A hierarchy is defined over
the type labels of the conceptual relations
defined for the current domain.</p>
          <p>The domain knowledge base (DKB). The DKB
may contain information about one or more
concepts about the current application domain.
This knowledge is used in automatically
deriving conceptual graphs for these concepts
and later on for their resolution.</p>
          <p>A natural language output facility. All
information presented to the analyst during an
input session and subsequent resolution, is
shown in such a way as to hide the underlying
formalism. Where possible, general rules for
translating conceptual graphs into English are
used; however, where more complicated
representation is required for example, in the
representation of constraints, these must be
dealt with special purpose rules.
4.</p>
          <p>An Example Requirements
Elicitation Session
Capture and Representation of</p>
          <p>Domain Specific Facts
The purpose of capturing facts about an
application domai~ is to aI.low !ill anal y~t to reason
with all information which IS perceived to be
relevant so that a system specification can be
constructed. Because of the nature of the process
of concept identification and capturing, it is
advantageous to pe.rmit an analyst to carry out this
process in a vanety of ways. FollOWing ~he
discussion in section 2 about the underlymg
characteristics of the requirements elicitation
process, REST provides two main suppon facilities
for the identification of concepts:</p>
        </sec>
        <sec id="sec-1-2-3">
          <title>Text Analysis</title>
          <p>This facility allows an analyst to highlight
keywords and phrases from a document.
Single words are stored in the UFB as
concepts. Phrases are analysed to fmd the
concepts of interest and the con~eptual
relations between them. The concepts Illclude
those identified by the analyst and those which
are known to the system as pan of domain
knowledge. Where the concepts are know~ to
the domain knowledge, the appropnate
conceptual relations can be denved. thus
producing conceptual graphs for storage III the
UFB.</p>
        </sec>
        <sec id="sec-1-2-4">
          <title>Concept Hierarchy Building</title>
          <p>The concepts known t.o the. syst~m ~
described in terms of therr relationships With
other concepts, and ar~ arran~ed i~ ~ concept
hierarchy (in fact a lattice). This faclltty allows
an analyst to classify concepts by placing them
directly in the hierarchy in terms of each
concept's perceived semantics. The placement
of a concept at a particular n.ode ~as
implications as to its allowable relations WIth
other concepts. This in turn facilitates the
development of scenarios based on these
allowable relations which may be J:r~s"ntoo.'o
a system developer for funher analysis.</p>
          <p>As an example of the fact gatheri~g pr~ess. using
REST consider the case of a Urnverslty Library.
Text about this application domain is shown ~ the
text analyser window in figure 3..Th~ underlmed
text signifies that an analyst has hlghltghted these
concepts as being of. interest. ~e process of
storing these concepts m the UFB IS demonstrated
graphically in figure 4. The schema 'cg l'
represents the conceptual ~aph of the us~r­
supplied information. As a direct result of thiS,
concept tvoe, schemas are created for the concepts
"MEMBER,f, - "BORROW" and "BOOK". The</p>
          <p>• Stage 11 Fact Gathering Prototype
~ ap'lons n Inpu'
n,.uolu.1l '''.0.</p>
          <p>II II:
~"uUnttlvb,r.l1ttiwth,lrltl~H¥anlolr ~Iw0ho' ~~lVif~Jlt••W'M'Plb,r.
hBlWook~,u.Ptlaybb..~bo'rrdow.. A'orPI'uP~lb,r Pl&amp;thWr•b•orrWowllknlo, Palfotr.,r thwahnleh, bt
Ook, At A tliii":"""1'OOk' on lW Which art ~ art lubJ'C
t to A dally 'lnl.</p>
          <p>Booke Pl4W b. ClClild, l' th.y Gr. not alr.ady r•••rv.d bw
&amp;noth.r l'I'JIlb,r.</p>
          <p>cgl</p>
          <p>cg2</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Concepc</title>
      <p>Type
'BORROW'</p>
      <p>I
conceptual graph cg I is linked to each of these as a
scenario for each concept The relevant domain
knowledge for the concept "BORROW" is shown
as cg2, and is also provided as a scenario for the
concept. The resolution of the two scenarios is
trivial in this example, but in many cases an
analyst might be faced with a number of different
interpretations (most of which would be quite
leginmate). By highlighting all possible
interpretations of a concept, in particular those
likely that an analyst would capture a situation in a I
guided by the domain knowledge, it is much more
more faithful manner. In the example, the resulting
conceptual graph, cg3, is linked to the current
view slot of the concept schema. The schemas cgl
and cg2 are then marked as 'shadowed', to
indicate that they have been resolved by cg3.</p>
      <p>The concepts represented in the UFB may be
viewed (and further extended) by using the
hieTa!'chy editor as shown in figure 5. Figure 5
shows the type of specialisation of each concept in
relation to the pre-defmed system concepts. This
means that each new concept introduced in the UFB
inherits relationships with other concepts from its
supertype. The placement of a concept in the
hierarchy does not preclude subsequent alterations
which would change its position in the hierarchy.</p>
      <p>Such a change may result from further analysis
and resolution of requirements.</p>
      <p>- Stage II Fact GatherIng Prototype
===~::~~:1~r:.~..:;;n broun I</p>
      <p>ADD. NIW DOHDOTI
BOOK
BORROW
LOAR
RERBER
OYEROUE
REnEW
RETURR</p>
      <p>SIAFF
. SlUDERl
III
A un1vlrlltw ~•• ~.~b.r.
"Ute bl 11tner or , 0 • unlVirfltw,
Soak. "&amp;ij b, borrowl (or up 0 three WI.kl, ~'t.r which t
oneowk,"aUtleII.btll;;~e:.--BdO,ok. oAn"J'"JWbelrw~h&amp;iWchbo41r"r1o~ ~no"ora,rtthaInUb~J'Cb
Btotooke.."&amp;dwalbly. ~fin.•d., 1( th.W art not Already r,••rued by
.mtn,r "'"Dlr,
••,",on Il.o-P
In addition to identifying individual concepts such
as MEMBER, BORROW and BOOK it is possible to
highlight phrases within the text which imply
semantic links between the concepts. Then the
system can be prompted to derive the nature of
these links. An example of this is shown in figure
6. The selected phrase window shows the
highlighted phrase from the original text, together
with a list of all currently known concepts. Links
may be established between the three concepts and
the system's interpretation of these links is
presented in the created scenarios window. It is
now up to the analyst working together with the
end user to select the most appropriate
interpretation which will subsequently be stored in
the UFB.
Resolution of information within the UFB takes
place under the supervision of the analyst, but
some automatic checking of consistency can be
carried out. These checks imply the need for a
more formal representation of facts in the UFB.</p>
      <p>Where more complicated dependencies exist in the
information, for example in the interdependence of
requirements and constraints, a set of rules is
required to maintain consistency.</p>
      <p>The current version of the prototype includes
facilities for viewing the entire contents of the UFB
about a particular concept and for the
rationalisation of this information. As an example
consider again the University Library case study.</p>
      <p>Figure 7 shows the information stored in the UFB,
in the window labelled User Fact Base and
Domain KIWwledl;e Scenarios about the concept
MEMBER. The wmdow scenario options shows
the available operations that can be performed on
the UFB knowledge about MEMBER. The 'make
current view' option relates to the agreed position
as far as a concept is concerned; the 'discard'
option allows the analyst to remove scenarios from
consideration (they are nevertheless saved for
possible future use); the 'join' option permits the
merging of two or more existing scenarios. Figure
7 shows two unresolved scenarios for the concept
MEMBER which may be joined and be made the
current view. The advantage of the resolution
facility is that it allows the incremental
development of information about each concept in
the UFB. The join o~tion includes functions to
enforce consistency In the scenarios being joined,
but in the case where conflicts arise, different
views of the same concept may be developed in
parallel.
(</p>
      <p>Stage II fact Gathering Prototype
~
option,</p>
      <p>Input
n
n"nalve n
trio.</p>
      <p>n broun I
.dd to UFEI</p>
      <p>fNT~ '''''lAMI
1M I t "Inu</p>
      <p>cl_
nBeo r,b,o1oIkIe'rM.:b;o:rr:o7w~.::M:~:.:":b-l~r.::::::-=------------'~'"
1"I,,,,b'l"l liI1th bookl barrol,j
,110"'0,,., \lith book. art borroulet.
cBOOKj' (PRRT l . [MEKBERl • (ROKT) • [BORROW].
(BOOK • (PA~T • [MEMBER • (OBJ) • [aO~~O~],
bookl with I"Ill"1blrl art borrow'd.
cookl of "I"'berl are borrowed,
book, art borrowed bW ~I"b.r"
bookl are borrOl,j,d I"Ilnb.rl.</p>
      <p>book•.</p>
      <p>KEKBER
BORROW
BOOK</p>
      <p>A un1v.r.1~W 11brarw hal ~."b.r. who borrow</p>
      <p>............
At&gt;aly.. : bob
'Oro/OIl l2.o-P</p>
      <p>I</p>
      <p>At&gt;aly.t : bob</p>
      <p>- I
Ana/YI' : bob</p>
      <p>~,TtXT.)
DEClSIDH DETRILS,
rlalonl ,hadow ,nforcld b~ u.lr
dMaot,elWolftl ••••bo1b0n' Ige'~3121
D.e1l1on I</p>
      <p>d125'4
ShadowI I ·CO?S4
R.llre,.</p>
      <p>DECISIDH DETRILS,
rlalon, ,hadou enforced bW u••r
analwltl bob
date of •••• 10nl 1'8'/3/21
(
(</p>
      <p>- Stage II Fact Gathering Prototype
l1li
~DE,~cBlEeRl0InOElHErRllIaCteodrlto,
-~----_.._--------------_..dllBS
dl199
Cfl2l2
~</p>
      <p>DONClOT ..'aMlATIW
N••olvld Inrornatlon
Unresolyed InforMa'lon
Disoirded In'ornltlan
Dlol!llontl
Orl,ln
During the development of a requirements
specification, analysts adopt certain lines of action,
decide which information is appropriate, discard
previously considered options and so on, In other
words, the construction of a requirements
specification is non-monotonic and therefore, tools
to assist in the tracing of the diverse decisions
taken by analysts in the process of deriving a
specification are considered as providing another
source of assistance.</p>
      <p>In the UFB, conceptual graphs attached to concept
types are marked as either 'shadowed' or
'current'. At any given time only one current view
of a concept is allowed. Each current view would
be linked to a decision showing how it was
derived and hence which scenarios and previous
views are shadowed by it. New scenarios and
current views may be shadowed by subsequent
decisions, but traceability is maintained by
including these changes in the decision history.</p>
      <p>The tracing of analysts' decisions in the current
version of the prototype is shown in figure 8. The
The current version of REST allows the source of 'decision history' window shows the details of the
information in the UFB to be traced. This may decision labelled 'd1254' which has been selected
include details of the source document, the analyst by the analyst as relevant to the current view of the
or the date of the input session. In addition to this, concept MEMBER. These details include a
the system provides traceability of analyst description of the type of decision made, the
decisions. In order to facilitate tracing of analyst responsible, the date and a list of the
decisions, two types of information need to be scenarios which have been shadowed as a result of
stored. Firstly, facts which the analyst wishes to the decision. Subsequently, the analyst can review
add without providing a documentary source, i.e. any of the scenarios listed.
the analyst's own ideas and notes. Secondly,
specific information concerning the decisions
made about the data in the UFB, in particular
decisions to do with the reconciliation of differing S. Conclusions
views.</p>
      <p>This paper has argued that the demand for more
reliable and cost effective information systems
should force us to seek solutions in areas most
(
likely to yield maximum benefits. One of the
major emerging themes in the area of information
systems development research is the realisation
that correct requirements specification holds the
key to the construction of effective and flexible
systems. At the same time it is recognised that the
area of requirements capture is fraught with
problems such as uncertainty and vagueness in the
users' requirements. complexity about the
modelled domain and lack of adequate techniques
and tools which can bridge the gap between users
and developers.</p>
      <p>
        The work reported in this paper represents an
attempt to improve requirements capture and
specification through the use of knowledge
engineering techniques. It is proposed that
requirements specification is primarily a
knowledge-intensive activity and the work
reported here follows the premise that the next
generation of requirements engineering
environments will be knowledge-based
environments. To this end. the work presented
complements other research efforts in the wider
sphere of software engineering. notably those of
[
        <xref ref-type="bibr" rid="ref22">Waters. 1985</xref>
        ;
        <xref ref-type="bibr" rid="ref16">Rich et ai, 1987</xref>
        ; Pietri, 1987;
Keiser &amp; Feiler, 1987; Lubars &amp; Harandi, 1987].
      </p>
      <p>In this paper a clear distinction is made between
requirements and design specifications. It is
argued that a requirements specification should be
concerned with the understanding of a problem
whereas a design specification should pay
attention to logical and physical structures that
implement the requirements. Therefore, the
development of a requirements specification
involves modelling the relevant application domain
resulting in a model which is cognitive in nature.</p>
      <p>In the past. requirements specifications have
played a passive role and have been viewed as
fixed throughout the life of an information system.</p>
      <p>The thesis put forward in this paper is that a
requirements specification needs to evolve to
reflect changes m the application domain and that
these changes must be implemented in such a way
so as to ensure that users and developers are clear
on the implications that the changes will have on
the design and operational characteristics of the
system. Because of the nature of requirements
elicitation, the paper proposes that, this objective
can be achieved by a knowledge-based approach,
such as that followed in the Analyst Assist system.</p>
      <p>The system described in this paper has been
developed on Texas Instruments Explorers using
ART and Common Lisp. The prototype system has
also been ported on SUN workstations also
running under ART and Common Lisp. It has been
the intention of the authors to adopt a single
unifyinj: representation formalism for the
expressIOn of facts in the user fact base and
knowledge within the domain knowledge-bases
since such an approach has several advantages.</p>
      <p>The informality which characterises much of the
initial requirements elicitation process is supported
by the linguistic basis of conceptual structures.</p>
      <p>The representation is based on a user-defined type
hierarchy of concepts occurring in the domain of
interest. Linked to each concept in the hierarchy is
a definition, together with examples of semantic
and episodic information about the concept,
expressed as conceptual graphs. Our choice of
formalism also has implications for the validation
of the requirements independemfy of a design
method. The linguistic basis of the concept and
relationship definitions allows both the domain
knowledge and the existing application knowledge
to be presented to the user in terms of the
semantics of the domain rather than the semantics
imposed by any design method, thus broadening
the applicability of the general approach to any
system development method.</p>
      <p>System</p>
      <p>Development,
Keiser, G.E. &amp; Feiler, P.H. (1987) An
Architecture for Irneffigent Assistance in Software
Development, 9th International Conference on
Software Engineering, March 30 - April 2, 1987,
Monterey, USA.</p>
      <p>Layzell, P.J. &amp; Loucopoulos, P. (1987)
Systems Analysis and Development, Chartwell­
Bratt, 2nd edition.</p>
      <p>
        Loucopoulos, P. and
        <xref ref-type="bibr" rid="ref7">Champion, R.E.M.
(1988</xref>
        ) Knowledge-based approach to
requirements engineering using method and
domain knowledge, Knowledge-Based Systems,
Vol. 1, No.3, June 1988.
      </p>
      <p>
        Loucopoulos, P., Layzell, P.J.,
        <xref ref-type="bibr" rid="ref7">Champion, R.E.M., Gibson, M. (1988</xref>
        )
      </p>
      <p>A Knowledge-based Requirements Engineering
Environment, Proc, Conf. on Knowledge Based
Software Assistance (KBSA), Utica, USA, 2-4
August, 1988.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Adelson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Soloway</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>1985</year>
          )
          <article-title>The Role of Domain Experience in Software Design</article-title>
          ,
          <source>in IEEE Transactions on Software Engineering</source>
          , Vol. SE-Il. No.
          <volume>11</volume>
          ,
          <year>November 1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Adhami</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>1988</year>
          )
          <article-title>An Environment for the Execution and Graphical Animation of JSD Specifications</article-title>
          ,
          <source>International Workshop on Knowledge-Based Systems in Software Engineering</source>
          ,
          <string-name>
            <surname>UMIST</surname>
          </string-name>
          , Manchester,
          <string-name>
            <surname>U.K.</surname>
          </string-name>
          ,
          <year>March 1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>van Assche</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Layzell</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loucopoulos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Speltincx</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>1988</year>
          )
          <article-title>RUBRIC: A Rule Based Representation of Information System Constructs</article-title>
          .
          <source>in Proc of the 5th Annual ESPRIT Conference. Brussels, Nov</source>
          <volume>14</volume>
          ­
          <fpage>17</fpage>
          .
          <year>1988</year>
          . Nort-Holland. pp.
          <fpage>438</fpage>
          -
          <lpage>452</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Balzer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cheatham</surname>
            ,
            <given-names>T.E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , (
          <year>1983</year>
          )
          <article-title>Software Technology in the 1990's: Using a New Paradigm</article-title>
          , Computer.
          <source>November</source>
          <year>1983</year>
          , pp.
          <fpage>39</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1988</year>
          )
          <article-title>Building of JSD Specifications</article-title>
          . Intematicn&lt;L: '
          <article-title>Vockshop on Knowledge-Based Systems in Software Engineering</article-title>
          , UMIST. Manchester,
          <string-name>
            <surname>U.K.</surname>
          </string-name>
          ,
          <year>March 1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Chapin</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>1979</year>
          )
          <article-title>Software Lijecycfe</article-title>
          ,
          <source>INFOTEC Conference in Structured Software Development</source>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Champion</surname>
            ,
            <given-names>R.E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gibson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harthoom</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>1988</year>
          )
          <article-title>Conceptual Structures in the Fact Gathering System</article-title>
          ,
          <source>Analyst Assist internal report AA-U0067. UMIST</source>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>DeMarco</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>1978</year>
          )
          <article-title>Structured Analysis</article-title>
          and
          <string-name>
            <given-names>System</given-names>
            <surname>Specification</surname>
          </string-name>
          , Yourdon Press.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Dubois</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          et al (
          <year>1986</year>
          )
          <article-title>The ERAE madel: A case study, in 'Infonnation Systems Methodologies: Improving the practice' Olle TW</article-title>
          .,
          <string-name>
            <surname>Sol</surname>
            <given-names>H.G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Verrijn-Stuart</surname>
            <given-names>A.A.</given-names>
          </string-name>
          , (eds), pp.
          <fpage>87</fpage>
          -
          <lpage>106</lpage>
          ,
          <string-name>
            <surname>IFlP-Nonh</surname>
            <given-names>Holland</given-names>
          </string-name>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Fickas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>1987</year>
          )
          <article-title>Automating the Analysis Process: An Example, 4th</article-title>
          <source>International Workshop on Software Specification and Design</source>
          , Monterey, USA.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Gane</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sarson</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>1979</year>
          )
          <article-title>Structured Systems Analysis: Tools and Techniques</article-title>
          , PrenticeHall
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Gibson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Harthoorn</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>1987</year>
          )
          <article-title>The Use of lSD, Analyst Assist internal report AAUOOlO</article-title>
          , UMlST,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Greenspan</surname>
            ,
            <given-names>S.J.</given-names>
          </string-name>
          , (
          <year>1984</year>
          )
          <article-title>Requirements Modeling: A Knowledge Representation Approach to Software Requirements Definition</article-title>
          ,
          <source>Technical Report No. CSRG-155</source>
          , University of Toronto,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>1983</year>
          )
          <article-title>Prentice-Hall.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Morris</surname>
            ,
            <given-names>E.P.</given-names>
          </string-name>
          (
          <year>1985</year>
          )
          <article-title>Strengths and Weaknesses in Current Large DP</article-title>
          , Alvey/BCS SGES Workshop,
          <year>Jan 1985</year>
          , Sunningdale, UK Pietri,
          <string-name>
            <surname>F.</surname>
          </string-name>
          et al (
          <year>1987</year>
          )
          <article-title>ASPlS : A Knowledge· based Environmern for Software Development</article-title>
          ,
          <source>in ESPRIT '87 : Achievements and Impact</source>
          , pp
          <fpage>375</fpage>
          -
          <lpage>391</lpage>
          , Nonh Holland,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Rich</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waters</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reubenstein</surname>
            ,
            <given-names>H.B.</given-names>
          </string-name>
          (
          <year>1987</year>
          )
          <article-title>Toward a Requiremellts Apprentice</article-title>
          ,
          <source>4th International Workshop on Software Specification and Design</source>
          , Monterey, USA.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>D.T.</given-names>
          </string-name>
          (
          <year>1979</year>
          )
          <article-title>Structured Analysis: A Language for Communicating Ideas</article-title>
          ,
          <source>IEEE Transactionson Software Engineering</source>
          , Vol SE-
          <volume>3</volume>
          , No.!.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Rzepka</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          · &amp;
          <string-name>
            <surname>Ohno</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>1985</year>
          )
          <article-title>Requirements Engineering Environments: Software Tools for Modeffing User Needs</article-title>
          , IEEE Computer,
          <year>April 1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Sowa</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          , (
          <year>1984</year>
          )
          <article-title>Conceptual Structures: Information Processing in Mind and Machine</article-title>
          , Addison-Wesley Publishing Company,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Verheijen</surname>
            ,
            <given-names>G</given-names>
          </string-name>
          . &amp; van
          <string-name>
            <surname>Bekkum</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1983</year>
          )
          <article-title>NIAM: An Information Analysis Method, in 'Infonnation systems design methodologies : a comparative review', OlleT</article-title>
          .W,
          <string-name>
            <surname>Sol</surname>
            <given-names>RG</given-names>
          </string-name>
          . and
          <string-name>
            <surname>Verrijn</surname>
            <given-names>SlUart A.A.</given-names>
          </string-name>
          , (eds),
          <source>IFIP WG 8</source>
          .1 CRIS I, Nonh Holland.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Vitalari</surname>
            ,
            <given-names>N.P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Dickson</surname>
            ,
            <given-names>G.W.</given-names>
          </string-name>
          (
          <year>1983</year>
          )
          <article-title>Problem Solving for Effective Systems Analysis An Experimernaf Exploration</article-title>
          ,
          <source>in Communications of the ACM</source>
          , Vol.
          <volume>26</volume>
          , No.
          <volume>11</volume>
          ,
          <year>November 1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Waters</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          (
          <year>1985</year>
          )
          <article-title>The Programmer's Apprentice: A Session with KBEmacs</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>11</volume>
          (
          <issue>11</issue>
          ) pp.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          1296-
          <fpage>1320</fpage>
          ,
          <year>November 1985</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>