Specifying by Modelling?

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 Copyrig...
Author: Etta Hofmann
3 downloads 0 Views 876KB Size
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