This book describes an object-oriented design approach that combines the benefits of abstract modeling with the analytic power of formal methods to give designs that can be rigorously validated and assured with automated support. Aimed at software architects, designers, and developers as well as computer scientists, the elements of functional modeling are introduced using numerous examples and exercises, industrial case studies, and experience reports. Industry-strength tools support the text.
This book provides an introduction to practical formal modelling techniques in the context of object-oriented system design. It is aimed at both practising software engineers with some prior experience of object-oriented design/programming and at intermediate or advanced students studying object-oriented design or modelling in a short course. The following features make this book particularly attractive to potential instructors: § The relationship with UML and object-oriented programming makes it easy to integrate with the mainstream computing curriculum. Although the book is about formal methods, it does not have to be treated as a specialist topic. § The use of tools and an accessible modelling language improves student motivation. § The industry-based examples and case studies add to the credibility of the approach. § The light touch approach means that the material appeals to students with a wider range of abilities than is the case in a conventional formal methods text. § Support materials as listed above.