The art, craft, discipline, logic, practice and science of developing large scale software products is in increasing need of a trustworthy, believable and professional base. This book is one of a series of three volumes, devoted to fill this need. This series of strongly related text books combine informal, engineeringly sound approaches with the rigour of formal, mathematics based approaches.
This volume 2 covers the basic principles and techniques of specifying systems and languages. First the book teaches and trains its readers in advanced principles and techniques: Hierarchical versus compositional, denotational versus computational, and configurational - Abstracting and modeling contexts and states. Then the book goes on to teach and train its readers in basic principles and techniques of modeling the semiotics: Pragmatics, semantics and syntax of systems and languages. An important part covers principles and techniques of modeling spatial and simple temporal phenomena.
A major section of the book is devoted to such specialised topics as: Modularity (incl. UML's Class Diagrams); Petri Nets; Live Sequence Charts; Statecharts; and Temporal Logics, including the Duration Calculus.
This part epitomises the adage: We