TTM4110: Pålitelighet og ytelse med simulering
The purpose of this course is to give an introduction to the conceptual and theoretical fundamentals of dependability and performance of ICT systems. Mathematical and software tools that can be used to analyse and dimension systems and network solutions are presented and basic isssues are discussed.
# Chapter 1
## Functional and non-functional properties
Technical systems are described using two types of characteristics:
__Functional properties:__ Which functions are performed.
__Non-functional properties:__ How well these functions are performed.
These terms can be used to describe systems, let's say a car: The primary function of a car is to transport people and goods from one place to another. Non-functional properties include the carrying capacity, the maximum speed, whether the car starts when needed, whether it transports people and goods to destination without breaking down or causing accidents. These are the _performance_ (carrying capacity, speed) and _dependability_ (the car starts and fulfills its function) properties of the system. Along with the price they are rational arguments for comparing different designs.
When designing an ICT-system, the focus is mainly on the functions the system shall provide and how to implement them. However, in a real system, it is also crucial to concider non-functional properties such as dependability and performance. The non-functional requirements will have an impact on both the design and the cost of the system and determine its usability.
## Models
__Model:__ A model is an abstraction of the real or projected system.
There is no standard recipe to elaborate a good model of a system and trade-offs must be made. On one hand a model must include sufficient details to represent the system, but on the other hand less important details must be left out to enable simulation in a reasonable time. Assumptions must be made so that the model can be expressed analytically, but at the same time one must ensure that the model still describes the real world. The results derived from a model should be valid for the real system, not just for the model.
## Systems
A _system_ can be defined as a _regularly interacting_ or _interdependent group of items forming a unified whole_, where an item may be a sytem, a subsystem, or an atomic component. When performing a dependability and/or performance evaluation of a system, the aim is to identify the items (system components) that limit the dependability and/or performance. The _structure_ of the system reflects how these components interact. The interactions themselves are referred to as the _behavior_ of the system.
### System components
### Structure
### Behaviour
1. _Queueing diciplines_: What to do when all resources in the system is busy and someone/something new wants to use the sysem.
2. _Protocols_: Provides rules for the different entities in a system/network so they can cooperate
3. _Traffic mechanisms_ apart from protocols: Routing algorithms, CAC, UPC and so on.
This section introduces concepts and terminology related to dependability and performance.
### Quality of service
### Dependability
__Dependability__: Trustworthiness of a system such that reliance can justifiable be placedo nthe service it delivers.
Dependability is a high-level concept. In addition to the _dependability attributes_ which will be discussed later, depndability also encompasses the _impairments_ that could affect the trustworthiness of a system, and the _means_ to attain dependability.
__Failure__: Deviation of the delivered service from the compliance with the specification. Transition from correct service to incorrect service (e.g. the service becomes unavailable.
__Error__: Part of the system state which is liable to lead to a failure.
__Fault__: Adjudged or hypothesized cause of an error.
Two basic approaches to achieve a dependable system:
_fault prevention_, i.e. to prevent the occurrance or introduction of faults.
__Reliability__: Ability of a system to provide uninterrupted service.
__Safety__: Ability of a system to provide service without the occurance of catastrophic failures.
### Performance
__Performance__: Ability of a system to provide the resources needed to deliver its services.
__Capacity__: Maximum load a system can handle per time unit.
## Use of modeling in development and dimensioning.