High-Level Modeling Patterns
Model driven design, metaprogramming and the development of software product-lines characterize the increasing role of high-level modelling for the design and analysis of complex computer-based systems. The Abstract State Machines modeling and analysis method (see http://www.di.unipi.it/AsmBook/) has been successfully used to
coherently link the major activities which occur during the software life cycle, from requirements capture over detailed design to code together with their validation, verification and documentation for inspection, reuse and maintenance. It is used in this course to define and analyze modeling patterns that are emerging in three typical
application areas: paradigmatic programming and software architecture
constructs, business process interactions and web service mediations.