26
Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

Embed Size (px)

Citation preview

Page 1: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

Timed Use Case Maps

Jameleddine Hassine

Concordia University, Montreal, Canada

URN Meeting, Ottawa, January 16-18, 2008

Page 2: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

2

Outline

Early Stages of Development Process Time in Use Case Maps Modeling Time in Use Case Maps Syntax of Timed Use Case Maps Formal Semantics of Timed Use Case Maps

Clocked Transition System (CTS) Timed Automata (TA)

Conclusion

Page 3: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

3

Early Stages of Development Process

Describe system functional requirements

Scenario driven approaches

Reason about the system at a high level of abstraction

Facilitate moving towards design

Timing and performance issues are often overlooked during the initial system design

Typically regarded as separate issues and therefore described in separate models

Page 4: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

4

Use Case Maps Capture and integrate functional requirements Causal relationships between responsibilities but no

information about the relative timing of different responsibilities

Real-time Systems Requirements Time, performance and functionalities are tightly related Correctness depends on the satisfaction of timing constraints Time expressed in milliseconds

Business Process Requirements Helps understand the scheduling/coordination between activities Time expressed in terms of days/weeks

Timing aspects must be integrated at early stages Detecting errors through Simulation/Testing/Verification Reduce the cost due to the late discovery of design flaws

Page 5: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

5

Time in Use Case Maps

A timer construct (clock symbol), used to select between a normal path and a timeout path. No quantity in timer. More like a Boolean variable.

Some constraints on time distances between two locations on UCM paths Timestamps and response time requirements attached to scenario

paths

Performance attributes can be attached to a start point (arrival distribution, percentiles...etc.)

Page 6: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

6

Standard time semantics Time-guarded behavior Global/Local time Urgency: Concept that gives priority to actions over

time delay. Usually used as a property of transitions. Eager transition: they are urgent as soon as they are

enabled. Time cannot progress as long as they are enabled Lazy transitions: They are never urgent. their execution can

always wait Delayable transitions: become urgent when they are

enabled and progress of time would disable them

Use Case Maps Do not have

Page 7: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

7

1. Instantaneous (atomic) vs. Durational actions Instantaneous semantics make modeling more compact and

easier to reason about Durational semantics help:

Describe various system requirements Describe truly concurrent systems

Only responsibilities take time to execute Control constructs (AND-Fork, OR-Fork,..etc.) are

instantaneous

2. Absolute vs. Relative Time Responsibilities use relative time Start points use absolute time

Modeling Time in Use Case Maps

Page 8: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

8

3. Construct Enabling Initiation and termination of enabling R (T, T’). Responsibility R is enabled T time units after the

completion of its predecessor. The enabling is offered for T’ time units

R(minDL,maxDL): Responsibility is enabled any time between minDL and maxDL after the completion of its predecessor. Upper bound maxDL is relative to the completion of the preceding construct.

4. Time Representation and Measurement Interval-based: Measure the execution time of a responsibility Point-based: Associated with time stamps

Modeling Time in Use Case Maps

Page 9: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

9

5. Discrete vs. Dense Time Domain

6. Global vs. Local Clocks One Master Clock:

Used within constraints associated with start points Used to measure the time between responsibilities (e.g.

end-to-end scenarios) Local Clocks

Measure time taken by responsibilities Measure delay associated with responsibilities

7. Urgency Start points and Responsibilities may be delayed Control constructs are urgent Transitions (edges between UCM constructs) are urgent

Modeling Time in Use Case Maps

Page 10: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

10

Timed Use Case Maps

Page 11: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

11

Signature of Timed UCM Constructs

Page 12: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

12

Timed UCM Formal Semantics Clocked Transition System (CTS)

Discrete Time Model

Timed Automata (TA) Dense Time Model

The local clock y of the lamp is

used to detect if the user was fast

(y<5) or slow (y>=5)

Page 13: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

13

CTS-Based Semantics of Timed UCM

Page 14: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

14

Configuration Transition

Update system configuration defined by the three sets: H-taken, C-active and H-enabled.

Triggered upon the timer expiration of either: One element of C-timers One element of T-trigger

e3e2e1

duration(a) = 2, delay(a) =0duration(b) = 3, delay(b) =0

H-taken = {e1} C-active=[a]

H-enabled = [e2]C-timers=[0]MClock = t

H-taken = {e1,e2}

C-active=[b]H-enabled = [e3]

C-timers=[3]MClock = t+1

Configuration transition…

Page 15: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

15

Time Transition

Only MClock (incremented by a clock tick) and C-timers (decremented by a clock tick) are subject to change.

Triggered when one of the following conditions is met: One responsibility, part of C-active, is still executing One construct is delayed

e3e2e1

duration(a) = 2, delay(a) =0duration(b) = 3, delay(b) =0

H-taken = {e1} C-active=[a]

H-enabled = [e2]C-timers=[2]MClock = t

H-taken = {e1} C-active=[a]

H-enabled = [e2]C-timers=[1]MClock = t+1

Time transition…

Page 16: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

16

Concurrency Models and Time Evolution

Interleaving Semantics At any given time t, only one construct may be executing. Sequences C-active and C-timers are reduced to one

element True Concurrency Semantics

At any given time t more than one responsibility may be executing.

C-active, C-timers and T-trigger may have more than one element in presence of concurrent paths.

Page 17: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

17

TA-based Semantics of Timed UCM

Timed UCM specification is modeled as a network of concurrent timed automata.

Associate a TA process to each timed UCM Construct Each process interacts with other processes through

synchronization channels and read-write operations to global variables.

The Set H of edges is used as synchronization channels

Page 18: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

18

TA-based Semantics of Timed UCM

Root start point

Plug-in’ start point

Start point triggered by the environment

||

Page 19: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

19

Responsibility

Atomic Responsibility with Delay

Urgent Responsibility with Duration

Responsibility with

variable update

Untimed Responsibility

TA-based Semantics of Timed UCM

Page 20: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

20

OR-Fork OR-Join

AND-Fork AND-Join

Synchronous Timer

Stub

Root map end point Plugin end point

TA-based Semantics of Timed UCM

Page 21: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

21

Segment 1: [SP1;R1;R2]Segment 2: [SP2;R5]Segment 3: [R3;EP1]Segment 4: [R4]Segment 5: [R6; EP2]

TA-based Specification Optimization

The transfer of control between sequential constructs occurs in a deterministic way (i.e., in complete order),

UCM specification may be decomposed into a collection of sequential paths.

Synchronization is resolved between sequential responsibilities:

Page 22: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

22

Conclusion Extended Use Case Maps language with time Concise formal semantics for timed UCM models based on:

Clocked Transition Systems Timed Automata

CTS semantics are implemented using AsmL language Simulation, step by step execution Generation of timed traces

TA semantics are implemented using UPPAAL model checker Verification of Properties using Model checking

Allows for formal Validation/Verification of timed UCM models

Page 23: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

23

Step Semantics for Interleaving Model:

Configuration Transitions

Page 24: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

24

Step Semantics for Interleaving Model:

Time Transition

Page 25: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

25

Step Semantics for True Concurrency Model:

Configuration Transitions

Page 26: Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008

26

Step Semantics for True Concurrency Model:

Time Transition