This book provides a coherent methodology for Model-Driven Requirements Engineering which stresses the systematic treatment of requirements within the realm of modelling and model transformations. The underlying basic assumption is that detailed requirements models are used as first-class artefacts playing a direct role in constructing software. To this end, the book presents the Requirements Specification Language (RSL) that allows precision and formality, which eventually permits automation of the process of turning requirements into a working system by applying model transformations and code generation to RSL. The book is structured in eight chapters. The first two chapters present the main concepts and give an introduction to requirements modelling in RSL. The next two chapters concentrate on presenting RSL in a formal way, suitable for automated processing. Subsequently, chapters 5 and 6 concentrate on model transformations with the emphasis on those involving RSL and UML. Finally, chapters 7 and 8 provide a summary in the form of a systematic methodology with a comprehensive case study. Presenting technical details of requirements modelling and model transformations for requirements, this book is of interest to researchers, graduate students and advanced practitioners from industry. While researchers will benefit from the latest results and possible research directions in MDRE, students and practitioners can exploit the presented information and practical techniques in several areas, including requirements engineering, architectural design, software language construction and model transformation. Together with a tool suite available online, the book supplies the reader with what it promises: the means to get from requirements to code in a snap .
Michal Smialek is a professor in the Department of Theory of Electrical Engineering and Applied Informatics at Warsaw University of Technology (Poland) and leads the SMoG research group that develops methods and tools for requirements-based model-driven development. In addition, he has over 20 years of experience in software development as a programmer, analyst, process engineer and project manager. Wiktor Nowakowski is a researcher in the Department of Theory of Electrical Engineering and Applied Informatics at Warsaw University of Technology. His main areas of research are in requirements engineering, model-driven software development and software language engineering. Wiktor also has extensive industry experience working on small- to large-scale projects, mainly as a business systems analyst.