master words nowadays: how to build the best product, spend less and finish in time. Every project manager knows this triptych: every time she or he starts a new project, it could turn into a nightmare. CMM-I, Six Sigma, COCOMO II, MDA, MDD, XML and others are answers that have resulted from different industries involving the development of complex systems. Modeling techniques have had significant quality and productivity impact in domains ranging from business processes to embedded real-time applications. The Unified Modeling Language (UML), Model Driven Architecture (MDA), Component Based Development (CBD), Use Case Maps, Message Sequence Charts (MSCs), and Specification and Description Language (SDL) all support modeling concepts that help reduce the impedance mismatch between models of the problem domain and designs in the solution domain. Programming languages are no longer the necessary and sufficient condition to success. All effort is put in product development to better manage the process. Requirement management, system and software architecture, and model development are part of the artifacts of a good system or software development process. Simulation, one of the most acclaimed requirements to UML 2.0, helps software engineers who simulate the software architecture as well as its design for a better verification and valida- tion of what is being built. Simulation can only be based on a formal language with a clearly defined syntax and semantics. Formal abstract languages such as SDL and the upcoming UML 2.0, are the answers for modelers with concerns such as verifying architecture models and design models. Why simulate? What to simulate? How to simulate Answers to these questions are found in this book, which is a result of the vast experience Laurent Doldi has acquired in the more than two decades during which he was involved as a consultant engineer, in complex system engineering, in tool development and in teaching classes. Whether your concern is verification or validation, you will find in this bo