SVERTS workshop - Lisboa - October 2004 1
- IST-2001-33522
SVERTS 2004 Workshop associated with UML 2004 Susanne Graf - - PowerPoint PPT Presentation
IST-2001-33522 SVERTS 2004 Workshop associated with UML 2004 Susanne Graf Verimag, Grenoble, France Oystein Haugen University of Oslo, Norway Ileana Ober Verimag, Grenoble,
SVERTS workshop - Lisboa - October 2004 1
SVERTS workshop - Lisboa - October 2004 2
SVERTS workshop - Lisboa - October 2004 3
SVERTS workshop - Lisboa - October 2004 4
SVERTS workshop - Lisboa - October 2004 5
SVERTS workshop - Lisboa - October 2004 6
SVERTS workshop - Lisboa - October 2004 7
Do not restrict the considered UML profile to make it just fit
Reuse existing state-the-art methods and tools Be open to any UML tool: use standard model exchange
Be open to a variation of semantics
Chose a level of granularity which allows to adapt to different
Be open to different methodologies
SVERTS workshop - Lisboa - October 2004 8
models can be edited by “any” UML support
■
■
■
■
■
SVERTS workshop - Lisboa - October 2004 9
■
▼
activity groups (run-to-completion)
▼
SVERTS workshop - Lisboa - October 2004 10
SVERTS workshop - Lisboa - October 2004 11
▼ “send signal”, “receive signal”, “consume signal” ▼ “invoke method”, …. ▼ “enter state”, “exit state” ▼ “start action”, “end action” ▼ ….
SVERTS workshop - Lisboa - October 2004 12
▼ Temporal patterns for constraining occurrences of 2 events ▼ Derived patterns associated with syntactic entities
SVERTS workshop - Lisboa - October 2004 13
+ show(p1:Integer):Integer + updateInfo() : Integer Engine
+ start(a:Integer):Integer + displayInfo() : Integer 1 +screen +owner 1 1
SVERTS workshop - Lisboa - October 2004 14
ET1
<<TimedEvent>> match invoke Display::show(l) by a on d when a.screen=d do m:= a.i+a.k the moment an Engine initiates a show on its screen
Display
+show(p1:Integer):Integer + updateInfo() : Integer Engine
+start(a:Integer):Integer + displayInfo() : Integer 1 +screen +owner 1 1
the moment an Engine terminates updateInfo
do m:= a.i+a.k
SVERTS workshop - Lisboa - October 2004 15
ET1
<<TimedEvent>> match invoke Display::show(l) by a on d when a.screen=d do m := a.i+a.k match invoke Display::updateinfo(l) by a on d when a.b=be do m := a.i+a.k ET2
<<TimedEvent>>
Display
+show(p1:Integer):Integer + updateInfo() : Integer Engine
+ start(a:Integer):Integer + displayInfo() : Integer 1 +screen +owner 1 1
SVERTS workshop - Lisboa - October 2004 16
prop1 <<Observer>> OMEGAPredefined::TimeConstructs::Timer t 1 nominal DCerr Prop1VIOLATION <<Error>> /match enter MessageReceiver @ ControllerError // t.reset /match enter DatabusController @ Error // t.set(10) /timeout(t)//
SVERTS workshop - Lisboa - October 2004 17
duration = d duration 2*d duration 3*d duration [2,3]
SVERTS workshop - Lisboa - October 2004 18
Untimed behaviour:
Semantics with a fine grained granularity and non
Different frameworks = different restrictions of non-
Timed extension:
Expression of time constraints in existing frameworks Introduce a general naming scheme for events Possibility to define a semantic framework
SVERTS workshop - Lisboa - October 2004 19
SVERTS workshop - Lisboa - October 2004 20
SVERTS workshop - Lisboa - October 2004 21
UVE Model-Checking of functional properties
XMI
Omega exchange format PVS based proofs
Parameterized systems
Requirements analysis
SVERTS workshop - Lisboa - October 2004 22
SVERTS workshop - Lisboa - October 2004 23
▼ operation call/return → signal exchange ▼ procedure activations → process creation ▼ polymorphism → untyped PIDs ▼ dynamic binding → destination object automaton determines the
SVERTS workshop - Lisboa - October 2004 24
Needs only 2 rules
SVERTS workshop - Lisboa - October 2004 25
SVERTS workshop - Lisboa - October 2004 26
SVERTS workshop - Lisboa - October 2004 27
UML model + time annotations
Rose, Rhapsody, Argo, ...
IF model
IF behavioral tools
state explorer simulator verifier test generator
IF static analysis
live variables
IF exporters UML-IF frontend
UML2IF translator + compliance checker UML validation driver slicing abstraction time constraint propagation scheduling analysis
Graph level tools (CADP) minimization, comparison, composition...
SVERTS workshop - Lisboa - October 2004 28
SVERTS workshop - Lisboa - October 2004 29
SVERTS workshop - Lisboa - October 2004 30
SVERTS workshop - Lisboa - October 2004 31
SVERTS workshop - Lisboa - October 2004 32
SVERTS workshop - Lisboa - October 2004 33
SVERTS workshop - Lisboa - October 2004 34
■
■
■
■
SVERTS workshop - Lisboa - October 2004 35
SVERTS workshop - Lisboa - October 2004 36
SVERTS workshop - Lisboa - October 2004 37
DatabusManager Informal spec: timely recognition of bus error bus error state for 3 periods no NavMsg or 3 times no AltMsg
AltitudeData Source NavigationDataSource DatabusController MessageReceiver ControllerMonitor prevOK : Boolean curOK : Boolean
Desynchronized message sources with period P and jitter j
SVERTS workshop - Lisboa - October 2004 38
SVERTS workshop - Lisboa - October 2004 39
Proof of feasibility of integration of formal verification into the
SVERTS workshop - Lisboa - October 2004 40
apply more systematically component based validation
SVERTS workshop - Lisboa - October 2004 41
SVERTS workshop - Lisboa - October 2004 42
■
■
■
■
is time)
■
■
▼ Naming scheme for semantic level state changes (timed events) ▼ In the tool: unconstraint object behaviors + global priorities ▼ Is this appropriate also as a user level semantics
▼ Map into more primitive concepts, but which ones