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
Techniacal 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
Every dependabilityand performance evaluation of a system, either baded on mathemactical analysis, simulation or measurements, always relies on a _model_ of the system.
__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.
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
An ICT-system is composed of _system components_ of diffferent types, for instance: processors (with processing capacity), hard disks (with storage capacity), transmission channels (with transmission capacity) and so on. These system components and their cpacities are the _resources_ in an ICT-system. The amount of resources limits the system dependabilit and performance. The resources are what is utilized when the system is used.
### Structure
The _sturcture_ of a system indicates how the resources in the system must or should be utilized in order to deliver the service of which the dependability and&or performance properties are evaluated. The structure of a system may be physical, logical, or derived from the physical and/or logical structures.
### Behaviour
It is necessary to simlify and make an abstratction of the behavior of the real system. Important aspects of the behavior that may be included in a model may be:
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.
4. _Fault-handling_: Mechanisms which encompass error detection, localization, isolation, and various tchniques to provide _fault tolerance_ and automatic and manual _fault removal_ (repair). Important to include the possibility that the system doe not behave as intended, e.g. that an error in the system is not detected.