![Page 1: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/1.jpg)
UML Profile to Support Requirements UML Profile to Support Requirements Engineering with KAOSEngineering with KAOS
Presented by Chin-Yi TsaiPresented by Chin-Yi Tsai
![Page 2: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/2.jpg)
2
Outline Outline
IntroductionIntroduction
The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile
Model IntegrationModel Integration
Case StudyCase Study
ConclusionConclusion
![Page 3: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/3.jpg)
3
IntroductionIntroduction
One of the most important approaches to requirement One of the most important approaches to requirement engineering of the ten year is the KAOS model.engineering of the ten year is the KAOS model.
Nonstandard graphical notationThe notation and tool are not familiar to many.
Nonstandard graphical notationThe notation and tool are not familiar to many.
![Page 4: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/4.jpg)
4
Introduction (cont’d)Introduction (cont’d)
Introduce a Introduce a profileprofile that allows the KAOS model to be that allows the KAOS model to be represented in the UML.represented in the UML.
A UML profile can increase the usefulness of KAOS.A UML profile can increase the usefulness of KAOS.
The ability to model the KAOS approach in the UML offers The ability to model the KAOS approach in the UML offers the potential for extra tool support.the potential for extra tool support.
Informal representation of the profileInformal representation of the profileStereotype Stereotype
tagtag
Informal representation of the profileInformal representation of the profileStereotype Stereotype
tagtag
![Page 5: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/5.jpg)
5
Introduction (cont’d)Introduction (cont’d)
KAOSKAOS Goal-oriented methodologyGoal-oriented methodology Rich ontology for capturing and modeling requirementRich ontology for capturing and modeling requirement Refinement and operationalization Refinement and operationalization Temporal logic for verificationTemporal logic for verification
KAOS and the UMLKAOS and the UML
KAOS Model
Meta-levelDomain-levelInstance-level
UML
Meta-model layerModel layer
User model (=instance) layer
![Page 6: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/6.jpg)
6
Introduction (cont’d)Introduction (cont’d) A KAOS model is s semantic network in which the A KAOS model is s semantic network in which the nodesnodes
are concepts and the are concepts and the connectionconnection between nodes are between nodes are associations between the concepts.associations between the concepts.
There are two parts to a KAOS modelThere are two parts to a KAOS model A graphical representation of the semantic network together with a A graphical representation of the semantic network together with a
supplementary textural definitionsupplementary textural definition The optional formal representation expressed in a temporal logicThe optional formal representation expressed in a temporal logic
KAOS semantic networkKAOS semantic network stereotyped classesstereotyped classes associationassociation
The informal and formal descriptions The informal and formal descriptions tags of these stereotyped class tags of these stereotyped class association.association.
![Page 7: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/7.jpg)
7
Introduction (cont’d)Introduction (cont’d)
Formal expressions need to be rewritten using only Formal expressions need to be rewritten using only ASCII charactersASCII characters since most UML editors do not since most UML editors do not support the symbol of the KAOS temporal logic.support the symbol of the KAOS temporal logic. OCLOCL
The UML is extended by introducing new The UML is extended by introducing new stereotypesstereotypes to the language. to the language.
A particular extension of the UML is packaged as A particular extension of the UML is packaged as profileprofile.. We can think of a profile as an We can think of a profile as an extension of the UML extension of the UML
meta-model layermeta-model layer
<<refines>>
<<reduces>>
![Page 8: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/8.jpg)
8
Introduction (cont’d)Introduction (cont’d)
The stereotype <<reduces>> is a specialisation of the existing UML
abstraction stereotype <<refines>>.
![Page 9: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/9.jpg)
9
Stereotype Stereotype
<<kobject>><<kobject>> <<kentity<<kentity <kevent>><kevent>> <<kagent>><<kagent>> <<goal>><<goal>> <<requisite>><<requisite>> <<requirement>><<requirement>>
<<input>><<input>> <<output>><<output>> <<capability>><<capability>> <<performs>><<performs>> <<monitors>><<monitors>> <<controls>><<controls>> <<concerns>><<concerns>> <<reduces>><<reduces>> <<conflicts>><<conflicts>> <<assumption>><<assumption>> <<operationalises>><<operationalises>> <<responsibility>><<responsibility>>
ClassClass
AssociationAssociation
![Page 10: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/10.jpg)
10
Tags Tags
informalDefinformalDef formalDefformalDef formform softsoft instanceOfinstanceOf prioritypriority categorycategory invariantinvariant strengthenInvstrengthenInv frequencyfrequency domPreconditiondomPrecondition domPostconditiondomPostcondition
reqPreconditionreqPrecondition reqPostconditionreqPostcondition reqTriggerconditionreqTriggercondition realmrealm
![Page 11: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/11.jpg)
11
The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile
,
stereotype
tags
form: Achieve
MainAvoidCease
MinimiseMaximise
![Page 12: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/12.jpg)
12
Goal ReductionGoal Reduction
![Page 13: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/13.jpg)
13
![Page 14: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/14.jpg)
14
RequisitesRequisites
A goal that can be reduced no further and is A goal that can be reduced no further and is assignable to an individual agent either in the assignable to an individual agent either in the domain (Requirement)domain (Requirement) or in the or in the software-to-be software-to-be (Assumption)(Assumption) is a requisite. is a requisite.
![Page 15: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/15.jpg)
15
Agent, entities and eventsAgent, entities and events
![Page 16: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/16.jpg)
16
ActionsActions
![Page 17: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/17.jpg)
17
![Page 18: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/18.jpg)
18
Model IntegrationModel Integration
Modeled in the UML, a KAOS model may be Modeled in the UML, a KAOS model may be incorporated into the reset of a system’s UML incorporated into the reset of a system’s UML designdesign documentation, seamlessly linking the documentation, seamlessly linking the documentation for the documentation for the requirementsrequirements elicitation part elicitation part of a project to the whole.of a project to the whole.
![Page 19: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/19.jpg)
19
Requirements TraceabilityRequirements Traceability
<<operationalises>><<operationalises>> <<responsibility>><<responsibility>> <<ensures>><<ensures>>
<<requisite>><<requisite>> <<kaction>><<kaction>> <<kagent>><<kagent>> <kobject>><kobject>>
Requirement Model Design ModelTraceabilityTraceability
![Page 20: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/20.jpg)
20
Interleaving ModelsInterleaving Models
A more interesting possibility resulting from the A more interesting possibility resulting from the profile is the interleaving of KAOS models with profile is the interleaving of KAOS models with standard UML models.standard UML models.
![Page 21: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/21.jpg)
21
Case StudyCase Study
A portion of the advanced automatic train control (AATC) A portion of the advanced automatic train control (AATC) system used in San Francisco’s Bay Area Rapid Transit system used in San Francisco’s Bay Area Rapid Transit (BART) rail service.(BART) rail service.
To serve more passengers by running trains more closely To serve more passengers by running trains more closely spaced.spaced.
Steps:Steps: Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals Identification of ObjectsIdentification of Objects Identification of Requirements and Agent AssignmentsIdentification of Requirements and Agent Assignments Goal OperationalisationGoal Operationalisation
![Page 22: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/22.jpg)
22
Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals
By searching the problem statement for keywords By searching the problem statement for keywords such as “purpose”, “objective”, “in order to”, etc..such as “purpose”, “objective”, “in order to”, etc.. Some initial goals can be identified at an early stage.Some initial goals can be identified at an early stage.
![Page 23: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/23.jpg)
23
Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals
![Page 24: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/24.jpg)
24
Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals
![Page 25: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/25.jpg)
25
Identification of ObjectsIdentification of Objects
The definition of goals derives the identification of The definition of goals derives the identification of objects.objects.
![Page 26: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/26.jpg)
26
Identification of ObjectsIdentification of Objects
![Page 27: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/27.jpg)
27
Identification of Requirements and Agent AssignmentsIdentification of Requirements and Agent Assignments
![Page 28: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/28.jpg)
28
Goal OperationalisationGoal Operationalisation
![Page 29: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/29.jpg)
29
![Page 30: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/30.jpg)
30
![Page 31: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/31.jpg)
31
ConclusionConclusion
![Page 32: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/32.jpg)
32
Stereotype Stereotype
![Page 33: UML Profile to Support Requirements Engineering with KAOS](https://reader036.vdocument.in/reader036/viewer/2022062322/568150be550346895dbedd27/html5/thumbnails/33.jpg)
33
Tags Tags