Specifying by Modelling?
Dr. Rudolf Hauber HOOD GmbH Büro München Keltenring 7 D-82041 Oberhaching Tel: 0049 89 4512 53 0 www.HOOD-Group.com
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-1-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Presenter
Dr. Rudolf Hauber Senior Consultant Responsible for Aerospace and Defense Main emphasis: Modelling, SysML, UML
[email protected]
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-2-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Content of this Presentation 1
Motivation
2
System Development Process
3
Modelling for Requirements Definition
4
RM and Modelling: Open issues
5
Conclusion
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-3-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Motivation System and Software-development is not trivial!
Representation of problem domain and solution using models
reduces complexity
simplifies communication
improves reuse
Modelling is an established engineering technique
(Von Rational Websources) Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-4-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Benefit of modelling Modelling is a tool for Customer Impression of product/system Stabilisation of requirements Project management Risk mitigation by early verification (Requirements, Architecture, Design) Cost reduction by automation Development Early proof-of-concept by simulation Re-use of models Quality assurance Quality improvement by automation Early testability Other stakeholders Communication tool Modelling is no end in itself! Depending on project size and objectives
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-5-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
1
Motivation
2
System Development Process
3
Modelling for Requirements Definition
4
RM and Modelling: Open issues
5
Conclusion
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-6-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
System Development Process Systems consist of sub-systems and their interfaces. Acceptance Test
Customer Requirements
System Requirements Integration & System Test
System Design Cust Reqs
Subsystem Requirements Integration & Sub-System Test
Subsystem Design
Implementation Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-7-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Customer Language and Technical Language The difference between Design and System Requirements:
Customer Requirements Specification
System Requirements Customer Language
System Design CustReqSpec
Subsystem Requirements Technical Language
Subsystem Design Implementation Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-8-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Requirements Definition Process
Scope
Input Requirements
Released Requirements Traced to Source M
M
od el
el od
Structure
Elicit
Specify
Review
Analyse M
M
el d o
o d el
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-9-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Requirements Definition – Modelling Modelling supports all activities
Input Requirement Spec Model / understand
Protoypes SA/RT Model
ck a db e fe
derive satisfy
UML Model
translate
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
Output Requirement Spec
-10-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Requirements Definition – Process activities
Source: HOOD poster „Erfolg ist Erfüllung der Anforderungen“, published 2007 Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-11-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
HOOD Modelling Process 1. Understand top level requirements Word, RM-database
RM-DB Word
2. Define System Scope, identify and specify interfaces Context diagram
Fahrgast
Wartungspersonal Aufzugsystem
Operator
Energieversorgung
3. Define requirements Identify and describe use cases using use case diagrams Formalize use case flows using black-box sequence diagrams Consolidate flows using activity diagrams
:System Maintainer
:SNMP Agent
1: evCommandIBIT () 1.1: evCommandIBIT() 2.1: evDisplayIBITResult 2.1.1: evDisplayIBITResult
4. Define architecture Find candidate architecure using internal block diagrams 5. Specify subsystem requirements Refine use case flows using white-box sequence diagrams Consolidate subsystem responsibilities using state charts Specify data flow using block definition diagrams
E: erzeuge(Richt ungzu) Fahrt Zielstockw erk Türen müssen synchron aufgehen
:Benutzer
: Rufelement
Stw5 : Stockwer k
gedrückt(Richtung) Aufzug anfordern (Richtung)
B : Aufzug
: Zentral steuerun g
Aufzug anfordern (Richtung)
gib Status() Status Aufzug ermitteln() E
FA5 : Fahrtauftrag
Fahre zu Stockwerk(FA5) kling eln Tür öffnen
klingeln Tür öffnen zerstören
6. Consolidate subsystem requirements Animate the model Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-12-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
1
Motivation
2
System Development Process
3
Modelling for Requirements Definition
4
RM and Modelling: Open issues
5
Conclusion
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-13-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Customer Requirements
Capturing current business situation Modelling techniques can be very helpful Business Modelling can help to understand current business: Applying techniques like scenarios, use cases, interviews,... Using notations for business processes, roles, data
Order ordered by ordering date order state remarks
orderd products Product
BPMN as new standard (for BPEL as execution language)
1..*
Customer
UML Business Modelling profile
From Stephen A. White, “Introduction to BPMN”
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-14-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Customer Requirements
Defining customer requirements Use Case Modelling can be very helpful to understand a new system Animation of user activities improves understanding of new processes Using graphical notation to improve readability of requirements „1 picture tells more than 1000 words“
/ onlineShopR1 : OnlineShop
/ c ustomerR1 : Customer
/ pa ymentServ ice R1 : PaymentService
/ salesClerk : SalesClerk
/ shippmentServiceR1 : ShippmentServic e
1: browseP rod ucts
order Product
PaymentService
2: addProduc tToShoppingList
3: orderShoppingList
4: selectPayment 4.1: ch eckCred it W ort hi ness
1: checkOrder
Customer
cancel Order
S hippmentServ ice
1.1: initiatePayment
1.2: produce 1.3: initiateShippment 1.4: deliverProduct 1.4 .1 : shipProd uct
SalesClerk reject Order
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-15-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
System Requirements
Defining system requirements Modelling can be very helpful to state customer requirements more precisely: Formalised message flows using sequence diagrams Business concept states & modes Data Modelling Timing Order OrderItem
id paymentKind fromVIP
1..* quantity pricePerUnit start
reject
received
1
accept cancel
accepted
Receipt
canceled
paymentTime isPayed
confirm refuse acceptChange
id
rejected
uncancel changeEvent[ ! alreadyChanged ]
changed
Product
1
confirmed shipProducts productsShipped
orderedBy
1
Customer
payed payed
controlled
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
ID isPayed
finished
-16-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
SW Requirements
Defining software requirements Modelling can be very helpful to derive SW from system requirements: Precise interfaces/protocols Subsystem modes and timing Typed data models OperatorDialog
Controller
+ / operatorDialog
TestSystem
controller / Controller
tester / Tester
1: start 2: fillValv eOn
+ / operatorDialog : OperatorDialog + / fill : DeviceControl + / drain : DeviceControl + / level : MonitoredValue # / timer : Timing
start (void) done (void)
+ / fill : DeviceControl~ + / drain : DeviceControl~ + / level : MonitoredValue~ # / timer : Timing
3: tankFull 4: fillValv eOff 5: startTimer Se conds o f t ime p ass during t hese intervals. 6: timeout
7: drainValveOn 8: tankEmpty
+ / drain + / fill
Initial start
empty
9: drainValveOff
+ / fill~ + / level
filling
Fa lse
+ / drain~
lev e l
True isFull
DeviceControl
10: done
+ / level~
MonitoredValue
isOn (void) isOff (void)
value (int)
isEmpty True False
draining
level timeout
turnOn (void) turnOff (void)
dye in g
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-17-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
1
Motivation
2
System Development Process
3
Modelling for Requirements Definition
4
RM and Modelling: Open issues
5
Conclusion
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-18-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling
Modelling can help specifiying requirements on every level
Questions: Can models enhance traditonal text-based RM&E? Can models replace traditional text-based RM&E? Model Use Case Diagrams
Enhance? Replace?
object diagrams
Sequence diagrams
Communication diagrams
n Fahrkorb Aufzug + / zentralsteuerungsPort~ + / steuerungProt~ + / fahrkorbProt + / zentralSteuerungProt~ + / lastkontrollPort~ + / lastkontrollProt + / stockwerkPort~ Steuerung Lastkontrolle + / stockwerkPort~ + / antriebProt + / steuerungProt~ Antrieb
State diagrams
class diagrams
Activity diagrams
Artifact diagrams
Deployment diagrams
New questions rise!
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-19-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Open issues
Is a diagram a requirement?
Contains a diagram multiple requirements?
Must a diagram be „translated“ into textual requirements?
What‘s about traditional requirements quality criteria?
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-20-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifiable non-ambiguous feasable traceable consistent complete ...
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-21-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent complete ... Ord er (from Use Case View) id : long c reditCardAc c ounting : boolean fromVIP : boolean
Internal model element ID
1
1..* +ite ms
Orde rI te m quantity pric ePerUnit
1 +produc t
Produc t id
+order
Re c eipt pa ymentT ime pa yed : boolean
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-22-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent complete A diagram contains many ... requirements
Ord er (from Use Case View)
1..*
id : long c reditCardAcc ounting : boolean fromVIP : boolean 1
+ite ms
Orde rI te m
Product
1
quantity pric ePerUnit
+product
id
+order
Re c eipt
pa ymentTime pa yed : boolean
start
reject
received
rejected
uncancel changeEvent[ ! alreadyChanged ] accept cancel
accepted
changed
canceled
confirm refuse acceptChange
confirmed shipProducts productsShipped payed payed
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-23-
controlled
finished
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Atomicity of Diagrams
State chart/activity diagram
Different flows
:System
Sequence diagram
:SNMP Agent
Maintainer
Multiple service requests
1: evCommandIBIT () 1.1: evCommandIBIT()
2.1: evDisplayIBITResult 2.1.1: evDisplayIBITResult
Class/Block diagram
bdd Aufzugsystem Aufzug fahren(rich tung) Maximal stoppen() Last Antriebsart
Multiple specifications
Last Aufzug
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-24-
Express Aufzug
< ruft
Stockwerksteueru ng
steuert
steuert
Zentralsteuerun g
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent graphical complete notation ... improves readability
Ord er (from Use Case View)
1..*
id : long c reditCardAcc ounting : boolean fromVIP : boolean 1
+ite ms
Orde rI te m
Product
1
quantity pric ePerUnit
+product
id
+order
Re c eipt
pa ymentTime pa yed : boolean
start
reject
received
rejected
uncancel changeEvent[ ! alreadyChanged ] accept cancel
accepted
changed
canceled
confirm refuse acceptChange
confirmed shipProducts productsShipped payed payed
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-25-
controlled
finished
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable All test cases for state charts and activity diagrams can be derived automatically see Binder Testing OO Systems Class diagrams CRUD test cases can be derived For instance diagrams constraints are needed non-ambiguous feasable traceable consistent complete ...
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-26-
Ord er (from Use Case View) id : long creditCardAccounting : boolean fromVIP : boolean 1
Orde rI te m
1..*
1
quantity pricePerUnit
+ite ms
+product
Product id
+order
Re ceipt pa ymentT ime pa yed : boolean
/ onlineShopR1 : OnlineShop
/ customerR1 : Customer
/ pa ymentServ ic e R1 : PaymentServic e
/ salesClerk : SalesClerk
/ shippmentServic eR1 : ShippmentService
1: browseP rod ucts
2: addProduc tToShoppingList
3: orderShoppingList
4: selectPayment 4.1: ch ec kCred it W ort hines s
1: c hec kOrder
1.1: initiatePayment
1.2: produc e 1.3: initiateShippment 1.4: deliv erProduc t 1.4 .1 : shipProd uct
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Verification
Modelling can be used to define test models as well
High Reliability ServiceX
activity HighReliabilityTest ServiceX
text=” Service X shall provide a reliability of 99.5%” Id=” UREQ4711”
start server application
start
interval = 1sec users = 1 ... interval = interval /10, users = users*10
request server service
Timeout
wait for interval timeout
verify service result result correct?
further load Increase?
[ yes ]
HighReliabilityTest ServiceX
[ no ]
kill server process
[ yes ]
[ no ]
verdict=pass test failed
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-27-
test passed
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent Precision is the complete „heart“ of ... formal languages
Ord er (from Use Case View)
1..*
id : long c reditCardAcc ounting : boolean fromVIP : boolean 1
+ite ms
Orde rI te m
Product
1
quantity pric ePerUnit
+product
id
+order
Re c eipt
pa ymentTime pa yed : boolean
start
reject
received
rejected
uncancel changeEvent[ ! alreadyChanged ] accept cancel
accepted
changed
canceled
confirm refuse acceptChange
confirmed shipProducts productsShipped payed payed
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-28-
controlled
finished
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent complete Model ... animation can be used as „proof-ofconcept“
c ontroller / Controller
tester / T ester
1: start
2: fillValv eOn
Controller
3: tankFull 4: fillValv eOff
5: startT imer
Se conds o f t ime p ass during t hese intervals.
+ / operatorDialog : OperatorDialog + / fill : DeviceControl + / drain : DeviceControl + / level : MonitoredValue # / timer : Timing
6: timeout
7: drainValveOn 8: tankEmpty
9: drainValveOff
10: done
Initial start
empty
Fa lse
-29-
lev e l
True isFull
isEmpty True False
draining
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
filling
level timeout
dye in g
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent complete ... Tracebility features are the „heart“ of RM tools
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-30-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
UML/SysML traceability
UML/SysML offers inherent traceability of many aspects Mission planen Missionsplaner n : Rufelement :Benutzer
Stw5 : Stockwerk
Aufzug
B : Aufzug
: Zentral steuerung
+ / stockwerkPort~
+ / aufzugPort
Stockwerksteuerung
m
gedrückt(Richtung) Aufzug anfordern (Richtung) Aufzug anfordern (Richtung)
+ / zentralSteuerungPort~
+ / zentralsteuerungsPort~ gib Status() Status Aufzug ermitteln()
E: erzeuge(Richtung )
E
Fahrt zu Zielstockwerk
+ / aufzugPort
FA5 : Fahrtauftrag
+ / stockwerkPort
Fahre zu Stockwerk(FA5)
Zentralsteuerung
klingeln klingeln Türen müssen synchron aufgehen
Tür öffnen Tür öffnen zerstören
doIt()
assigned External Communication
MissionPlanning
located
Traceability analysis can be done using tool script
VehicelControl
located Funk
MissionControl
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
UnmanedAirVehicel
-31-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Text-based requirements quality criteria: identifiable atomic understandable verifable non-ambiguous feasable traceable consistent complete ... :System
[ freier Aufzug am Stockwerk ] [ kein Aufzug am Stockwerk ] Aufzug anfordern
:SNMP Agent
Maintainer
1: evCommandIBIT () 1.1: evCommandIBIT()
Aufzug fährt zu Stockwerk
Fahrauftrag priorisieren
2.1: evDisplayIBITResult 2.1.1: evDisplayIBITResult
Aufzug verfügbar? [ja] [nein] Auftragswunsch zurückstellen
Aufzug Fahrkorb
Stockwerk Information aktualisieren
n
: Rufelement :Benutzer
+ / zentralsteuerungsPort~ + / steuerungProt~ + / zentralSteuerungProt~ + / fahrkorbProt + / lastkontrollPort~ + / lastkontrollProt Steuerung + / stockwerkPort~ Lastkontrolle
System
Ankunft an Stockwerk
Stw5 : Stockwerk
B : Aufzug
: Zentral steuerung
gedrückt(Richtung) Aufzug anfordern (Richtung) Aufzug anfordern (Richtung) gib Status()
+ / stockwerkPort~
Status
+ / antriebProt
Aufzug ermitteln()
+ / steuerungProt~ Antrieb
E: erzeuge(Richtung )
Fahrt zu Zielstockwerk
E
FA5 : Fahrtauftrag Fahre zu Stockwerk(FA5)
klingeln klingeln Türen müssen synchron aufgehen
Tür öffnen Tür öffnen zerstören
ina kti v [alterZustand = inaktiv]
UML/SysML offers inherent consistency of many aspects Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
aktiv
Halt verlängert / Türen öffnen [alterZustand = aktiv]
H
Tür zu [Fahrauftrag vorhanden] neuer Fahrauftrag (inaktiv) neuer Fahrauftrag (aktiv) Fahrauftrag prüfen
alterZustand
entry / Existenz prüfen do / in Liste einreihen exit / Fahrdaten aktualisieren
Zustand Aufzug::Normalbetrieb
-32-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Modelling Limitations
Modelling is all about functionality Flows Timing ....
Non-functional aspects (Quality of Service) is hard to incorporate Usability Safety Security Reliability Efficiency Interoperability Maintainability Flexibility Portability Expandability
Additional textual specification is still neccessary
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-33-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
1
Motivation
2
System Development Process
3
Modelling for Requirements Definition
4
RM and Modelling: Open issues
5
Conclusion
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-34-
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Summary
Combine RM and Modelling: 1. Scenario: Modelling to derive requirements RM-Tool
Level N
Modelling Tool
LN Requirements
LN Design
[ freier Aufzug [ kein am Aufzug Aufzug anfordern Stockwer am k] Stockwer Aufzug Fahrauftrag Ankunft an k] fährt zu priorisieren Stockwerk Stockwerk Stockwerk Aufzug verfügbar? Information [ja] Auftragswunsch [nein] aktualisieren zurückstellen
LN Design n Aufzug Fahrkorb + / zentralsteuerungsPort~ + / steuerungProt~ + / fahrkorbProt + / zentralSteuerungProt~ + / lastkontrollPort~ + / lastkontrollProt + / stockwerkPort~ Steuerung Lastkontrolle + / stockwerkPort~ + / antriebProt + / steuerungProt~ Antrieb
(Richtung)
E: erzeuge(Richt ungzu) Fahrt
LN+1 Requirements LN+1 Requirements LN+1 Requirements
(Per LN+1 System)
klingeln Tür öffnen Tür öffnen zerstören
[ freier Aufzug [ kein am Aufzug Aufzug anfordern Stockwer am k] Aufzug Stockwer Fahrauftrag Ankunft an fährt zu k] priorisieren Stockwerk Stockwerk Stockwerk Aufzug verfügbar? Information [ja] Auftragswunsch [nein] aktualisieren zurückstellen
LN+1 Design
Aufzug
n
Fahrkorb + / zentralsteuerungsPort~ + / steuerungProt~ + / fahrkorbProt + / zentralSteuerungProt~ + / lastkontrollPort~ + / lastkontrollProt + / stockwerkPort~ Steuerung Lastkontrolle + / stockwerkPort~ + / antriebProt + / steuerungProt~ Antrieb E: erzeuge(Richt ungzu) Fahrt Zielstockw erk
LN+2 Requirements LN+2 Requirements LN+2 Requirements
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
FA5 : Fahrtauftrag
Fahre zu Stockwerk(FA5) klingeln
LN+1 Design
gib Status() Status Aufzug ermitteln() E
Zielstockw erk Türen müssen synchron aufgehen
Level N+1
B : Aufzug
: Rufelement Stw5 : : Zentral Stockwe steuerun rk g gedrückt(Richtung) Aufzug anfordern Aufzug (Richtung) anfordern
:Benutzer
B : Aufzug
: Rufelement Stw5 : : Zentral Stockwe steuerun rk g gedrückt(Richtung) Aufzug anfordern Aufzug (Richtung) anfordern
:Benutzer
(Richtung)
gib Status() Status Aufzug ermitteln() E
FA5 : Fahrtauftrag
Fahre zu Stockwerk(FA5) klingeln klingeln
Türen müssen synchron aufgehen
-35-
Tür öffnen Tür öffnen zerstören
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
RM and Modelling: Summary
Combine RM and Modelling: 2. Scenario: Modelling enhances RM RM-Tool
Level N
Modelling Tool
LN Requirements
[ freier Aufzug [ kein am Aufzug Aufzug anfordern Stockwer am k] Stockwer Aufzug Fahrauftrag Ankunft an k] fährt zu priorisieren Stockwerk Stockwerk Stockwerk Aufzug verfügbar? Information [ja] Auftragswunsch [nein] aktualisieren zurückstellen
LN Design
LN Design
n Aufzug Fahrkorb + / zentralsteuerungsPort~ + / steuerungProt~ + / fahrkorbProt + / zentralSteuerungProt~ + / lastkontrollPort~ + / lastkontrollProt + / stockwerkPort~ Steuerung Lastkontrolle + / stockwerkPort~ + / antriebProt + / steuerungProt~ Antrieb
(Richtung)
E: erzeuge(Richt ungzu) Fahrt
LN+1 Requirements LN+1 Requirements LN+1 Requirements
B : Aufzug
: Rufelement Stw5 : : Zentral Stockwe steuerun rk g gedrückt(Richtung) Aufzug anfordern Aufzug (Richtung) anfordern
:Benutzer
gib Status() Status Aufzug ermitteln() E
FA5 : Fahrtauftrag
Fahre zu Stockwerk(FA5)
Zielstockw erk
klingeln klingeln
Türen müssen synchron aufgehen
Level N+1
Tür öffnen Tür öffnen zerstören
(Per LN+1 System)
[ freier Aufzug [ kein am Aufzug Aufzug anfordern Stockwer am k] Aufzug Stockwer Fahrauftrag Ankunft an fährt zu k] priorisieren Stockwerk Stockwerk Stockwerk Aufzug verfügbar? Information [ja] Auftragswunsch [nein] aktualisieren zurückstellen
LN+1 Design
LN+1 Design
Aufzug
LN+2 Requirements LN+2 Requirements LN+2 Requirements
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
n
Fahrkorb + / zentralsteuerungsPort~ + / steuerungProt~ + / fahrkorbProt + / zentralSteuerungProt~ + / lastkontrollPort~ + / lastkontrollProt + / stockwerkPort~ Steuerung Lastkontrolle + / stockwerkPort~ + / antriebProt + / steuerungProt~ Antrieb E: erzeuge(Richt ungzu) Fahrt Zielstockw erk
B : Aufzug
: Rufelement Stw5 : : Zentral Stockwe steuerun rk g gedrückt(Richtung) Aufzug anfordern Aufzug (Richtung) anfordern
:Benutzer
(Richtung)
gib Status() Status Aufzug ermitteln() E
FA5 : Fahrtauftrag
Fahre zu Stockwerk(FA5) klingeln klingeln
Türen müssen synchron aufgehen
-36-
Tür öffnen Tür öffnen zerstören
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008
Summary Modelling is useful for specifying functionality! Consider customer expectations! Engineers must be trained in modelling
There are many options
Just use modelling to gather requirements (Specification is still text-based)
Add diagrams to your Specification where useful
Copyright © 2008 HOOD Ltd. http://www.HOOD-Group.com Vertraulich. Alle Rechte vorbehalten. Weitergabe oder Vervielfältigung ohne vorherige schriftliche Zustimmung der HOOD Group verboten.
-37-
Develop a full requirements model
Specifyng By Modelling? Dr. Rudolf Hauber, REConf 2008, Version 1.0 - 6. März 2008