Abstract
Getting the right software requirements under the right environment assumptions is a critical precondition for developing the right software. KAOS is a goal-driven, modelbased approach for elaborating a complete, adequate, consistent, and well-structured set of measurable software requirements and environment assumptions. The modeling language and method cover the intentional, structural, functional, and behavioral facets of the target system. Declarative and operational sub-models are integrated. Semi-formal and formal techniques complement each other for model construction, analysis and evolution. They support early and incremental reasoning on partial models for a variety of purposes including goal satisfaction arguments, property checks, animations, the evaluation of alternative options, the analysis of risks, threats and conflicts, and traceability management.