Computing Reviews

The design of requirements modelling languages :how to make formalisms for problem solving in requirements engineering
Jureta I., Springer International Publishing,New York, NY,2015. 286 pp.Type:Book
Date Reviewed: 05/02/18

Requirements engineering (RE), an ill-structured problem, could benefit from automation support to capture and reuse the requisite problem-solving knowledge. To engineer a system that will meet its stakeholders’ expectations, one must transform these (typically unclear, incomplete, inconsistent, and ambiguous) expectations into engineering specifications that are consistent, complete, implementable, and verifiable. This important phase of systems engineering requires scarcely available intuition, creativity, and experience in performing activities such as elicitation, analysis, and evaluation in an iterative, evolutionary manner.

To facilitate the capture of such experiential knowledge in a reusable form--known as knowledge engineering (KE) in artificial intelligence--the author has collected and presented various formalism approaches, explained with interesting illustrative real-life case studies. Still, a key activity, requiring extraordinary competence, is reframing the original ill-structured stakeholder needs and expectations into well-structured (that is, solvable or already solved) sub-problems. The suggested KE approaches focus on the latter, making the experts’ implicit knowledge explicit through the formulation of inference rules.

This logicist approach leads to very specific meanings of key terms that are stricter than their meanings in common usage. “Model” is defined as the representation of problem-solving information in terms of propositions. The problem-solving information is decomposed into the problem space, the solution space, the transformation from the former to the latter, including intermediate spaces, and knowledge about the environment (called domain knowledge). “System” is treated as an abstract realization of the solution--the behavior that provides the solution. Then, a “system model” is a representation of this behavior in terms of propositions. A “requirements modeling language” (RML) is the set of semantics and syntax that represents the aforementioned information, distinguishing it from other types of formal languages. RML’s distinctive features improve the quality of the RE process, which, in turn, improves the quality of the system and reduces its cost and time to completion.

The presented ideas are synthesized from a survey of previous RMLs such as KAOS, i-star, Telos, and Techne (in conjunction with CORE, a core ontology for RE), comparing their strengths and limitations, for example, expressiveness, complexity, ease of use, and ease of learning.

In current practice, requirements are stated in terms of natural language narratives, often without explicit relationships across different requirements or their elements. To facilitate the transformation from such human expression to some formalism, fragments of information (descriptions of elemental concepts in the problem space) are identified with tags for compact representation and reference. These fragments could be useful in communication with stakeholders. Later, models are developed using these fragments.

The surveyed requirements modeling approaches include support to acquire information, to structure acquired information into models, and to elaborate requirements models, and include abstraction mechanisms, means to define categories and relations, predefined categories, relations, intentional states of actors in a situation (for example, what they want, assume, and know), and qualifiers (for example, preferences, whether mandatory or optional, strength of interdependency, degree of satisfaction, and degree of influence).

RML technology is still immature. The presented information would be most interesting to developers of KE tools to support RE.

Reviewer:  Sushil Birla Review #: CR146011 (1807-0356)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy