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