Course notes ELG 7187C - Modeling hard real time and performance
Different types of requirements and tools
- Different non-functional requirements
- Response time: time delay between input and corresponding output interaction
- Assumption: throughput (number of requests per second), interarrival time delay
- Note: response time depends on throughput - there is a "maximum throughput"
- Reliability: operational period until the system fails
- Availability: Probability that the system is up and running (depends on reliability and time period required for the repair)
- Different nature of requirements
- hard real-time constraints: there are maximum and minimum bounds for delays, such as response time, inter-arrival time, operational period, etc.
- stochastic systems: we obtain statistical properties, delays are characterized by distributions (over time delay)
- different assumptions about inter-arrival times - typical assumptions: fixed, Poisson (exponential), long-range dependencies (burstiness)
- typical kinds of distributions (to simplify the formulas and calculations)
- fixed delay (delta-distribution)
- exponential (Markov processes)
- Normal distriburtion (for simplifying folding - addition of delays)
- uniform distribution between min and max
- arbitrary distributions (Semi-Markov processes)
- Different modeling tools
- for hard real-time modeling:
- for statistical reliability modeling:
- Markov models (exponential distributions for transition firing times): Note: there are simple analytical methods for obtaining performance parameters, however, the number of states may be big for realistic models. See introduction A.
- Semi-Markov models (general distributions for transition firing times).
- Generalized Semi-Markov models (several independent timers, running to zero, that can be set to an initial non-zero starting time which has that general distribution; when they reach zero, they trigger a transition). See example C (from the PhD thesis by Fda Dankar)
- for statistical response time modeling - taking shared resources into account
- Queuing systems : The waiting time in the request queue of a server is determined as a function of the service time of the server and the inter-arrival time distribution of requests arriving at the server. Queuing networks involve several servers with their respective queues and a workflow pattern that indicates the flow of requests through these servers. See introduction.
Modeling approaches
- Global time variable (e.g. variable NOW in SDL)
- to observe response time: keep copy of Now in variable x when request
arrives, check (x - Now) when response is provided
- enabling condition depending on time for a transition (e.g. abandon
action if it is too late)
- condition with urgency: forces transition to occur before the urgent
condition becomes false (if such a transition is possible)
- timing conditions in UML sequence diagrams (real-time profile):
introduces (a) time variables corresponding to the sending or reception of
messages, and (b) conditions about relationships between the values of these
variables (like under points 1 and 2 above)
- Transitions take time. This approach can be added to LTS, Petri nets, IOA,
FSMs
- when entering a state the decision of the next transition is immediate
- for performance measures, one has to define probabilities for the
different transitions from each given state
- transition times may be fixed or varying (delay distributions)
- Selecting the next transition from a given state takes time. In this case, the execution of a transition is usually assumed to be
immediate. Also, the probabilities o the different transitions from a given state must be given. This approach can be used with LTS, Petri
nets, IOA or FSM. This allows the modeling of hard real-time systems (e.g. Timed automata) and stochastic systems (e.g. Markov models) - see above.
Standardization: There is a UML profile for Modeling and Analysis of Real Time and Embedded systems (MARTE) that deals with these issues. << Some performance analysis tools have been developed in conjunction with UCMs based on a Common Scenario Model (common to UCM and Activity Diagrams) for performance
modeling (see Petriu, D.B., Amyot, D., and Woodside, M.
(2003) Scenario-Based Performance Engineering with UCMNav. 11th SDL Forum
(SDL'03), Stuttgart, Germany, July 2003. LNCS 2708, 18-35) >>
Last updated: February 22, 2013