Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
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 (978-3-319188-20-1)
Date Reviewed: May 2 2018

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)
Bookmark and Share
 
Requirements/ Specifications (D.2.1 )
 
 
Formal Languages (F.4.3 )
 
 
Model Development (I.6.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Requirements/Specifications": Date

Moriconi M. (ed), Lansky A.Type: Article
Dec 1 1985
A unifying framework for structured analysis and design models
Tse T., Cambridge University Press, New York, NY, 1991. Type: Book (9780521391962)
Jun 1 1992
A skeleton interpreter for specialized languages
Steensgaard-Madsen J.  Programming Languages and System Design (, Dresden, East Germany,1861983. Type: Proceedings
Mar 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy