• No results found

Future Research

System-level design is an emerging research area that poses new challenges for anal- ysis techniques, formalisms, design methods and tools. Performance analysis is an essential aspect of system-level design because of its impact on taking design deci- sions. Although this thesis proposed several performance analysis techniques and a framework for applying them during system-level design, several aspects have been identified that require further attention. These include the following:

• Analytical computation of long-run average performance properties remains

limited to systems with a relatively small state space. Hence, the performance of most industrial hardware/software systems will be estimated based on sim- ulations. However, application of Markov-chain based estimation techniques suffers from the difficulty of detecting the beginning of a regenerative cycle of independent behaviour. More research is needed to develop an efficient and generally applicable approach for defining recurrence conditions that yield Confidence Intervals with excellent coverage.

• Using a modelling language that allows to express non-determinism suffers

from the possibility of obtaining unrealistic performance results in case this non-determinism is not resolved properly. Future research includes examin- ing different options for resolving non-determinism and their effect on the ob- tained performance results. Only after such an investigation, it can be decided whether the currently used approach for resolving non-determinism when ex- ecuting POOSL models is indeed favorable. The option of not resolving non- determinism at all requires to develop techniques for deriving the complete range of results that can be obtained for the performance metric involved.

• Although the SHESim and Rotalumis tools have proven to be very valuable,

several extensions are desirable. These extensions include possibilities for au- tomatically terminating a simulation without the necessity to explicitly model the behaviour of gathering all accuracy results and invoking deadlock. In other words, all aspects related to ensuring that the estimation results for all perfor- mance metrics are accurate when terminating a simulation should be part of the tool instead of the model. Such tool extensions could rely on theaccurate

methods in the performance monitor classes. Another very desirable extension for SHESim and Rotalumis would be the possibility to have an automated way of simulating a model for different settings of system parameters.

• To improve the applicability of the SHE method further, a tool should be devel-

oped that integrates support for all three phases of formulation, formalisation and evaluation. An important aspect for developing such a tool is investigating the possibilities of automatically generating POOSL models from stereotyped UML diagrams. Although the proposed UML profile provides sufficient means to automate generating the static structure of a POOSL model, guidelines are needed for expressing the dynamic behaviour of a system in UML diagrams in such a way that the tool can assist in deriving data and process methods.

Appendix A

Mathematical Preliminaries

This appendix establishes notation for several concepts of set theory and probability theory. Based on that, a brief introduction to stochastic processes is given, together with classical techniques for evaluating their long-run behaviour. An introductory overview of some concepts of statistical analysis completes these mathematical pre- liminaries. This appendix is inspired by [24, 95, 46, 105] and [104].

A.1 Sets, Functions, Operations and Algebras

Sets and Elements A set X is an unordered collection of items, which are referred to as the elements of X. To indicate that item x is an element of X, x ∈ X is written. The cardinality or size of X is represented with |X|; if the number of elements in X is infinite, then |X| = ∞ is written. Set X is called countable in case the number of elements in X is finite or denumerably infinite. A set with a single element is called a singleton set. The set without any elements or empty set is denoted by ∅.

A set can be defined by enumerating all its elements like in {a, b} or {0, 1, 2, . . .}. The dots in the latter example indicate that the enumeration of elements should be com- pleted in a way that is evident from the listed elements. Another example is the set

{0, 1, . . . , 8, 9}, where the dots indicate that the enumeration of elements should be

completed until the last listed elements. The set of natural numbers {0, 1, 2, . . .} has a denumerably infinite number of elements and is also denoted byN. R represents the set of real numbers and contains an uncountable number of elements.

An alternative way of defining a set is by reference to elements of another set and specifying a certain property that has to be satisfied by those elements. For example,

{n ∈N | n is prime} defines the set of prime numbers by referring to those elements ofN that satisfy the property of being prime.

Set Operations A set X is said to be a subset of set Y , denoted by X ⊆ Y , if every element of X is also an element of Y . If X ⊆ Y , then Y is said to be a superset of X, which is also indicated with Y ⊇ X. The set containing all subsets of X is called the

is the set of those elements in X that are not an element of Y . The union of the two sets X and Y is indicated with X ∪ Y and their intersection with X ∩ Y . X and Y are said to be disjoint in case X ∩ Y = ∅, while the sets X1, X2, . . . are pairwise disjoint if Xi∩ Xj= ∅ for every i 6= j.

Cartesian Product The Cartesian product of a set X with a set Y is denoted by X ×Y and indicates the set of all ordered pairs or ordered 2-tuples (x, y) with x ∈ X and y ∈ Y . More generally, the n-dimensional Cartesian product X1× . . . × Xn of sets X1, . . . , Xn

is the set of all ordered n-tuples (x1, . . . , xn) with xi∈ Xifor all i. An ordered n-tuple

(x1, . . . , xn) ∈ X1× . . . × Xnis also denoted by x, where xiis called the ithcomponent

of x. The ithcomponent of x is also often referred to by x

i.

The n-dimensional Cartesian product of a set X is denoted by Xn. A sequence of

elements of X refers to an ordered n-tuple x ∈ Xn. A sequence x of elements inR

is called bounded (by b) if there exists a b ∈R such that |xi| ≤ b for all i. A sequence

x ∈ Xnis called finite when n is finite. In case n is infinite instead, then x is called

infinite. The length of a sequence x is denoted by |x|. If sequence x ∈ Xnis finite then

|x| is defined as |x| = n − 1, whereas if n is infinite then |x| = ∞. A finite sequence y ∈ Xnis called a prefix of sequence x ∈ Xmwith m ≥ n if y

i= xifor all i = 1, . . . , n.

In such case, y is also denoted by x1..n.

In accordance with conventions used in probability theory, a sequence is sometimes denoted by {xi| i ∈ T }, where T denotes an ordered set of indices i.

Functions A function f from a set X to a set Y is a subset of X × Y , such that for each x ∈ X there exists at most one y ∈ Y for which (x, y) ∈ f . If such a y exists, then f (x) is said to be defined and y = f (x) denotes that f assigns y to x. On the other hand, if such a y does not exist, f (x) is said to be undefined, which is denoted by f (x) =⊥. The set {x ∈ X | f (x) 6=⊥} is called the domain of f . The range of f is the set {y ∈ Y | y = f (x) with x ∈ X}. A function f from X to Y is called complete in case the domain of f equals X. In such case, f : X → Y is written.

Operations An n-ary operation ? on a set X is a function ? : Xn → X, where the

number n is called the arity of ?. In such case, set X is said to be closed under ?. An algebra is a set X accompanied with one or more n-ary operation(s) (with finite

n) defined on X . The terms unary and binary are used if the arity is 1 and 2 respec-

tively. The negation − is an example of an unary operation onR. Examples of binary operations1onR are the addition + and multiplication ·. In case x, y ∈ X and ? is an

unary operation on X, the prefix notation y = ?x is often used to denote that y = ?(x). Similarly, for x, y, z ∈ X and a binary operation ? on X, the infix notation z = x ? y is commonly used to denote that z = ?(x, y).

In this thesis, the binary operation− (pronounced as monus) is defined on. R as fol- lows. For any x, y ∈R,

x− y =.

(

x − y if x > y

0 otherwise

Extended Real Numbers The real number system refers to setR together with oper- ations such as −, +, · and /. The extended real number system is derived from the real number system and is based on the extended set of real numbers ¯R, which is defined as ¯R = R ∪ {−∞, ∞} with −∞ < x < ∞ for all x ∈ R. To allow using similar operations as those defined forR, the rules of arithmetic for the operations −, +, · and / are extended as presented in [95].