Systems engineering and architecting : creating formal requirements - Bellagamba, Laurence (CRC Press, 2012)
"Preface This book was written to take a step to fulfill a goal that George Friedman stated in his president's keynote address in 1994 at just the second meeting of the International Council on Systems Engineering. George asked his audience to provide a mathematical basis for doing systems engineering. Such a basis is now called formal requirements, which are explicit, executable instructions to do something that can be verified by logic or examination. Since George asked, substantial advances were gradually made in our ability to provide formal requirements for doing many aspects of software engineering and embedded systems. These successful efforts provide the insights needed to start the process for systems engineering. Also in the years since, the need to rationally control the interactions of families of systems has developed into a major concern. So we now need formal methods to do architecting as well. The book describes a set of formal methods and shows examples of their use. The actual formal requirements themselves are written in Mathematicaʼ and are available online. In retrospect, formulating the formal requirements is actually much easier than inventing how to accomplish systems engineering and architecting tasks in the first place. The job to make formal requirements is more illumination than invention, so embellishing and adding to the set of formal requirements are best done by many people rather than a few individuals. Therefore, all my colleagues are encouraged to get the set and recommend improvements or additions. My hope is that over time talented individuals will collectively achieve George's goal"--