This book describes an object-oriented design approach that combines the benefits of abstract modelling with the analytic power of formal methods, to give designs that can be rigorously validated & assured with automated support.
Aimed at software architects, designers & developers as well as computer scientists, no prior knowledge of formal methods is assumed. The elements of functional modelling are introduced using numerous examples & exercises, industrial case studies & experience reports. Industry-strength tools support the text. Go to www.vdmbook.com to download free-of-charge VDMTools Lite, which gives the possibility to try out examples from the book
To this end, this book presents a framework that allows the very different kinds of design models – discrete-event (DE) models of software and continuous time (CT) models of the physical environment – to be analyzed and simulated jointly, based on common scenarios. The individual chapters provide introductions to both sides of this co-simulation technology, and give a step-by-step guide to the methodology for designing and analyzing co-models. They are grouped into three parts: Part I introduces the technical basis for collaborative modeling and simulation with the Crescendo technology. Part II continues with different methodological guidelines for creating co-models and analyzing them in different ways using case studies. Part III then delves into more advanced topics and looks into the potential future of this technology in the area of cyber-physical systems. Finally various appendices provide summaries of the VDM and 20-sim technologies, a number of valuable design patterns applicable for co-models, and an acronym list along with indices and references to other literature. By combining descriptions of the underlying theory with records of real engineers’ experience in using the framework on a series of case studies the book appeals to scientists and practitioners alike. It is complemented by tools, examples, videos, and other material on www.crescendotool.org.Scientists/researchers and graduate students working in embedded and cyber-physical systems will learn the semantic foundations for collaborative modeling and simulation, as well as the current capabilities and limitations of methods and tools in this field. Practitioners will be able to develop an appreciation of the capabilities of the co-modeling techniques, to assess the benefits of more collaborative approaches to modeling and simulation, and will benefit from the included guidelines and modeling patterns.