This document discusses modeling software architecture. It begins by defining architectural modeling as capturing architectural design decisions through artifacts. It discusses choosing what to model based on stakeholder concerns, modeling common architectural elements and views, and characteristics of effective models like accuracy and precision. The document also surveys example modeling approaches including natural language, UML, Darwin, Koala and AADL.