14,660 research outputs found
Analyzing Requirements Using Environment Modelling
Analysing requirements is a major challenge in the area of safety-critical software, where requirements quality is an important issue to build a dependable critical system. Most of the time, any project fails due to lack of understanding of user needs, missing functional and non-functional system requirements, inadequate methods and tools, and inconsistent system specification. This often results from the poor quality of system requirements. Based on our experience and knowledge, an environment model has been recognized to be a promising approach to support requirements engineering to validate a system specification. It is crucial to get an approval and feedback in early stage of system development to ensure completeness and correctness of requirements specification. In this paper, we propose a method for analysing system requirements using a closed-loop modelling technique. A closed-loop model is an integration of system model and environment model, where both the system and environment models are formalized using formal techniques. Formal verification of the closed-loop model helps to identify missing system requirements or new emergent behaviours, which are not covered earlier during the requirements elicitation process. Moreover, an environment model assists in the construction, clarification, and validation of the given system requirements
Formalisation and evaluation of focus theories for requirements elicitation dialogues in natural language
Requirements engineering is an important part of software engineering. It consists in defining
the needs of users when building a new system. These needs may be functional, i.e., what
service should the system be able to provide, as well as non-functional, i.e., under which
constraints should the system operate. Errors in requirements may have disastrous effects in
the rest of the software engineering process (Brooks 1995, p.199), since they would lead to the
construction of a system of little interest to its users or would require expensive modifications
to correct. Because requirements documents may be very large, errors are usually hard to
detect manually. Computer support is therefore often beneficial for their analysis. This
is made easier if requirements are expressed formally. However, this support must also be
adapted to and be usable by people who are expressing their requirements. These people
are usually not computer specialists and are not accustomed to use formal languages. It is
therefore necessary to help them express their requirements. Numerous approaches, have
been suggested as aids to the acquisition of requirements (Reubenstein 1990). Much less
attention has been paid to the control of the dialogue taking place between the users and the
system whilst using such frameworks (Bubenko et al. 1994). Frameworks for requirements
acquisition are not normally accompanied by theories of the types of dialogue which they
support. Our ability to develop sophisticated formal frameworks to analyse requirements
makes this deficiency more acutely felt, since increases in formality are often accompanied
by greater difficulty in understanding and using the frameworks (Robertson et al. 1989).Users write their requirements in more or less natural language. This
is then translated into a formal language that can be interpreted by the elicitation module.
This module works on the requirements and provide feedback. The translation process is
then applied to convert feedback into more or less natural language. Different systems put
different emphasis on the parts of that general architecture. Some are very good at natural
language interpretation while others put more emphasis on analysing the requirements and
providing feedback.Natural language approaches to requirements elicitation, put an emphasis on natural
language interpretation (see section 1.2.1). In these approaches, users write their specificaÂŹ
tion in a subset of natural language. The system then translates it into a formal notation.
The main benefit provided by these approaches is the improvement in the ease of use of
the system: natural language is the main means of communication for human beings and
does not need to be learned. However, most of these approaches do not provide a dialogue
well suited for the requirements elicitation process. Because they translate the natural lanÂŹ
guage specification into a formal notation but do not provide guidance on how to write the
specification in the first place, users are left in charge of writing correct requirements. If a
mistake is made while writing the specification, it will simply be translated into the formal
notation.In order to actively help users in the process of writing the requirements, the elicitÂŹ
ation system must interact with them. The emphasis, here, is no longer on translating
requirements, but on actively extracting them through a dialogue with users. This is useful,
since the requirements elicitation process is complex, and offering guidance is a big help
for users. Unfortunately, most of the approaches providing guidance expose their formal
underlying frameworks directly to users (see section 1.2.2). In order to benefit from the
guidance provided, users have to learn the idiosyncrasies of the system they use. The task
of providing guidance is complicated by the fact that there are numerous ways of carrying
out the requirements elicitation. Very little research has been done on how to organise best
the elicitation process to provide effective guidance. An arbitrary choice could be made,
but forcing users to adopt a predefined method is usually not possible as it would make
the elicitation process very difficult to follow and understand. The system must therefore
be able to adapt itself to various elicitation methods. On the other hand, it is necessary
for the system to make choices in order to provide active guidance. A "least-commitment"
strategy, such as asking users at every choice point what to do next, is not a useful approach
(Ferguson et al. 1996).One way of offering guidance without restricting users too much is by communicating
with them in natural language, and by using natural language constraints to inform the
choices made by the system to select a guidance strategy. These constraints ensure that
the system adopts a strategy that will guide users in a natural and understandable manner,
by taking into account the current state of the dialogue. In other words, the system takes into account the current state of the specification to help users complete it, but the current
state of the dialogue is the principal factor constraining what will be spoken about next.
Using such an approach reduces some of the problems discussed above. The specification
does not need to be immediately correct as it will be checked and reworked by the system.
The formal framework is hidden from users but is still there to ensure the correctness of
the specifications. Guidance is continuously offered through dialogue, which is influenced
by but does not directly follow the steps of construction of the specification.The natural language constraints we use in this thesis are theories of dialogue coherence,
called "focus" theories. They define what can be spoken about next in a dialogue based
on what has already been discussed and the subject under discussion. The theories take
into account what participants in a dialogue pay attention to and try to ensure that the
rest of the dialogue is related to it. The systems tries to
help its users define how a research group WWW site should look like. The way the dialogue
evolves from discussing the research group, to discussing the site and its associated home
page, to discussing the set of publication can quite easily be followed. The use of pronouns
helps in making the text fell natural. It would have been difficult to achieve the same result
without using focus rules.Other techniques for organising dialogues, such as those based on the intentions underÂŹ
lying the dialogue (Cohen et al. 1990), would require the dialogue manager to know what
the elicitation system is trying to achieve and what its plan is. For some elicitation systems,
this knowledge may not be available. Similarly, techniques based on the content of the
communications exchanged and how they relate, e.g., based on RST (Mann and Thompson
1987), usually require a lot of domain knowledge. They are therefore time-consumming to
code. Focus theories require less information from the elicitation module while enabling the
dialogue manager to structure the dialogue. However, in some cases, focus theories are not
sufficient to organise a dialogue. We use a theory based on speech act (see section 3.4.1) and
some ideas from Grice's work on conversation (see section 5.2.1) to deal with these cases.
More generally, although we tried to minimise the impact of other theories to study in detail
focus theories, it would be interesting to know whether and how we can integrate them with
the work presented in this thesis. In particular, the notion of dialog act and its application
to dialog grammar could be of interest. General frameworks developped to study various
aspects of dialogue, including dialog acts and focus, have started to appear but work is still
at an early stage (C-Star Consortium 1998; Allen and Core 1997).Organising a dialogue based on attention requires a lot of domain knowledge in order to
know how things mentioned in the dialogue relate to each other. Therefore, the amount of
knowledge engineering needed to build natural language applications is also an important
issue. We have tried to limit the engineering difficulties by clearly separating the domain
knowledge needed by our dialogue manager from its management capabilities, and by providÂŹ
ing a way of re-using the existing domain knowledge as far as possible. This is done by using
rules which enable us to re-use part of the domain knowledge already used by the elicitation
module.The contribution of this thesis is therefore the formalisation and evaluation of focus
theories for requirements elicitation dialogues in natural language. The main questions we
deal with are the following:
âą Which focus theories should we use?
âą What are the relations between the constraints imposed by the focus theories and the
constraints inherent to the requirements elicitation process?
âą Does this approach improve the perceived quality of the dialogue between the elicitaÂŹ
tion tool and its users?A prototype system has been developed. This system mainly operates in the WWW site
design domain. It has also been applied in other domains as an initial demonstration of the
range of problems that can be tackled by our approach
COMPLIANCE TO QUALITY CRITERIA OF EXISTING REQUIREMENTS ELICITATION METHODS
In this article we define a requirements elicitation method based on natural language modelling. We argue that our method complies with synthesized quality criteria for RE methods, and compare this with the compliance of traditional RE methods (EER, ORM, UML). We show limited empirical evidence to support our theoretical argument.computer science applications;
Research Findings on Empirical Evaluation of Requirements Specifications Approaches
Numerous software requirements specification (SRS) approaches have been proposed in software engineering. However, there has been little empirical evaluation of the use of these approaches in specific contexts. This paper describes the results of a mapping study, a key instrument of the evidence-based paradigm, in an effort to understand what aspects of SRS are evaluated, in which context, and by using which research method. On the basis of 46 identified and categorized primary studies, we found that understandability is the most commonly evaluated aspect of SRS, experiments are the most commonly used research method, and the academic environment is where most empirical evaluation takes place
Tools for producing formal specifications : a view of current architectures and future directions
During the last decade, one important contribution towards requirements engineering has been the advent of formal specification languages. They offer a well-defined notation that can improve consistency and avoid ambiguity in specifications.
However, the process of obtaining formal specifications that are consistent with the requirements is itself a difficult activity. Hence various researchers are developing systems that aid the transition from informal to formal specifications.
The kind of problems tackled and the contributions made by these proposed systems are very diverse. This paper brings these studies together to provide a vision for future architectures that aim to aid the transition from informal to formal specifications. The new architecture, which is based on the strengths of existing studies, tackles a
number of key issues in requirements engineering such as identifying ambiguities, incompleteness, and reusability.
The paper concludes with a discussion of the research problems that need to be addressed in order to realise the proposed architecture
Recommended from our members
Bayesian belief network model for the safety assessment of nuclear computer-based systems
The formalism of Bayesian Belief Networks (BBNs) is being increasingly applied to probabilistic modelling and decision problems in a widening variety of fields. This method provides the advantages of a formal probabilistic model, presented in an easily assimilated visual form, together with the ready availability of efficient computational methods and tools for exploring model consequences. Here we formulate one BBN model of a part of the safety assessment task for computer and software based nuclear systems important to safety. Our model is developed from the perspective of an independent safety assessor who is presented with the task of evaluating evidence from disparate sources: the requirement specification and verification documentation of the system licensee and of the system manufacturer; the previous reputation of the various participants in the design process; knowledge of commercial pressures;information about tools and resources used; and many other sources. Based on these multiple sources of evidence, the independent assessor is ultimately obliged to make a decision as to whether or not the system should be licensed for operation within a particular nuclear plant environment. Our BBN model is a contribution towards a formal model of this decision problem. We restrict attention to a part of this problem: the safety analysis of the Computer System Specification documentation. As with other BBN applications we see this modelling activity as having several potential benefits. It employs a rigorous formalism as a focus for examination, discussion, and criticism of arguments about safety. It obliges the modeller to be very explicit about assumptions concerning probabilistic dependencies, correlations, and causal relationships. It allows sensitivity analyses to be carried out. Ultimately we envisage this BBN, or some later development of it, forming part of a larger model, which might well take the form of a larger BBN model, covering all sources of evidence about pre-operational life-cycle stages. This could provide an integrated model of all aspects of the task of the independent assessor, leading up to the final judgement about system safety in a particular context. We expect to offer some results of this further work later in the DeVa project
- âŠ