Author :
Cailliau, Antoine ; Damas, Christophe ; Lambeau, Bernard ; van Lamsweerde, Axel
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, model-based 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. The paper illustrates the modeling language and method on a car crash management case study. The overall produced model integrates the goal, object, agent, operation and behavior submodels of the system. The paper outlines some of the features supported by KAOS for incremental model elaboration, including goal identification and refinement, the structuring of domain concepts, risk analysis for increased requirements completeness, goal operationalization, the derivation of agent interfaces and the derivation of state machine behavior models.
Keywords :
automobiles; emergency management; finite state machines; formal specification; model-based reasoning; program diagnostics; program verification; risk analysis; road accidents; simulation languages; KAOS; agent interface derivation; animations; behavioral facets; car crash management modeling; conflict analysis; declarative submodel; formal techniques; functional facets; goal identification; goal operationalization; goal refinement; goal satisfaction arguments; goal-driven model-based approach; incremental model elaboration; incremental reasoning; intentional facets; model analysis; model construction; model evolution; modeling language; modeling method; operational submodel; property checks; requirements completeness; risk analysis; semiformal technique; software requirements; state machine behavior models; structural facets; threat analysis; traceability management; Analytical models; Availability; Fires; Software; Unified modeling language; Vehicle crash testing; Vehicles; Goal-oriented requirements engineering; model analysis; model construction; multiview system modeling;