This book explains in detail how to define requirements modelling languages – formal languages used to solve requirement-related problems in requirements engineering. It moves from simple languages to more complicated ones and uses these languages to illustrate a discussion of major topics in requirements modelling language design.
The book positions requirements problem solving within the framework of broader research on ill-structured problem solving in artificial intelligence and engineering in general. Further, it introduces the reader to many complicated issues in requirements modelling language design, starting from trivial questions and the definition of corresponding simple languages used to answer them, and progressing to increasingly complex issues and languages. In this way the reader is led step by step (and with the help of illustrations) to learn about the many challenges involved in designing modelling languages for requirements engineering.
The book offers the first comprehensive treatment of a major challenge in requirements engineering and business analysis, namely, how to design and define requirements modelling languages. It is intended for researchers and graduate students interested in advanced topics of requirements engineering and formal language design.
The above is a draft version, prior to reviews and publication. The final version, after reviews and edits was published by Springer, and is available for purchase here. Cite as:
Jureta, I., 2015. The Design of Requirements Modelling Languages. Springer International Publishing.
The book is based on the tutorial I gave at the 33rd International Conference on Conceptual Modeling, ER 2014, held in Atlanta, GA, USA. The abstract of the tutorial is below, as well as the slides that were used.
This is a tutorial on how to make Requirements Modelling Languages (RMLs), formalisms used to facilitate problem-solving in Requirements Engineering (RE).
RE focuses on how to elicit, model, and analyse the requirements and the environment of a system-to-be, in order to produce its specification. The tutorial shows how to make new RMLs, in a progression from simpler to more complicated ones, reviews and illustrates major topics and challenges in RML design, and discusses the designs of oft-cited RMLs in RE research.
This is a tutorial for professionals and researchers who need to select among existing, or make new rules for documenting the inputs, decisions, and outcomes of early phases of system design. The rules are usually made for interdisciplinary teams who do system design. Teams can include such disparate groups as investors in the system-to-be, product designers, future users, business analysts, domain experts, engineers from relevant fields (construction, software, hardware, and so on, depending on the purpose of the system-to-be), government representatives, legal professionals.
The rules are applied in order to facilitate problem-solving during design, by clearly representing the information relevant for design, the design options, relative merits of the options, and in order to produce documentation of the chosen design, which is used for, for example, selecting subcontractors, engineering and implementing the system, quality evaluation and assurance, evaluation of regulatory and standards compliance. The rules are applied in early phases of system design, in that they usually do not produce a system design specification which is sufficiently complete and detailed to serve as a blueprint to make the system. Instead, they result in a clear definition of the system’s purpose, of the main constraints it has to live with, and of (some) constraints on how it should achieve its purpose, all of which are inputs for engineers who are responsible for producing the specification of the system’s detailed design.
In addition to the slides above, participants had access to an accompanying document, given below. In case of inconsistencies between tutorial content and the book, the book has priority.