Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Seminar in Software Engineering: Spezifikationsverfahren
KAOS
Sinan Demokan 16. Januar 2001
Institut für Informatik der Universität Zürich: Prof. Dr. M. Glinz, N. Schett
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 2
Inha
lt
• Hintergrund / Idee• Das KAOS-Vorgehensmodell• Divergenzen• KAOS in der Praxis• Zusammenfassung• Fazit
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 3
Hint
ergr
und
/ Ide
e
Problemstellung:
Das Erkennen bzw. Beheben von Inkonsistenzenverschiedener Art, welche sich bei der Akquisition,Spezifikation und Evolution von Anforderungen und Zielen,denen verschiedene Quellen zugrunde liegen,bezüglich eines Systems ergeben.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 4
Hint
ergr
und
/ Ide
e
Ursachen der existierenden Problematik:
• Die Art und Weise der Inkonsistenz ist nicht klar erkennbar
• Was bedeutet „ein Konflikt zwischen Anforderungen“?
• Keine systematische Unterstützung bei der Erkennung von Inkonsistenzen
• Keine systematische Unterstützung bei der Beseitigung von Inkonsistenzen
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 5
Hint
ergr
und
/ Ide
e
Verschiedene Ansätze zur Lösung:
• Beseitigung der Inkonsistenzen auf der Ebene der Zieldefinierung
• Mechanismen zur Strukturierung von Anforderungen in modulare Sichten
à Vorarbeiten für die Entwicklung von KAOS
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 6
KAO
S-Vo
rgeh
ensm
odel
l
Knowledge Acquisitionin
autOmated Specification
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 7
KAO
S-Vo
rgeh
ensm
odel
l
• Unterstützt den gesamten Spezifikationsprozess
• KAOS setzt sich zusammen aus einer Multiparadigmen-Spezifikationssprache, einer zielorientierten Ausarbeitungsmethode und dem Gebrauch von Wissen der Meta-Ebene zur Unterstützung deren.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 8
KAO
S-Vo
rgeh
ensm
odel
l
Ziele von KAOS (1):
• Formales Modellieren von funktionalen und nicht-funktionalen Anforderungen bezüglich Zielen, Einschränkungen (constraints), Voraussetzungen, Objekten, Ereignissen, Aktionen, Agenten, etc
• Beweis- und Herleitungstechiken zur Zielverfeinerung, Zieloperationalisierung, Konflikterkennung, Konfliktbeseitigung und Agentenzuweisung
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 9
KAO
S-Vo
rgeh
ensm
odel
l
Ziele von KAOS (2):
• Anforderungsgewinnung: zielorientierte, szenarienbasierteund sichtenorientierte Strategien
• Requirements Re-engineering
• Der Gebrauch eines Meta-Modells zur Unterstützung der Wiederverwendung von generischen Domänen-Modellierungs-Vorlagen
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 10
KAO
S-Vo
rgeh
ensm
odel
l
KAOS-Spezifikationssprache:
Die Spezifikationssprache kombiniert semantische Netze zur konzeptionellen Modellierung von Zielen, Anforderungen, Voraussetzungen, Agenten, Objekten und Operationen; Temporale Logik zur Spezifikation von Zielen, Anforderungen, Voraussetzungen und Objekten; und zustandsbasierte Spezifikationen zur Beschreibung von Operationen.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 11
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (1):
Object
Ein Objekt ist eine betrachtete Sache im System. Die Instanzen des Objekts können in verschiedene Zustände übergehen. Ein Objekt ist normalerweise detaillierter Spezifiziert als eine Entität, eine Beziehung oder ein Ereignis, abhängig davon, ob das Objekt autonom oder untergeordnet erscheint. Sie werden charakterisiert durch Attribute und Invarianten. Vererbung wird unterstützt.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 12
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (2):
Operation
Eine Operation ist eine Input-Output-Beziehung bezüglich Objekten. Der Gebrauch von Operationen definiert Zustandsübergänge. Die Operation wird charakterisiert durch Pre-, Post- und Trigger-Bedingungen. Unterschieden wird zwischen Domänen- Pre- und -Post-Bedingungen, welche elementare Zustandsübergänge in der Domäne durch den Gebrauch von Operationen abdecken, und zwischen verlangten (required) Pre- und Post-Bedingungen, mit welchen zusätzliche Einschränkungen zur Zielerreichung angegeben werden können.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 13
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (3):
Agent
Ein Agent ist eine andere Art von Objekt, welcher als Prozessor für Operationen dient. Ein Agent führt Operationen aus, wenn sie ihm effektiv zugewiesen wurden. Der Agent kann Objekte beobachten, wenn diese dafür vorgesehen werden (observable). Agenten können durch Menschen, Geräte und Programme etc. verkörpert werden.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 14
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (4):
Goal
Ein Goal ist ein Ziel, welches das System erreichen soll. Durch AND-und OR-Definitionen können Beziehungen zu Subgoals hergestellt werden. Die Goal-Struktur für ein gegebenes System kann durch einen AND/OR-gerichteten azyklischen Graphen dargestellt werden.Ist eine AND-Bedingung vorhanden, so ist das Goal erfüllt, wenn alle Subgoals erreicht werden. Ist eine OR-Bedingung vorhanden, so ist das Goal erfüllt, wenn nur eines der Subgoals erreicht wird.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 15
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (5):
Requisite, Requirement und Assumption
Requisites sind Goals, welche durch Zustände formuliert werden können. Diese Zustände müssen durch individuelle Agenten kontrollierbar sein. Requirements sind Requisites, welche einem Softwareagenten zugewiesen werden. Assumptions sind Requisites, welche einem Agenten aus der Systemumgebung zugewiesen werden. Im Gegensatz zu Requirements können Assumptionsnormalerweise nicht erheblich beeinflusst werden.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 16
KAO
S-Vo
rgeh
ensm
odel
l
Zugrundeliegende Ontologie (6):
Scenario
Ein Scenario ist eine Komposition von Operationenanwendungen durch Einbezug von Agenteninstanzen. Diese Operationen müssen domänen-konsistent sein, d.h. Die Domänen-Pre-, -Post- und -Invarianten-Bedingungen müssen erfüllt sein.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 17
KAO
S-Vo
rgeh
ensm
odel
l
Das Sprachkonstrukt: „Meeting Scheduler System“Goal Achieve[ParticipantsConstraintsKnown]
Concerns Meeting, Participant, SchedulerRefines MeetingPlannedRefinedTo ConstraintsRequested, ConstraintsProvidedInformalDef A meeting scheduler should know the
constraints of the various participants invitedto the meeting within some deadline d (≤ d) afterinvitation.
FormalDef ∀m: Meeting, p: Participant, s: SchedulerInvited(p, m) ∧ Scheduling(s, m)⇒ ◊ ≤ d Knows(s, p.Constraints)
1: Äussere semantische Ebene2: Innere formale Ebene (optional)
1
2
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 18
KAO
S-Vo
rgeh
ensm
odel
l
Operatoren:
Operator Text
∧ and
∨ or
¬ not
→ implies
↔ equivalent
⇒ entails
⇔ congruent
Logische Operatoren
Operator Text
ο in the next state
• in the previous state
◊ some time in the future
t some time in the past
¨ always in the future
n always in the past
W always in the future unless
U always in the future until
Temporale Operatoren
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 19
KAO
S-Vo
rgeh
ensm
odel
l
„dot-Notation“:
FormalDef ∀m: Meeting, p: Participant, s: Scheduler
Invited(p, m) ∧ Scheduling(s, m)
⇒ ◊ ≤ d Knows(s, p.Constraints)
Agent ParticipantCapableOf CommunicateConstraints, ...Has Constraints:
Tuple [ExcludedDates: SetOf[TimeInterval],PreferredDates: SetOf[TimeInterval]]
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 20
KAO
S-Vo
rgeh
ensm
odel
l
Aufruf von Relationen:
FormalDef ∀m: Meeting, p: Participant, s: Scheduler
Invited(p, m) ∧ Scheduling(s, m)
⇒ ◊ ≤ d Knows(s, p.Constraints)
Relationship InvitedLinks Participant {card 0:N}, Meeting {card 1:N}InformalDef A person is invited to a meeting iff
she appears in the list of expected participantsspecified in the meeting initiator’s request.
DomInvar ∀p: Participant, m: Meeting, i: InitiatorInvited(p, m) ⇔p ∈ Requesting[i,m].ParticipantsList
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 21
KAO
S-Vo
rgeh
ensm
odel
l
Die KAOS-Ausarbeitungsmethode:
Zielausarbeitung
Operationenerkennung
Verantwortlichkeiten
Operationalisierung
Objektgewinnung
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 22
KAO
S-Vo
rgeh
ensm
odel
l
Gebrauch von Wissen der Meta-Ebene:
• Domänenunabhängiges Wissen soll als lokaler Leitfaden zur Unterstützung der einzelnen Schritte des Ausarbeitungsprozesses verwendet werden
• Eine Mögliche Umsetzung: Kategorisierung der Zielformulierungen
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 23
KAO
S-Vo
rgeh
ensm
odel
l
Beispiele für Kategorien der Ziele:
• SatisfactionGoals• InformationGoals• RobustnessGoals• ConsistencyGoals• AvoidGoals• PrivacyGoals• SafetyGoals• ConfidentialityGoals
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 24
KAO
S-Vo
rgeh
ensm
odel
l
Beispiel für eine Konfliktquelle:
ConfidentialityGoals
InformationGoals
!
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 25
Dive
rgen
zen
• Wo können Inkonsistenzen auftreten?
• Das Konzept der Sichten
• Was sind Divergenzen?
• Wie können Divergenzen erkannt werden?
• Wie können Divergenzen beseitigt werden?
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 26
Dive
rgen
zen
Process Level
Product Level
Instance Level
objectives actors operatorsartifacts
elaboration process
produced requirements
running system
goals agents operationsobjects
Wo können Inkonsistenzen auftreten?:
prescribes
InstanceOf
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 27
Dive
rgen
zen
Master Concept
View
ActorSeesAs
FacetSeenAs
0:N
1:10:N
Process level
Product level
Das Konzept der Sichten:
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 28
Sichten in der KAOS-Spezifikationssprache:
Dive
rgen
zen
Entity MeetingHas Date: Calendar; Location: String
Entity MeetingToBeScheduledFacetOf Meeting SeenBy MeetingOrganizerHas ExcludedDates: SetOf[Calendar]
RequiredEquipment: SetOf[String]DomInvar ∀m: Meeting
m.Date not in m.ExcludedDates
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 29
Dive
rgen
zen
Klassifizierung der Inkonsistenzen:
• Abweichung auf der Prozessebene• Abweichung auf der Instanzebene• Terminologiediskrepanz• Bezeichnungsdiskrepanz• Strukturdiskrepanz• Divergenz
- Konflikt- Konkurrenz
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 30
Dive
rgen
zen
Eine Divergenz:
Eine Divergenz zwischen Forderungen A1...An innerhalb einer Domäne Dom tritt auf, wenn eine Grenzbedingung B existiert und folgende Bedingungen erfüllt werden:
1. { Dom, B, ∧1≤i≤n Ai } |– false(logical inconsistency)
2. for every i: { Dom, B, ∧j≠i Aj } |– false(minimality)
3. there exists a scenario S and time position i such that(S, i) |= B(feasibility)
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 31
Dive
rgen
zen
Grenzbedingung:
Eine Grenzbedingung (boundary condition) bedeuted, dass besondere Kombinationen von Umständen Ziele oder Anforderungen, welche ansonsten miteinander harmonieren, plötzlich konfliktär werden lassen.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 32
Dive
rgen
zen
Divergenzenerkennung:
àZiel: Die Herleitung einer Grenzbedingung
1. Durch Regression der Negierten Forderungen
2. Durch Anwendung von bekannten Divergenzmustern
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 33
Dive
rgen
zen
Regression der negierten Forderungen:
Allgemeine Prozedur:
Initial step: take B := ¬ Ai
Inductive step: let A ⇒ C be the rule selected,with C matching some subformula Lin B;
then µ := mgu(L, C);B := B[L/A.µ]
(where mgu(F1,F2) denotes the most general unifierof F1 and F2, F.µ denotes the result of applying thesubstitutions from unifier µ to F, and F[F1/F2] de-notes the result of replacing every occurrence of F1in formula F by F2).
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 34
Dive
rgen
zen
Beispiel eines Divergenzmusters:
P ⇒ ◊Q R ⇒ ¨¬S Q ⇒ S
◊(P ∧ R)
!
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 35
Dive
rgen
zen
Divergenzenbeseitigung:
1. Durch Anwendung von vorgegebenen Strategien
2. Anwendung von Vorgehensmustern (analog Divergenzenmuster)
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 36
Dive
rgen
zen Strategien zur Divergenzenbeseitigung:
o Anforderungstransformation• Vermeidung von Grenzbedingungen• Zielpräzisierung unter Einbezug der Grenzbedingung• Abfangen eines Konflikts bei Erwartung des Eintretens
nach einer bestimmten Zeit• Zielformulierung abschwächen• Alternativziele definieren• Anwendung von heuristischen Methoden
o Objekttransformation• Objektverfeinerung
• Agentenverfeinerung
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 37
KAO
S in
der
Pra
xis
Praxis:
• Erfolgreicher Einsatz in fünf industriellen Projekten:
à Notfall-Service-System in einem belgischen Hospital
à System zur Unterstützung des Versands von Gütern
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 38
KAO
S in
der
Pra
xis
Werkzeug:
• KAOS / GRAIL als Umgebung für eine effektive Anwendung des zielorientierten Requirements Engineerings in der Praxis
• Verweis auf Literatur:R. Darimont, E. Delor, P. Massonet, and A. van Lamsweerde,GRAIL/KAOS: An Environment for Goal-Driven RequirementsEngineering,” Proc. ICSE’98—20th Int’l Conf. Software Eng., vol. 2,pp. 58-62, Kyoto, Japan, Apr. 1998
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 39
Zusa
mm
enfa
ssun
g Hintergrund / Idee:• Problem des Erkennens / Beseitigens von
Inkonsistenzen• Ansätze zur Lösung:
1. Beseitigung auf Ebene der Zieldefinierung2. Strukturierung von Anforderungen in
modulare SichtenKAOS Vorgehensmodell:
• Die KAOS-Spezifikationssprache• Die Ausarbeitungsmethode• Gebrauch von Wissen der Meta-Ebene
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 40
Zusa
mm
enfa
ssun
g
Divergenzen:• Scope of Inconsistency Management• Das Konzept der Sichten• Divergenzenerkennung• Divergenzenbeseitigung
Praxis:• Erfolgreicher Einsatz in fünf industriellen Projekten• Werkzeug GRAIL
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 41
Fazit Stärken:
• Modellierung von funktionalen & nicht-funktionalen Anforderungen
• Formale & nicht-formale Spezifikation.• Verständlichkeit• Unterstützt gesamten Spezifikationsprozess• Wiederverwendung / Muster• Unterstützt Inconsistency Management
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 42
Fazit
Schwächen:
• Formale & nicht-formale Spezifikation• Formale Spezifikation optional• Literatur / Dokumentation• Sehr vieles noch im Ermessen des Requirements
Engineers• Keine offizielle organisationale Institution• Fallunterscheidungen
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 43
Fazit
Abschliessend:
Das KAOS-Vorgehensmodell wurde bezüglich der Verbreitungsmassnahmen leider noch nicht ausgereift. Der Ansatz bietet zwar einige von anderen Verfahren nicht unterstützte Methoden im Spezifikationsprozessan, jedoch wird die Anwendung durch mangelnde Dokumentation bezüglich Aufbau, Standards und Erkenntnisse erschwert.
Seminar Spezifikationsverfahren WS00/01KAOS
Sinan Demokan, 16.01.2001 44
Dank
e
Danke für Ihre
Aufmerksamkeit!