fuzzy logic based quality of service models relatório final · fuzzy logic based quality of...

65
Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Júri Presidente: Prof. José Carlos Monteiro Orientador: Prof. José Tribolet Co-Orientador: Prof. André Vasconcelos Vogal: Prof. Paulo D’Almeida Pereira Acompanhante: Eng. José Alegria Outubro de 2011

Upload: lenhu

Post on 14-Feb-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Fuzzy Logic Based Quality of Service Models

Relatório Final

João Negrão Antunes

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática e de Computadores

Júri

Presidente: Prof. José Carlos Monteiro

Orientador: Prof. José Tribolet

Co-Orientador: Prof. André Vasconcelos

Vogal: Prof. Paulo D’Almeida Pereira

Acompanhante: Eng. José Alegria

Outubro de 2011

Page 2: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 3: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Dedico este trabalho a todos os que directa ou indirectamente, mais ou menos,

me ajudaram e apoiaram a atingir este objectivo.

Muito obrigado.

i

Page 4: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 5: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

AbstractThe continuous monitoring of information systems’ quality of service increases importance as business

becomes more and more dependent of those systems. In order to evaluate the quality of service of systems,

models need to be defined, so the definition of quality is documented and shared by all relevant stakeholders.

Because of their complexity and today modelling frameworks, quality of service models tend to result in

a poor reality representation, mainly because of their lack of ability to represent imprecision. Since the

ability to represent reality is a fundamental property of models, only when a solution is found to this

problem, better models will appear. In this work, we investigate the creation of quality of service models,

for information systems, using as motivation the general structure of a fuzzy logic controller, the most

successful application of fuzzy logic. The objective is to obtain models that are a better representation of

reality, and by consequence easier to create and understand. This thesis also presents the investigation on

related topics to support the identified problem and motivations, followed by the solution details proposal.

Finally, the solution is applied in real world systems, from the collaboration with PT-Comunicações, to

validate the given hypothesis.

Keywords: Fuzzy Logic, Fuzzy Logic Controllers, Modelling, Quality of Service Models, Complex Infor-

mation Systems, Enterprise Architectures, CEO Framework

iii

Page 6: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 7: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

ResumoA monitorização contínua sobre a qualidade de serviço dos sistemas de informação ganha cada vez

maior importância, consequência da uma cada vez maior dependência nesses sistemas, por parte do

negócio. Para que essa monitorização seja possível é necessária a definição de modelos de qualidade

de serviço, com o objectivo de criar uma definição de qualidade, e que essa possa ser documentada e

partilha por todos os actores relevantes. Devido à complexidade presente nos conceitos de qualidade e

às frameworks disponíveis, os modelos criados hoje em dia não reflectem com exactidão as propriedades

do mundo real. Isto é consequência da sua generalizada incapacidade de lidar com imprecisão. Como a

capacidade de representação da realidade é uma das mais importantes propriedades dos modelos, apenas

quando uma solução for proposta para resolver este problema, modelos de maior qualidade irão surgir.

Esta investigação é focada na criação de modelos de qualidade de serviço, para sistemas de informação,

tendo por base a estrutura geral de sistemas de controlo difuso, os quais são as aplicações de mais sucesso

da lógica difusa. O objectivo é a obtenção de modelos que representem a realidade com maior fidelidade, e

como consequência de mais fácil compreensão e desenvolvimento. Neste trabalho, é apresentada também a

investigação nas áreas relevantes, para melhor suportar o problema e motivação identificados, seguida de

uma proposta de solução detalhada. Finalmente a solução apresentada foi aplicada sobre sistemas reais,

através da colaboração com a PT-Comunicações, para fins de validação das hipóteses estabelecidas.

Palavras-chave: Lógica Difusa, Sistemas de Controlo Difuso, Modelação, Modelos de Qualidade de

Serviço, Sistemas de Informação Complexos, Arquitecturas Empresariais, Framework CEO

v

Page 8: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 9: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Index

Abstract iii

Resumo v

List of Figures x

List of Tables xi

Acronyms xiii

1 Introduction 1

1.1 Quality Context on Provided Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Fuzziness of Real Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Investigation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Following Chapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Related Work 5

2.1 The Art and Science of Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Quality Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.2 Quality of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Enterprise Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 Framework CEO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Fuzzy Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1 Linguistic Variables and If-Then Rules . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.2 Fuzzy Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Building models for better Quality of Service . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Solution 13

3.1 Understanding Fuzzy Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.1 From Numbers to Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.2 Using Words to Create Phrases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.3 Phrases into Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 CEO Framework extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1 Measurable Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.2 Quality Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.3 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.4 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.5 System Quality of Service View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2.6 Quality View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

vii

Page 10: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

3.2.7 Dimension View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Validation 23

4.1 Pulso Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.1 Quality of Service Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Developing Quality of Service Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2.1 Using State Of The Art Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2.2 Creating Knowledge Based On Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Evaluating Quality of Service Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3.1 Results from Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3.2 Results from Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3.3 Results from Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3.4 Integration with an Enterprise Architecture Framework . . . . . . . . . . . . . . . 35

4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5 Conclusion 39

5.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Bibliography 41

6 Appendices 43

6.1 Appendix A - Simplified Quality Views and System Quality of Service Views . . . . . . . 43

viii

Page 11: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

List of Figures

2.1 UML Metamodel of the CEO Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Information System CEO Framework metamodel . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Adapted example with two type of sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4 Adapted demonstration of a fuzzy control systems inference. . . . . . . . . . . . . . . . . . 10

2.5 Basic structure of a fuzzy controller [Fen06] . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1 Generic structure for fuzzy QoS models, adapted from fuzzy controllers generic structure. 13

3.2 Example of defined values for a linguistic variable. . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Partial CEO Framework metamodel extension proposal. . . . . . . . . . . . . . . . . . . . 16

3.4 UML definition for the Measurable Dimension primitive. . . . . . . . . . . . . . . . . . . . 17

3.5 Measurable Dimension example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.6 UML definition for the Quality Factor primitive. . . . . . . . . . . . . . . . . . . . . . . . 18

3.7 Quality Factor example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.8 UML definition for the Classification primitive. . . . . . . . . . . . . . . . . . . . . . . . . 19

3.9 Classification example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.10 UML definition for the Correlation primitive. . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.11 Correlation example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.12 System Quality of Service view example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.13 Quality view example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.14 Dimension view example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1 Pulso Platform Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2 Membership functions for Performance’s values. . . . . . . . . . . . . . . . . . . . . . . . 25

4.3 Membership functions for Availability ’s values. . . . . . . . . . . . . . . . . . . . . . . . . 26

4.4 Thresholds list used to classify dimension BatchRequests. . . . . . . . . . . . . . . . . . . . 26

4.5 Equivalent membership functions to variable BatchRequests. . . . . . . . . . . . . . . . . . 27

4.6 Matlab Fuzzy Logic Toolbox functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.7 Membership function for L1LogSizeMatch dimension of example 2. . . . . . . . . . . . . . 29

4.8 Visualization of Performance and respective dimensions. . . . . . . . . . . . . . . . . . . . 33

4.9 Quality factors assessment visualizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.10 Quality factors assessment visualizations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.11 Visualization of Performance and respective dimension. . . . . . . . . . . . . . . . . . . . 35

4.12 Visualization of Availability quality factor and influential dimensions. . . . . . . . . . . . . 35

4.13 Dimension view of model from example 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.14 Quality view of model from example 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.15 System Quality of Service view of model from example 3. . . . . . . . . . . . . . . . . . . 37

6.1 Simplified Quality View, of example 1, for Performance. . . . . . . . . . . . . . . . . . . . 43

6.2 Simplified Quality View, of example 1, for Error. . . . . . . . . . . . . . . . . . . . . . . . 43

ix

Page 12: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

6.3 Simplified Quality View, of example 1, for Availability. . . . . . . . . . . . . . . . . . . . . 44

6.4 Simplified Quality View, of example 1, for Load. . . . . . . . . . . . . . . . . . . . . . . . 44

6.5 Simplified Quality View, of example 2, for Performance. . . . . . . . . . . . . . . . . . . . 45

6.6 Simplified Quality View, of example 2, for Error. . . . . . . . . . . . . . . . . . . . . . . . 45

6.7 Simplified Quality View, of example 2, for Availability. . . . . . . . . . . . . . . . . . . . . 46

6.8 Simplified Quality View, of example 2, for Load. . . . . . . . . . . . . . . . . . . . . . . . 46

6.9 Simplified Quality View, of example 3, for Availability. . . . . . . . . . . . . . . . . . . . . 47

6.10 Simplified Quality View, of example 3, for Load. . . . . . . . . . . . . . . . . . . . . . . . 48

6.11 Simplified Quality View, of example 1, for Load. . . . . . . . . . . . . . . . . . . . . . . . 49

6.12 Simplified Quality View, of example 2, for Load. . . . . . . . . . . . . . . . . . . . . . . . 49

6.13 Simplified Quality View, of example 3, for Load. . . . . . . . . . . . . . . . . . . . . . . . 50

x

Page 13: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

List of Tables

4.1 Example 1 measurable dimensions and their properties. . . . . . . . . . . . . . . . . . . . 27

4.2 Performance quality factor analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Example 2 measurable dimensions and their properties. . . . . . . . . . . . . . . . . . . . 29

4.4 Example 3 measurable dimensions and their properties. . . . . . . . . . . . . . . . . . . . 31

xi

Page 14: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 15: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

AcronymsCEP Complex Event Processing

CODE Center for Organizational Design and Engineering

DBA Database Administrator

EDS Eficiência, Disponibilidade e Segurança

FCEO Framework CEO

ISA Information Systems Architecture

PT Portugal Telecom

PT-C PT - Comunicações

QoS Quality of Service

xiii

Page 16: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

1 Introduction"There is nothing worse than a sharp image of a fuzzy concept."

Ansel Adams, Photographer

1.1 Quality Context on Provided Services

The continuous measurement and evaluation of conditions of information systems is nowadays an impor-

tant goal in large companies, especially those with heavily automatized business processes, so a faster

response time to stimulus can be achieved.

Specific patterns of events are already known to mean the beginning of problems and, if not immedi-

ately resolved can affect company’s performance causing long periods of services’ downtime.

In the area where this investigation is being validated - telecommunications - such consequences could

mean even greater losses as most of the offered services rely completely on those systems. Also, the ability

of the company to provide its services with high quality is an important factor to the user when choosing

his supplier.

To avoid the mentioned consequences, several quality models have already been proposed, both for the

implementation of information systems as for the evaluation of its performance [SEF+10]. These models

describe the quality requirements for a system, linking together metrics and measurement techniques,

and are known as quality of service (QoS) models.

1.2 Fuzziness of Real Systems

The main goal when building a quality of service model is about finding the answer to the following

question: "what is quality?". As a multi-dimensional concept, quality is defined by the correlation of

those same dimensions, also known as quality factors. The used quality factors are those considered

important to exist in a service, according to the relevant stakeholders [ISO01].

However, that does not answer the initial question, because those quality factors are still vague

concepts.

In the case of performance evaluation on information systems, there are also multiple dimensions

available, which can be quantified. From those measurable dimensions, the definitions of quality factors

can be created, and therefore define what quality is for a system. These definitions are built from

correlation of the measurable dimensions values to the different quality factors levels, created from the

knowledge and experience of experts [KKH04].

As systems increase in complexity, so does the correlation rules that reason about its state, or in other

words, the quality of service model becomes more complex and harder to understand. In addition, the

quantitative values obtained from monitoring specific dimensions, from a system, are usually modelled

using boolean like logics, where elements are handled in absolute terms (e.g. in or out, belongs or not,

etc), ignoring properties like uncertainty or imprecision [Zad73].

In very large information systems, concluding on the quality of service level carries much uncertainty

and by forcing absolute terms when classifying quantitative values, causes the model to no longer represent

1

Page 17: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

the reality, where for some range of values the conclusion about the correspondent level of quality can be

fuzzy [CCAH96].

Properties like those affect negatively the confidence of stakeholders on the conclusions given through

the model. So, the following list presents some of the existing challenges in this area of investigation,

which also gives some of the motivation for the thesis.

• Can QoS models be created that provide a more accurate view of reality?

• Can the effort, required to develop a QoS model of complex information systems, be reduced?

• Can the confidence of stakeholders on the created QoS models be increased, be making them easier

to understand?

1.3 Motivation

Human reasoning is known for its ability to process incomplete and vague information in order to infer

results or make decisions. As said in the previous section, that property posses serious challenges when

creating a model to represent it. That is especially true if logics that work with absolute terms are used.

A alternative to such logics is Fuzzy logic [Zad73]. As the name suggests, it handles uncertainty, while

providing strong mathematical foundations. Its use in real world applications already counts with many

successful case studies, mainly in control and expert systems [SK92].

By making use of fuzzy logic to create quality of service models, we expected to address some of the

challenges stated in the previous section. One specific concept of fuzzy logic, the if-then rules, was in our

opinion a great contribution to improve both the creation and the comprehension of models, because it

follows more closely the reasoning process of the human mind.

The if-then rules make use of another important concept, the linguistic variables. These variables are

composed by values which are words. The words themselves correspond to propositions that instead of

dealing in terms of true or false, the notion of degree of believe is used to describe the certainty in which

a proposition is believed to be true.

So, by combining the paradigm of the if-then rules with the descriptive capacity of the linguistic

variables, more comprehensive models could arise, improving its final quality.

1.4 Investigation Guidelines

The effort in this thesis was focused on the problem of creating quality of service models which

can capture the uncertainty associated with large information systems. In order to achieve

that, the following hypotheses were formulated to guide the investigation:

• H1: It’s possible to create a definition of quality of service for information systems, based on the

generic structure of a fuzzy logic controllers.

• H2: It’s possible to extend an existing Enterprise Architecture framework to represent quality of

service for information systems, based on the generic structure of a fuzzy logic controller.

• H3: Models for quality of service of a information system can be constructed by the description of

target system snapshots and its respective assessment.

2

Page 18: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Being this investigation under the scope of the Center for Organizational Design and Engineering

(CODE) the preferred enterprise architecture framework for this task will be the CEO Framework (FCEO)

[VST07]. Because FCEO does not consider fuzzy logic and some quality related concepts, an extension

proposal will be presented in order to enable the creation of the models required to this investigation.

1.5 Following Chapters

In chapter 2 we investigate the related work considered relevant for this investigation, regarding the areas

of Quality of Service, Enterprise Architectures and Fuzzy Logic. The investigation on those previous

topics covers both empirical and practical studies.

After presenting the state of the art knowledge on related topics, and with the identified problem in

mind, our solution proposal is presented in chapter 3, and is divided in two sections. In the first section,

the concept of the fuzzy quality of service model is demonstrated with some simple examples. For the

second section, we present the extension to FCEO, which will be used to document these new quality of

service models.

With the proposed solution already presented, we enter in chapter 4 where it will be validated using

real world examples, which were developed in collaboration with PT-Comunicações (PT-C). Finally, in

section 5, the investigation conclusions are presented.

3

Page 19: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 20: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

2 Related Work

This chapter will cover the investigation made on related topics, such as Quality of Service, Enterprise

Architectures and Fuzzy Logic. This information was very important to correctly identify and define the

problem in this thesis, because it allowed the identification of the state of the art knowledge and what

problems were already solved and which were still open.

In the first part of this section, we start by presenting quality of service concepts and other related

notions. From that we present Enterprise Architectures, and in more detail the CEO Framework which

was used to document the necessary models. The rest of this section will describe all the investigation

considered relevant about Fuzzy Logic.

2.1 The Art and Science of Modelling

To have models, we perform modeling. According to [SV01] modeling is both an art and a science, and

a model is the interpretation of a subset from the real world. Through the simplification of the reality

down to a set of concepts and relations, different languages can be used to describe the model according

to the audience expectations, knowledge or objectives. Models are of key importance for communication

between stakeholders, since they contribute to important tasks as visualizing and structuring a system

or documenting decisions.

As principles of modeling it’s argued that, the choosing of models affects the solving of a problem,

a model should have different levels of detail, models should reflect reality and no model is sufficient to

represent all necessary properties.

2.1.1 Quality Modeling

In [KKH04] authors define quality as a multidimensional concept, constructed throughout the model. This

defines the quality model, which objective is to answer the question "What is quality?" using various

metrics, result from measuring the available dimensions. Quality can be decomposed through implicit or

explicit attributes, which are called "quality factors". These factors are used in literature for a while now

and even the International Standard ISO 9126 is defined based on them.

Authors in [NSJ+08] present an extension for ArchiMate modelling language to enable system quality

analyses. This analyses is based on Bayesian statistics, and focuses on quality of service evaluation

for applications and their supporting infrastructure, more specifically on the following quality factors:

Availability, accuracy, confidentiality and integrity. It’s argued that by using Bayesian networks, the

uncertainty present in the real world will be better represented. This approach however is based on

probabilistic data, which doesn’t necessarily stands for uncertainty, but instead randomness.

2.1.2 Quality of Service

In the domain of service-oriented architectures and enterprise architectures, the term service refers to a

set of functionalities. In [Ope06] service is defined as a mechanism that provides access to capabilities,

5

Page 21: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

through an interface with specifics on how that access if performed. The term is also associated with a

service provider, who provides those capabilities, and to a set of constrains and policies.

On a different perspective, the authors in [PZB85] argue that service quality can be defined as a

comparison between customer’s expectations and what is actually offered. Then for service evaluation

both service outcomes and the process to obtain them must be taken into account. This adds qualitative

and subjective elements in service quality measurement, which makes quality specification a complex

task.

In the field of networking, the notion of quality of service is associated with the guarantees of perfor-

mance transporting a flow of information, measured mostly through metrics like delay, jitter or through-

put. Quality of service can also be described as the ability to provide levels of priority, for applications

or users, or the guarantee of maintaining certain metrics above (or below) a defined threshold.

A broad review of quality of service investigation is presented in [CCAH96], which defends that QoS

investigation is mostly focused on individual layers, instead of addressing the overall QoS Architecture.

Also, a generalised QoS framework is described, to include principles about its construction, specification

and mechanism to handle the system’s behaviour.

QoS specification is described as the capturing of quality level requirements and management policies,

which will be different for each architectural layer. As for QoS Mechanisms, it will vary according to the

specification and can be separated in three groups.

• In provision mechanisms, resources are committed according to the needs expressed in the specifi-

cation.

• Control mechanisms provide traffic control of flows of information in real-time, based on levels

specified on provision operations.

• Management mechanisms operate in similar way to control, but in slower time scales, ensuring that

the contracted QoS levels are being sustained.

On the topic of QoS specification, [SEF+10] presents a survey of models, according to a classification

set. The authors conclude that performance is itself subjective and open to different interpretations.

Also, most models were found to be limited by their inability of handle uncertainty and imprecision.

Some approaches, like the probabilistic models, which can handle vagueness, are however not adequate

to handle information expressed in natural language.

2.2 Enterprise Architectures

Based on [Lan05] to manage the complexity of large systems it’s necessary to have an architecture, which

captures all the components, their relationships with each other and their surrounding environment. An

architecture also provides a common language to describe the system, it’s components and their relations,

improving overall communication between the stakeholders.

This notion was extended to the field of enterprise engineering and from that originated the term

of Enterprise Architecture (EA). An enterprise is seen as a complex system where through a "whole of

principles, methods and models" it can be decomposed in individual functional parts with respective

6

Page 22: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

relations.

The goals of EA focus on capturing the essence of business and how the IT assets support it. By

capturing only essential aspects it promotes flexibility, so the company can adapt to new market forces

or to new opportunities, and provides models to correctly align the IT infrastructure with the business

objectives.

2.2.1 Framework CEO

CEO framework [VST07] originated in CODE investigation group, and its goal was set to describe

organizational knowledge as its various levels and the dependency between them. FCEO decomposes

an organization on three separate levels, each with adequate forms of representation according to the

concepts in question.

• Goal: This levels describes the organization goals that drive business operations. These goals are

achieved through various business process, that compose the level below.

• Process: In this level all the business processes are specified and must relate to one or more

organizational goals.

• System: In the last level, the organizational resources are described, which function is to support

the realization of business processes.

FCEO uses the Unified Modelling Language (UML) for implementation, with the help of stereotypes

for introducing the required concepts. The metamodel of FCEO can be seen in figure 2.1.

Figure 2.1: UML Metamodel of the CEO Framework

In order to represent the information systems architecture’s concepts, the CEO framework extended

its metamodel, as seen in figure 2.2.

7

Page 23: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 2.2: Information System CEO Framework metamodel

2.3 Fuzzy Logic

As stated by Zadeh in [Zad10], "fuzzy logic is not fuzzy". Its name, responsible for some misconceptions,

comes from the capacity of manipulation of imprecision. So, fuzzy logic is described as a precise logic

that deals with information that belongs to sets with no rigid boundaries, also known as Fuzzy Sets.

Fuzzy Sets were originally defined in [Zad65]. An example of two sets, one fuzzy set and a correspondent

one with strict boundaries, can be seen on figure 2.3.

Figure 2.3: Adapted example with two type of sets.

In another important milestone in fuzzy logic [Zad73], Zadeh defends that complex systems, such as

an human brain, should not be modeled like if they were machines ruled by equations, but instead take

advantage of fuzzy logic’s ability to manipulate partial truths, imprecise information and uncertainty,

which already exist in the real world, to find better and easier to implement solutions. In this work

Zadeh also introduces the notions that eventually would support the mainstream application of fuzzy

logic, fuzzy controllers.

Fuzzy logic can be seen as a generalization of multivalued logics, which are themselves generalizations

of bivalent logics. While in bivalent logics no degree of truth (or membership) is allowed, only true or

8

Page 24: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

false, in multivalued logics is possible to define intermediate values. Other definition for fuzzy logic,

described in [Zad08], says that it is an attempt to formalize the capacity of the human brain to reason

and make decisions based on incomplete information.

With the rapid growth of fuzzy logic’s application [SK92] [Fen06] some sceptical reactions emerge, like

in [Elk93], where Elkan argues that many of the applications of fuzzy logic can be reduced mathematically

to problems solved by bivalent logics, questioning the necessity for fuzzy logic, and defends that fuzzy

reasoning has critical faults that, in his opinion, will become important bottlenecks in developing solutions

to more complex problems.

Uncertainty manipulation property is also discussed in [Elk93], where Elkan argues that fuzzy logic is

not capable of capturing all kinds of uncertainty, e. g. imprecision, incompleteness, vagueness, ambiguity

or randomness. For the purpose of this work, we’ll refer to uncertainty as described in [Cro96], as the

belief in which we consider a proposition to be true.

2.3.1 Linguistic Variables and If-Then Rules

In [Zad73] Zadeh presented two concepts that shaped the future applications of fuzzy logic. The first, lin-

guistic variables, gave us the ability to express formally some common used measures in natural language.

When calling "tall" to someone, a value for the variable "height" is being assigned. Because the value

"tall" is vague, and could mean different things to different people, membership functions are defined.

These functions will map each exact (numerical) value of height into linguistic values. In other words,

for each possible height exact value, the membership function will express the belief in which that value

is considered, following with the example, a "tall" height. Each linguistic value will have its membership

function.

The second important concept, If-then rules, by making use of linguistic variables, provide a way to

describe desired behaviours according with situations that have associated imprecision. Through this,

the knowledge required to deal with known situation can be modelled in order to automatize the process

of decision. A knowledge database is usually the description given to a set of if-then rules, because

it describes, using natural language, all the reactions that a system should have when facing specific

situations. An example of define variables and rules for a simple system, can be seen in figure 2.4, where

a concrete input scenario is demonstrated.

2.3.2 Fuzzy Controllers

According to [SK02] designing systems that could perform tasks normally done by humans was a goal of

human research for many centuries, but only in the last one significant advances were achieved due to use

of mathematical description and analysis of such systems. Before those were built only from experience

with no formal support, that resulted in limited solutions, if any.

The appearance of measurement systems was also an important milestone in building control systems,

by enabling feedback controllers. These analyze the measurements of sensors and the outputs of the

process to infer the necessary control actions to achieve the desired goals, repetitively.

Two methods to design feedback controllers are identified in the book:

9

Page 25: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 2.4: Adapted demonstration of a fuzzy control systems inference.

• Signal-based control: Only the measurements from sensors and the outputs of the process are

used in determining the necessary control actions. The knowledge from the process’ model is only

used at the design stage.

• Model-based control: In this approach, the parameters for each iteration of the controller are

based on the model, which specifies the desired response for the process, and on sensors’ measure-

ments.

In fuzzy control systems, by application of fuzzy set theory it’s possible to model non-linear processes,

where heuristics exist, in form of if-then rules, about what should be the correct behaviour of the system.

Fuzzy logic is used as the tool for establishing the link between those rules, in natural language, to a

formal mathematical model, that could be automatized. Figure 2.5 shows the basic structure of a fuzzy

controller, which is composed by four main components:

Figure 2.5: Basic structure of a fuzzy controller [Fen06]

1. Fuzzification: This component is responsible by translating the input information into the fuzzy

domain, numerical information to linguistic variables.

2. Defuzzification: As the final component in the controller, its responsibility is the opposite of the

previous, translating the output information from fuzzy domain back to their numerical represen-

tation.

10

Page 26: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

3. Knowledge Base: In this component, the rules for determining the behaviour of the controller

are described.

4. Inference Engine: Using the translated input, from the fuzzification component, and the rules,

from the knowledge base, this component will infer the output to be delivered to defuzzification.

Regarding defuzzification, several methods exist [LK99], each with its own properties making them

suitable for specific situations. This is an important step, because it’s where the results from the rules

are summarized into crisp values, removing uncertainty and imprecision.

Fuzzy logic controllers can also be signal-based or model-based. In signal-based fuzzy controllers, the

more usual ones, an expert knowledge database, in the form of if-then rules, is created using linguistic

variables to infer the results from the input variables. The tuning of such controllers is mostly done by

trial-and-error, a method with many drawbacks, like economical or safety ones. This type of controller

also follows the work of an operator, not being possible to improve its performance beyond what the

operator itself can perform, only guarantee its homogeneity.

In model-based fuzzy controllers [Fen06], the creation of the controller follows the classic notion of

model-based controller, where the process is modeled choosing its specifications and criteria, followed by

the design of the controller itself, that will behave according to the model. The definition of model-based

fuzzy controller is not a very specific one and leaves way to three different variations, in where to use

fuzzy set theory, designing these controllers. It can be either on the model, the performance criteria or

the control elements.

2.4 Building models for better Quality of Service

In this section we have revisited the quality of service topic, to conclude that still today there are

difficulties in creating definitions about it. In those investigations, the imprecision and uncertainty

present in the real world, is identified as a cause for such difficulties. That is because most models force

the removal of those properties, which creates models that turn out as poor representations of reality.

As seen in the enterprise architectures section, an important property of models is its ability to

represent the reality, using a subset of the reality concepts, removing unnecessary details. To date, those

imprecisions referred before were seen as removable details, but that has been a mistake because the

uncertainty that experts have when assessing on QoS is real and has a relevant impact on the conclusions

about the system status.

That is where fuzzy logic stands as a solution to those problems, by offering a formal methodology

to deal with the imprecision of natural language. As stated in this chapter, fuzzy logic in itself does not

enable anything that could not be already constructed, but instead permits that it can be done more

naturally, i.e. with less effort.

11

Page 27: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 28: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

3 SolutionIn this chapter, a solution to the identified problem will be presented and explained. As said previously,

the creation of quality of service models is surrounded with uncertainty and the overall models that are

nowadays used, force certainty. From that alone we concluded that models don’t represent reality as

close as they should. Also, by forcing that change, the complexity of modelling systems is increased

and by consequence of the model itself. If we consider very large information systems it’s obvious that

models will be very complex and hard to trust and understand by stakeholders. Since the context of this

investigation is on information systems, by system we consider any element of the infrastructure, software

or hardware.

3.1 Understanding Fuzzy Models

Our solution is focused at reducing some of that complexity by creating models that don’t force the

removal of uncertainty, which is part of the knowledge acquired by experts. That was achieved through

the use of concepts from fuzzy logic, to enable an abstraction layer to the system, so new QoS models

could be described using natural language instead of dealing only with a rigid domain of numbers.

Figure 3.1: Generic structure for fuzzy QoS models, adapted from fuzzy controllers generic structure.

The fuzzy controller, as the most successful application of fuzzy logic, was used to guide the devel-

opment of the new quality of service models. Those controllers, as explain in the previous chapter, are

composed of four components and each of them was matched with a specific component of the new models

as seen in figure 3.1. In the Measurable Dimensions component, the system dimensions that can be

quantifiable, are modelled as linguistic variables. In the same way, the Quality Factors to be monitored

in the target system, are also modelled using linguistic variables. These two will correspond to the input

and output variables, respectively, used to conclude on the quality of service of an information system.

The Scenario Database is where the knowledge about quality of service assessment is defined, which

uses the previously defined input and output variables. Since those are linguistic variables, words and not

numbers are its values, meaning that this component knowledge is entirely developed in natural language.

The fuzzy if-then rules, explained in previous chapter, will compose rules of correlation between system

dimensions, and how each quality factor is constructed.

Finally, the Fuzzy Logic Engine component corresponds to the deterministic process that obtains

crisp numerical results, according to the defined rules, variables and measurements corresponding to the

13

Page 29: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

system dimensions. How the results are obtained is described in greater detail in [Zad73].

So, the construction of the models will be composed in three major steps:

1. Numbers to Words: This step is where the abstraction from the numerical domain is created by

creating the linguistic variables for each dimension and quality being monitored on a target system.

2. Words to create Phrases: Using with the created variables, if-then rules are created to define

concrete scenarios, where for a specific correlation of values of dimensions, the impact on the values

of quality factors are established.

3. Phrases into Knowledge: Finally, both with the defined linguistic variables and the if-then rules,

the knowledge about the QoS assessment is integrated into the enterprise architecture, using an

extended framework to handle all required concepts.

3.1.1 From Numbers to Words

The first step is where numbers are converted into words by the definition of linguistic variables. Each

variable will correspond to either a measurable dimension or a quality factor, and its values will match

the levels that are used to classify them both regarding its state. If for instance, assuming a quality factor

Availability, its possible states were Available or Stopped, the created linguistic variable would have the

same name, and its values would be the same as the possible states.

In order to define each value, for the linguistic variables of dimensions, a membership function is used

that will specify the degree of believe corresponding to each numerical input. In the case of values for

quality factors, membership functions will be used to specify how, from the overall result of degree of

believes on each value, a numerical value is obtained.

Figure 3.2: Example of defined values for a linguistic variable.

This step accomplishes the objective of handling the uncertainty and imprecision of human reasoning,

by using words but still maintaining a formal mathematical foundation, as explained in chapter 2.

An example of defined values for a linguistic variable can be seen in figure 3.2, where its also possible to

see how each numerical value reflects the degree of believe on the different linguistic variable’s values. As

the appropriate method for obtaining a crisp value from a linguistic variable’s value will depend heavily

on the problem at hand, no specific defuzzification method will be apart of the solution description, in

the same way that no specific membership functions are established.

14

Page 30: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

3.1.2 Using Words to Create Phrases

After all the variables are defined, along with the values and respective membership functions, a rules

database can be constructed. To do this, the if-then rules are used to capture the expertise of the relevant

stakeholders. Each rule will establish a correlation between a set of measurable dimensions, and how they

come together to define a specific quality scenario.

This method presents some important properties that in the context of information systems’ quality

of service assessment can introduce significant advantages. Those properties are the following:

1. The quality model is described as a set of concrete scenarios, each of them describing the quality

of service assessment corresponding to the occurrence of specific inputs values.

2. Defined scenarios are independent from each other, in the way that adding, removing or modifying

any rule will not impact the remaining knowledge, enabling an iterative construction of models.

Instead of creating a generic formula that can conclude on the quality of service, which is the standard

method for quality of service assessment, we propose that it should be created by focusing on independent

and concrete scenarios. By doing so, it also enables independence between the system’s experts, as each

can work on his set of rules and afterwards combine them to compose the QoS model.

Also, after the initial modelling, if any other scenario is found to be missing, all that its necessary to

update the model, is to add the if-then rule to the existing database. As it is expected that quality of

service models evolve over time, the ability to modify them is important. In our solution, because of the

rules’ independence, any developed rule can modified or deleted, and new rules added without affecting

the remaining knowledge.

The created rules should then follow the following structure:

• Rule = IF Dimension IS [NOT] Value [ (AND|OR) Dimension IS [NOT] Value ]*

THEN Quality IS [NOT] Value

3.1.3 Phrases into Knowledge

In this final step, the constructed knowledge is integrated in an enterprise architecture, so it can be

related with the remaining environment. Some new concepts were created to enable the representation

of QoS models based on fuzzy logic. Also, different views are defined to provide different perspectives on

QoS regarding a system.

The extension is based on the Information Systems Architecture (ISA), creating new elements to

represent QoS and Fuzzy Logic concepts. The connection of these new concepts with the remaining

architecture is made using the Block and Service elements. The Block element represents a target system

whose dimensions are measured, and the Service element is monitored through one or more quality

factors.

The proposed extension to the CEO framework is further detailed in the next section.

15

Page 31: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 3.3: Partial CEO Framework metamodel extension proposal.

3.2 CEO Framework extension

In order to represent these new quality of service models, an extension to the CEO framework is proposed,

so it can handle concepts both from fuzzy logic and from quality of service assessment. This set of new

concepts has the objective of forming a concise list of terms necessary to describe the details of this new

approach of creating QoS models. The new concepts are described according to the following structure:

• Description: Brief description about the element.

• Attributes: Identification of attributes relative to the new element.

• Relations: Identification of associations of the new concept with different elements.

• Motivation: Explained motivation for the definition of the new element.

• UML Definition: Definition of the architectural primitive.

• Example: Simple example of an instance of this new element.

So, using those elements, the new models can be represented in order to document or share between

stakeholders. A visual representation of the extension proposed to the metamodel can be seen in figure

3.3. As different stakeholders may have different perspectives over a model, we also propose a set of

views, each with unique focused on a subset of QoS elements.

3.2.1 Measurable Dimension

Description

This refers to a system’s measurable dimension that may be observed and quantified, and can also be

known simply as dimension or metric.

Attributes

This concept has no specific attributes.

16

Page 32: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Relations

• Block : This relation associates the dimensions to a target system in which exists that quantifiable

characteristic.

• Classification : This relation creates a possible classification level for the measured value of the

dimension.

Motivation

In the field of QoS, information systems are traditionally monitored through the observation of certain

dimensions. Those dimension must be quantifiable to enable a precise evaluation [CCAH96].

UML Definition

(a) Partial Diagram (b) Notation

Figure 3.4: UML definition for the Measurable Dimension primitive.

Example

Figure 3.5: Measurable Dimension example.

3.2.2 Quality Factor

Description

Specifies a relevant characteristic for the definition of quality in a service, which is provided by a infor-

mation system. This enables the definition of quality, for a specific service, through a set of factors.

17

Page 33: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Attributes

• Defuzzification method : Its necessary to define which method will be used to obtain the numerical

value from the degree of believes on the different variable’s values. For more information about

defuzzification methods refer to [LK99].

Relations

• Service : This relation associates the quality factor being monitored to a specific service.

• Classification : This relation creates a possible classification level for the quality factor.

Motivation

Quality is defined as a multi-dimensional concept [KKH04], so to define it, a set of attributes must be

created. According to the International Standard ISO 9126, these attributes are called quality factors.

UML Definition

(a) Partial Diagram (b) Notation

Figure 3.6: UML definition for the Quality Factor primitive.

Example

Figure 3.7: Quality Factor example.

18

Page 34: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

3.2.3 Classification

Description

Corresponds to a value of a linguistic variable, defining its membership function. Considering Measurable

Dimension and Quality Factor as linguistic variables, each one will be composed by values. By connecting

two different values, one from aMeasurable Dimension and other from a Quality Factor, we define a if-then

rule.

Attributes

• Membership function : Each classification corresponds to a value of a linguistic value, and its

definition is created through a membership function, that associates a degree of believe, from 0 to

1, to each input value.

Relations

• Measurable Dimension : This relation defines a value for the Measurable Dimension linguistic

variable.

• Quality Factor : This relation defines a value for the Quality Factor linguistic variable.

• Correlation : This association define the Classification has one of the values in one Correlation.

Motivation

Because both the Measurable Dimensions and the Quality Factors are modelled as linguistic variables,

its necessary also to define their values [Zad73].

UML Definition

(a) Partial Diagram (b) Notation

Figure 3.8: UML definition for the Classification primitive.

19

Page 35: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Example

Figure 3.9: Classification example.

3.2.4 Correlation

Description

This concept represents an correlation in a if-then rule, relating two or more Classifications. This concept

is used to compose more complex if-then rules.

Attributes

• Operation : This attribute can have one of two values: AND, OR. The first represents the union

of the Classifications related to this Correlation, and the second represents the disjunction.

Relations

• Classification : This association define the Classification has one of the values in the Correlation.

Motivation

Because on QoS assessment the individual dimension state cannot always be enough to conclude on the

QoS level, the correlation between different dimensions is necessary. This concept will allow the definition

of more complex scenarios, so quality can be defined to more complex situations.

UML Definition

(a) Partial Diagram (b) Notation

Figure 3.10: UML definition for the Correlation primitive.

20

Page 36: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Example

Figure 3.11: Correlation example.

3.2.5 System Quality of Service View

Figure 3.12: System Quality of Service view example.

This view is an high level overview of the QoS model, where for a specific system and service, only

the available Measurable Mimensions and Quality Factors are showed. A dimension and a quality factor

are connected if the dimension is present in some evaluation scenario that causes impact on that quality.

An example of a System Quality view can be seen in figure 3.12. The elements present in this view are

the following: Block, Service, Measurable Dimensions and Quality Factor.

3.2.6 Quality View

This view focus on a specific Quality Factor, relating it to all Measurable Dimensions that cause some

impact, and also the Classifications and Correlations involved. This view provides an overview on a

quality attribute, presenting all the rules that cause an impact on it. An example of a System Quality

view can be seen in figure 3.13. The elements present in this view are the following: Quality Factor,

Measurable Dimensions, Classification and Correlation.

3.2.7 Dimension View

In this view the focus is on a Measurable Dimension, showing all quality factors that are influenced by it.

As in the Dimension view, an overview is provided to all the rules, where the dimension is a participant

and possible correlations, that causes an impact on some quality attribute. An example of a Dimension

view can be seen in figure 3.14. The elements present in this view are the following: Quality Factor,

Measurable Dimensions, Classification and Correlation.

21

Page 37: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 3.13: Quality view example.

Figure 3.14: Dimension view example.

3.3 Summary

In this chapter we presented the necessary steps to build quality of service models based on fuzzy logic

controllers. The two main components for developing these models were detailed, first the process of

turning numbers to words, and with that the creation of knowledge by defining scenarios using if-then

rules. This information enables the creation of a fuzzy logic controller that can assess the quality of

service of a information system, given any input on the monitored dimensions.

Also, the extension for the CEO framework was present in detail, which provides the tools needed to

integrate the knowledge within a enterprise architecture. By using the new elements, all the necessary

information is correctly documented, and the new set of views provide different perspectives on the final

model, to address the objectives of different stakeholders.

22

Page 38: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

4 Validation

In this chapter the validation process for the proposed solution will be explained. This validation was

based on the application of the developed solution on real world systems. This validation was developed

in collaboration with PT-Comunicações, more specifically with the Pulso Platform, which provided the

necessary conditions and information to finish this step.

We will begin by describing the available enterprise environment that enabled us to validate our

solution. Then, the steps taken in each of the use cases will be described in detail, followed by some

conclusions about the hypothesis established in chapter 1.

4.1 Pulso Platform

PT-C created the Pulso platform [ACR05] because of a growing concern on its information systems’

conditions. One of its goals was to monitor performance, availability and errors of their IT assets with

near real-time precision, to determine the quality of service being provided to application’s users. To

achieve that, a network of agents, attached to relevant system’s components, provides basic metrics that

by correlation and aggregation, result in indicators. Those are displayed in a portal, where managers can

obtain feedback on systems’ conditions that their responsible for.

The correlation and aggregation of metrics is performed in a complex event processing (CEP) envi-

ronment. There, a stream of events receives the metric’s values and through defined rules, representing

their quality model, determines all the required indicators. Those indicators are updated every minute

to achieve the near real-time monitoring.

However, the creation of indicators is still surrounded by uncertainty as the composition rules for

creating indicators don’t translate with precision the expert’s knowledge, that know how to evaluate

the system’s global conditions based on available metrics. These evaluations may differ from expert to

expert according to each one’s level of experience, but its important that a coherent version is correctly

translated to a model, for use in the monitoring platform.

The EDS1 division of PT-C, responsible for this platform provided the necessary conditions and access

to information that enabled this work to be validated.

4.1.1 Quality of Service Models

The solution presented previously was used to create QoS models, which obtained indexes, specifically

those seen in figure 4.1. The Availability, Performance and Errors indexes reflect the qualities factors

monitored on each system, which are then summarized in a Quality of Service index (QosIdx). The

Demand Load index represents the application load at the time and stands side by side with the quality

of service index to comparison ends. For instance, if the application load is too high, it can be expected

that its quality of service may decay in some degree.

Those indexes are meant to provide an overview over an system, which is built from subsystems, e.

g. Databases or Web Servers. These subsystems are themselves distributed in clusters of machines. In

1Eficiência, Disponibilidade e Segurança de TI/SI

23

Page 39: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 4.1: Pulso Platform Indexes

this machines, the previously mentioned agents are placed, some at the level of the operating system and

some inside a subsystem’ component, in order to provide the metrics that in the end will result in the

indexes from figure 4.1.

Nowadays, the quality of service models used in Pulso Platform are constructed from crisp values,

forcing certainty, with all the downfalls already discussed in previous chapters. Also, these models are built

based on a generalization principle, where all scenarios are resumed using weighted averages approaches.

This approaches hide the specificities of some scenarios and make the knowledge management a difficult

task. In order to add, remove or alter some part of the knowledge in the model, all of it must be taken

into account because any small change may have collateral damage in the remaining knowledge.

Another problem also reported about these models is its large development time and the difficulty

to understand them. Because so many models need to be defined, to all deployed applications in Pulso

Platform, the development effort for each cannot extend to large periods of time. This is especially

important if we consider that any modification on already developed models can effect all of it, making

the effort to manage it an vital requirement.

4.2 Developing Quality of Service Models

In this section we describe the development of new QoS models using the solution described in 3. In the

first two examples, current models assessment were replicated, in order to validate that current models

in Pulso can also be described by our solution. In the third and last example, with the help of an expert

from PT-C, the concept of scenarios description to build an quality of service model was put to validation.

Different tools exist that enable the construction and evaluation of fuzzy logic control systems, and

for this investigation the toolbox for MATLAB software, the Fuzzy Logic Toolbox2, was used. This tool

provides the described features, and so enables the evaluation of constructed models. Although its a

very complete tool for analysis of fuzzy systems, it had some limitations, as it will be explained when

necessary, in the next sections. All defaults configurations for this tool are considered in use, except

otherwise specified.

2http://www.mathworks.com/products/fuzzylogic/

24

Page 40: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

4.2.1 Using State Of The Art Knowledge

This first scenario used the knowledge already developed at Pulso Platform regarding the state of the

art on quality of service assessment of their systems. In order to use this knowledge, fuzzy quality of

service models were developed to match the behaviour of current models. Each specific model has its

own details, but some principles hold for every developed model, as the following:

• P1 : Systems are characterized by four different quality factors: Availability, Performance, Error

and Load.

• P2 : Each measurable dimension is only assigned to one quality factor, of a particular system.

• P3 : Any measurable dimension, or quality factor, is classified by one, out of six, possible ordinal

levels: Good, Fair, Mediocre, Poor, Bad or Down. Or 1 to 6, respectively.

• P4 : Measurable dimension are classified according to a list of thresholds. These lists are composed

of five values, which separate the input domain in six intervals, corresponding to the six different

classifications. Additionally, another property, AggregationDirection, sets the order in which the

classifications are associated with the intervals. If set to "Max" the first interval is associated with

the first classification, and equally for the remaining, and if set to "Min" the association is inverted,

meaning that the first interval is associated with the last classification and so on.

• P5 : In order to classify a quality factor there are two separate methods.

1. The first relates to the Availability, which uses the Criticality property of the measurable

dimensions, which has a value in the interval of 0 to 100. The dimensions are group by their

classification, and if some group sum of Criticality ’s value is equal or greater than 100, its

assigned that same classification. If more than one group has a sum greater than 100, the

classification to assigned should be the higher.

2. For the others quality factors, the Weight property of measurable dimensions are used, which

can have any value starting from 0. Using a standard weighted average, according to each

dimension weight and classification, the classification for the quality factor is obtained.

Following those guidelines, two real systems serve as use cases for the development of the new QoS

definition. The first example is of a database system and the second of a web server system. Both had

already been modelled, without the fuzzy concepts, and so their models were used in comparison with

the new developed models.

Figure 4.2: Membership functions for Performance’s values.

25

Page 41: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

As the values for the used quality factors are the same in all systems, we began by defining them.

The result can be seen in figure 4.2, for Performance quality factor, but also applies for Error and Load.

For Availability, since it only considers three of the possible six values, the membership functions were

defined as seen in figure 4.3.

Figure 4.3: Membership functions for Availability ’s values.

4.2.1.1 Example 1 - Database system

Figure 4.4: Thresholds list used to classify dimension BatchRequests.

In this case, the system used for the validation was a database system, part of a application in Portugal

Telecom (PT). After gathering all the necessary information, the first step was to model the available

dimensions into linguistic variables. Because in the previous models the numerical input values were

classified according to a list of strict thresholds, an equivalent set of membership functions were defined.

In figure 4.4 a dimension of the system is presented, showing how classification is attributed using the

following list of thresholds: 110.000; 165000; 209000; 330000; 440000.

In order to replicate that knowledge the membership functions were developed in order to intersect,

i.e. when both functions have the same degree of believe, in the same value that was in the previous

thresholds list. So, the equivalent set of membership functions, to the thresholds list in figure 4.4, can be

seen in figure 4.5.

To define the membership functions the Generalized Bell-shaped (built-in the Fuzzy Logic Toolbox,

figure 4.6a) was used, except for two cases. Those cases correspond the domain extremities, where the

S-shaped and the Z-shaped functions were used (figure 4.6b and 4.6c).

The Generalized Bell-shaped function was found to represent what could be a reasonable degree of

26

Page 42: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 4.5: Equivalent membership functions to variable BatchRequests.

(a) Generalized Bell-shaped (b) S-shaped (c) Z-shaped

Figure 4.6: Matlab Fuzzy Logic Toolbox functions.

believe, where the middle values between two defined thresholds have stronger believe to be part of the

corresponding linguistic value. As we move away from middle values that believe will decrease to zero.

Dimension Name Assigned Quality Criticality Weight Thresholds

ProcessCount Availability 100 - 0; 0; 0; 0; 0

ProcessPcpu Performance - 1 1000; 1400; 1900; 2300; 3000

ErrorQuantity Error - 5 110000; 165000; 209000; 330000; 440000

BatchRequests Load - 5 40; 60; 70; 80; 90

TimeExecRefQuery Performance - 5 400; 600; 900; 1300; 1800

Table 4.1: Example 1 measurable dimensions and their properties.

For this example we had five available dimensions, as described in table 4.1. With that information

from the previous models, the membership functions for the fuzzy model were developed, using the

method explained above. Next, with just the linguistic variables and their values, the if-then rules were

defined in order to complete the QoS definition.

Regarding Availability, since it had only one dimension associated, it would be the only needed to

infer the result. Considering that the Criticality property was set to 100, the dimension was considered

critical, so the relation between dimension and quality was proportional. That means whatever value the

dimension had, the quality factor would have the same. This translated into the following rules:

• IF ProcessCount IS Good THEN Availability IS Good

• IF ProcessCount IS Down THEN Availability IS Down

27

Page 43: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

For Performance, we already had two available dimensions, with different weight values, meaning that

one had more impact than the other. In the following table all the possible inputs are listed with the

respective result, according to the previous model.

ProcessPcpu TimeExecRefQuery Performance

1 Good|Fair|Mediocre Good Good

2 Poor|Bad|Down Good Fair

3 Good|Fair|Mediocre|Poor Fair Fair

4 Bad|Down Fair Mediocre

5 Good|Fair|Mediocre|Poor|Bad Mediocre Mediocre

6 Down Mediocre Poor

7 Good|Fair|Mediocre|Poor|Bad|Down Poor Poor

8 Good Bad Poor

9 Fair|Mediocre|Poor|Bad|Down Bad Bad

10 Good|Fair Down Bad

11 Mediocre|Poor|Bad|Down Down Down

Table 4.2: Performance quality factor analysis.

From this table, the rules for the model can be extracted very naturally, as each row can be translate

directly into if-then rules. To follow the defined rule’s structure, some rows could not be translated to

just one line. In the case of row 4, two different rules were created, because one dimension could have

one of two possible values.

• IF ProcessPcpu IS Bad AND TimeExecRefQuery IS Fair THEN Performance IS Mediocre

• IF ProcessPcpu IS Down AND TimeExecRefQuery IS Fair THEN Performance IS Mediocre

Also, to avoid creating many rules, to translate row 5, the NOT operator can be used, like in the

following rule:

• IF ProcessPcpu IS NOT Down AND TimeExecRefQuery IS Mediocre

THEN Performance IS Mediocre

And in a third case, where all possible values of a dimension are considered, it can just be removed.

An example of this is row 7, which translates to the following rule:

• IF TimeExecRefQuery IS Poor THEN Performance IS Poor

To define the Error quality factor, only one dimension was also available, so its weight value, since it

was greater than zero, did not influence the result by being any specific value. Like for the Availability,

this quality factor was defined as proportional to the available dimension.

• IF ErrorQuantity IS Good THEN Error IS Good

• IF ErrorQuantity IS Fair THEN Error IS Fair

• IF ErrorQuantity IS Mediocre THEN Error IS Mediocre

• IF ErrorQuantity IS Poor THEN Error IS Poor

• IF ErrorQuantity IS Bad THEN Error IS Bad

• IF ErrorQuantity IS Down THEN Error IS Down

28

Page 44: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Finally, for the Load quality factor, the necessary rules are equivalent to those of Error, but using its

respective dimension.

• IF BatchRequests IS Good THEN Load IS Good

• IF BatchRequests IS Fair THEN Load IS Fair

• IF BatchRequests IS Mediocre THEN Load IS Mediocre

• IF BatchRequests IS Poor THEN Load IS Poor

• IF BatchRequests IS Bad THEN Load IS Bad

• IF BatchRequests IS Down THEN Load IS Down

4.2.1.2 Example 2 - Web Server system

Figure 4.7: Membership function for L1LogSizeMatch dimension of example 2.

In the second case, a web server system was used, also part of another PT application. As the

previous example, the necessary dimensions were defined, by following the method explained before, with

the exception of two dimensions, one of which can be seen in figure 4.7.

Dimension Name Assigned Quality Criticality Weight Thresholds

ProcessCount Availability 100 - 0; 0; 0; 0; 0

ProcessPcpu Performance - 1 40; 60; 70; 80; 90

DiskSpaceFree Availability 100 - 1; 2.5; 5; 7.5; 10

L1LogSizeMatchCount Error - 5 0; 0; 1; 4; 5

L2LogSizeMatchCount Error - 5 0; 0; 1; 4; 5

L1LogSizeLines Load - 1 2000; 3000; 3800; 6000; 8000

L2LogSizeLines Load - 1 1500; 2250; 2850; 4500; 6000

Table 4.3: Example 2 measurable dimensions and their properties.

In the two cases, the domain of input values was very limited and only dealt with discrete values, which

removes much of the uncertainty generally associated. Because of that, the need for a membership function

that would translate a gradual increasing and decreasing of the degree of believe was not necessary, and

instead a membership function that associates each specific input with a absolute degree of believe was

created. All the available dimensions for this example are described in table 4.3.

Regarding the if-then rules, starting with Performance, and since that only one dimension defined

that quality factor, the same principle of being proportional like in some qualities from previous example,

was used. So, the rules that define Performance are the following:

• IF ProcessPcpu IS Good THEN Performance IS Good

29

Page 45: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

• IF ProcessPcpu IS Fair THEN Performance IS Fair

• IF ProcessPcpu IS Mediocre THEN Performance IS Mediocre

• IF ProcessPcpu IS Poor THEN Performance IS Poor

• IF ProcessPcpu IS Bad THEN Performance IS Bad

• IF ProcessPcpu IS Down THEN Performance IS Down

For the remaining quality factors, all of them had two assigned dimensions, both with the same weight,

or same criticality in the case of the dimensions assigned to Availability. Since the criticality of those

dimensions was 100, both were considered critical, and as such, the worst case should be the value of

Availability. For Error and Load, to replicate the previous assessment on QoS based on a weighted average,

and since weights were the same between the dimensions, the quality factor was classified according each

dimension’s own classification and through the defuzzification method, the average was obtained. So, the

following list of rules define all the remaining qualities:

• IF ProcessCount IS Good AND DiskSpaceFree IS Good THEN Availability is Good

• IF ProcessCount IS Good AND DiskSpaceFree IS Fair THEN Availability is Good

• IF ProcessCount IS Good AND DiskSpaceFree IS Mediocre THEN Availability is Good

• IF ProcessCount IS Good AND DiskSpaceFree IS Poor THEN Availability is Good

• IF ProcessCount IS Good AND DiskSpaceFree IS Bad THEN Availability is Bad

• IF ProcessCount IS Down OR DiskSpaceFree IS Down THEN Availability is Down

• IF L1LogSizeMatchCount IS Good OR L2LogSizeMatchCount IS Good THEN Error IS Good

• IF L1LogSizeMatchCount IS Fair OR L2LogSizeMatchCount IS Fair THEN Error IS Fair

• IF L1LogSizeMatchCount IS Mediocre OR L2LogSizeMatchCount IS Mediocre

THEN Error IS Mediocre

• IF L1LogSizeMatchCount IS Poor OR L2LogSizeMatchCount IS Poor THEN Error IS Poor

• IF L1LogSizeMatchCount IS Bad OR L2LogSizeMatchCount IS Bad THEN Error IS Bad

• IF L1LogSizeMatchCount IS Down OR L2LogSizeMatchCount IS Down THEN Error IS Down

• IF L1LogSizeLines IS Good OR L2LogSizeLines IS Good THEN Load IS Good

• IF L1LogSizeLines IS Fair OR L2LogSizeLines IS Fair THEN Load IS Fair

• IF L1LogSizeLines IS Mediocre OR L2LogSizeLines IS Mediocre THEN Load IS Mediocre

• IF L1LogSizeLines IS Poor OR L2LogSizeLines IS Poor THEN Load IS Poor

• IF L1LogSizeLines IS Bad OR L2LogSizeLines IS Bad THEN Load IS Bad

• IF L1LogSizeLines IS Down OR L2LogSizeLines IS Down THEN Load IS Down

4.2.2 Creating Knowledge Based On Scenarios

In this part of the validation a new quality of service definition was developed without replicating the

developed model for the target system. That system was also a database like in the first example, and

the new model was developed with the direct contributions of an database administrator (DBA), from

PT-C.

The purpose for this validation was to compare the resulting model with previous ones, constructed

following the properties described in the previous section. By creating a quality of service definition

30

Page 46: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

based on concrete snapshots of the system and handling uncertainty in a formal way, better models were

expected, which would better represent reality. The feedback from the expert would also be considered

to the definition evaluation.

Dimension Name

TimeWaitEvent

CountBlockingLocks

CountSessions

CountUserCalls

CpuTime

TimeStatistics

FullTableIndexScan

Table 4.4: Example 3 measurable dimensions and their properties.

The available dimensions to conclude on quality of service in this system are present in table 4.4.

None of them had a defined threshold list or assigned quality factor, in this use case, and such properties

were left to define by the DBA, by using the membership functions and the if-then rules. The quality

factors to monitor in this system were only the following: Availability, Performance and Load.

4.2.2.1 Example 3 - Defining Thresholds

To define the necessary membership functions, in a first approach, it was asked to the DBA to drawn on

paper the lines that he consider to be most correct approach to his degree of believe, according to the

input numerical values, to each Classification value.

After the necessary variables and respective values were defined, the Fuzzy Logic Toolbox was used to

create again the variables in order to replicate what was on paper, in the most approximated way possible.

After the defined functions were corrected and finally validated by the expert, the step of creating the

abstraction from the numbers domain was complete.

4.2.2.2 Example 3 - Constructing Scenarios

In the second step of creating the QoS definition, the necessary if-then rules were developed. For each

quality factor, it was asked to the DBA what were the possible causes that would constitute each Classi-

fication. Through the use of the Fuzzy Logic Toolbox, it was possible to evaluate the constructed model,

to observe its behaviour. After some iterations, to add missing scenarios or to resolve conflicts, the set

of rules that defined the model were validated by the expert. The resulting list of rules is the following:

• IF FullTableIndexScan IS Good,Fair AND CountSessions IS Good AND CountUserCalls IS Good

THEN Load IS Good

• IF FullTableIndexScan IS Mediocre AND CountSessions IS Fair,Mediocre AND

CountUserCalls IS Fair,Mediocre THEN Load IS Fair

• IF FullTableIndexScan IS Mediocre,Poor AND CountSessions IS Mediocre,Poor AND

CountUserCalls IS Mediocre,Poor THEN Load IS Mediocre

31

Page 47: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

• IF FullTableIndexScan IS Poor,Bad AND CountSessions IS Poor,Bad AND

CountUserCalls IS Poor,Bad THEN Load IS Poor

• IF FullTableIndexScan IS Bad AND CountSessions IS Bad AND CountUserCalls IS Bad

THEN Load IS Bad

• IF FullTableIndexScan IS Bad,Down AND CountSessions IS Down AND CountUserCalls IS Down

THEN Load IS Down

• IF CountSessions IS Poor,Bad AND CountUserCalls IS Poor,Bad THEN Load IS Poor

• IF FullTableIndexScan IS Mediocre,Poor,Bad,Down THEN Load IS Poor

• IF CountSessions IS Fair AND CountUserCalls IS Fair THEN Load IS Fair

• IF TimeWaitEvent IS Good AND CpuTime IS Fair,Mediocre AND TimeStatistics IS Good

THEN Performance IS Good

• IF TimeWaitEvent IS Fair AND CpuTime IS Fair,Mediocre AND TimeStatistics IS Fair

THEN Performance IS Fair

• IF TimeWaitEvent IS Mediocre,Poor AND CpuTime IS Mediocre AND TimeStatistics IS Mediocre

THEN Performance IS Mediocre

• IF TimeWaitEvent IS Poor AND CpuTime IS Poor,Bad AND TimeStatistics IS Poor

THEN Performance IS Poor

• IF TimeWaitEvent IS Bad,Down AND CpuTime IS Bad AND TimeStatistics IS Bad

THEN Performance IS Bad

• IF TimeWaitEvent IS Down AND CpuTime IS Down AND TimeStatistics IS Down

THEN Performance IS Down

• IF TimeWaitEvent ISMediocre,Poor,Bad,Down AND FullTableIndexScan ISMediocre,Poor,Bad,Down

THEN Performance IS Poor

• IF TimeWaitEvent IS Mediocre,Poor,Bad,Down THEN Performance IS Poor

• IF TimeWaitEvent IS Good,Fair THEN Performance IS Fair

• IF TimeStatistics IS Good,Fair THEN Performance IS Fair

• IF CountBlockingLocks IS Good,Fair THEN Availability IS Good

• IF CountBlockingLocks IS Mediocre,Poor,Bad THEN Availability IS Bad

• IF CountBlockingLocks IS Down THEN Availability IS Down

These rules do not follow exactly the structure presented in the solution, in order to simplify the

capture of scenarios described by the DBA. However they can be decomposed into the proposed structure

as showed in the example below:

• IF BlockingLocks IS Good,Fair THEN Availability IS Good

– IF BlockingLocks IS Good THEN Availability IS Good

– IF BlockingLocks IS Fair THEN Availability IS Good

32

Page 48: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

4.3 Evaluating Quality of Service Models

In the previous section the process of creating the QoS definition for a information system was explained

and demonstrated. In the first two cases the objective was to replicate the assessment knowledge already

present in different models, and in the third example a system expert was asked to develop a model

according to our solution. This section presents the evaluation on the created models to conclude on the

proposed hypotheses.

4.3.1 Results from Example 1

Figure 4.8: Visualization of Performance and respective dimensions.

With the help of the Fuzzy Logic Toolbox, different views on the quality factors assessment were

available to evaluate the model. In figure 4.8 the Performance quality factor can be seen related with the

dimensions that impact in any way its classification. Remembering that the two dimensions used to infer

about Performance had different weights, it was expected that the one with most weight would cause

greater impact, just as showed in the figure.

Regarding the remaining quality factors, the assessment results are shown in figure 4.9. As only one

dimension affects each quality factor, respectively, the visualization is composed only of 2D graphics. It

can be seen that the define scenarios are reflected in the curve as expected.

With the use of these visualizations, for each quality factor, that show how numerical input values

are translated into quantifications for quality of service, it can be argued that the hypothesis H1 present

in chapter 1 is validated, as the created definition for QoS has the expected properties.

4.3.2 Results from Example 2

In example 2 we had two quality factors defined by the weighted average of two dimensions, each, and

both had equal weights. The expected behaviour of those quality factors was then to be equally influenced

by either dimension. That behaviour is observed in figure 4.10, both for Error and Load quality factors.

For Performance, since it had only one influential dimension, the expect result would be that the

quality factor classification reflected the dimension’s own classification, as observed in figure 4.11. For

Availability, the expected results would be:

33

Page 49: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

(a) Availability (b) Error (c) Load

Figure 4.9: Quality factors assessment visualizations.

(a) Error (b) Load

Figure 4.10: Quality factors assessment visualizations.

• A Down classification, when any of the dimension is Down;

• If any dimension is classified as Bad, the second is not Down, then the quality factor should also

be Bad ;

• Otherwise classified as Good.

In figure 4.12 its possible to see that those three expected results are respected. As in the first

example, the proposed hypothesis H1 is validated as a QoS definition could be developed using a fuzzy

logic controller approach.

4.3.3 Results from Example 3

In this example the resulting behaviour was evaluated by the expert himself. By making use of the tool,

for evaluating Fuzzy Logic controllers, several input scenarios were simulated to verify if the obtained

output corresponded to expected value. After several simulations, iterating over to the definition of

if-then rules in case of not expected results, the model was considered complete.

We are confident to say that hypothesisH3 was also validated, since the model was created as specified

by the expert’s defined scenarios. Also, it allowed him to develop the model iteratively, evaluating and

then adding, removing or changing rules to correct the evaluation cases that he did not consider correct.

It was argued by the expert himself that this method could improve models’ quality according to the

time spent iterating on the set of rules, because it maintains independent rules that are not affected by

the rest.

34

Page 50: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 4.11: Visualization of Performance and respective dimension.

Figure 4.12: Visualization of Availability quality factor and influential dimensions.

4.3.4 Integration with an Enterprise Architecture Framework

In chapter 1 the hypothesis H2 was presented. It stated that an Enterprise Architecture framework

could be extended in order to represent a quality of service model, based on fuzzy logic controllers, of

information systems. Proposed at chapter 3, the extension to FCEO was applied to the three examples

describe previously, in order to validate that hypothesis.

Figure 4.13: Dimension view of model from example 1.

Regarding example 1, we present a Dimension view in figure 4.13, refering to the dimension Process-

Count. In this view is possible to see the two rules in which this dimension is participating, and also the

35

Page 51: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

quality factor that is impacted, in this case just one.

Figure 4.14: Quality view of model from example 2.

For example 2, we use a Quality Factor view, to show how the Availability factor is classified ac-

cording to the assigned dimensions. In figure 4.14, the rules and correlation between ProcessCount and

DiskSpaceFree, which compose the definition for Availability, can be observed.

Finally, for example 3, the System Quality of Service view is presented in figure 4.15. In this view

its possible to obtain a overview of how quality of service is defined for the target system, displaying

all quality factors and each dimension that has impact on it. In this case its also easy to identify the

dimension that has impact on two different quality factors, the FullTableIndexScan.

So, regarding the presented hypothesis H2, we have validated it using three real systems, modelled

according to our solution. To a complete overview on those examples, quality views for all quality factors

can be viewed in appendix 6.1, and also the system quality of service views in appendix ??.

4.4 Summary

In this section, the solution proposed in the previous chapter was applied to three different information

systems. The first two were meant to replicate the knowledge already created at PT-C about quality

of service assessment. The third and final one was developed with the help of a DBA from PT-C, with

the objective of evaluating the use of system snapshots to capture experts’ knowledge, in the creation of

36

Page 52: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 4.15: System Quality of Service view of model from example 3.

quality of service definition.

In a second part, the evaluation of the models were performed to verify if the presented hypothesis

could be validated.

37

Page 53: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 54: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

5 ConclusionIn this thesis we parted from a general consensus on the lack of tools and methods to create quality of

service models that could capture the uncertainty and imprecision that experts experience when defining

quality for an information systems. Also, from research we learned that fuzzy logic controllers were on

the rise as a successful application to solve control problems that handle with uncertainty, and so the

creation of models was adapted to the general structure of the controllers.

Through the application of this solution to three cases, using real world information systems, we have

validated our hypothesis. Quality of Service models can be modelled following the structure of a fuzzy

logic controller, and also its properties, like the if-then rules, represents an improved method for capturing

the knowledge from experts, as showed in the last example. Its was also possible to extend the FCEO

framework with the minimal and necessary set of concepts, enabling the integration of these developed

models with an enterprise architecture.

The collaboration with PT-C was most important because it gave access to real world systems, part

of very large information systems. With the contribution of one of those systems’ expert it was also

possible to evaluate the acceptance of the proposed solution to create the QoS models.

5.1 Limitations

Regarding some possible limitations, we have identified the following:

• An hierarchy of quality factors could not be developed using the proposed solution. However, the

necessary concepts to represent such structure are already present, but no relation between different

qualities has been defined. Once the relation between different quality factors is clearly defined and

established, the fuzzy if-then rules could be used to define values for a quality factor, by correlation

of values from other qualities.

• This solution is not applicable for quality of service assessment over a period of time, since it defines

what quality is for concrete snapshots of the system.

5.2 Future Work

Many investigation possibilities are still open for further work. Regarding membership functions, in this

investigation they were not investigated into their full potential as modelling tools for the uncertainty

and imprecision. Also, as experts are most used to model variables using threshold points in their given

domain of values, membership functions may still represent uncovered advantages.

For the if-then rules, the possibilities are even greater. For once the possibility of static analysis of

rules, uncovering conflicts, duplications or even scenarios not covered. This analyses can also be used to

assess the own quality of models, enable comparison between them.

Finally, investigation on the defuzzification methods may reveal other potential benefits, as the ex-

amples used here were created with the most simplistic method, the center of area. This represents an

important component of a possible QoS model because it can modify the resulting assessments completely

from just changing methods..

39

Page 55: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização
Page 56: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Bibliography

[ACR05] José Alegria, Tiago Carvalho, and Ricardo Ramalho. Uma experiência open source para

“tomar o pulso” e “ter pulso” sobre a função sistemas e tecnologias de informação. Technical

report, Portugal Telecom, 2005.

[CCAH96] Andrew Campbell, Andrew Campbell, Cristina Aurrecoechea, and Linda" Hauw. A review

of qos architectures. MULTIMEDIA SYSTEMS, 6:138–151, 1996.

[Cro96] Valerie Cross. Towards a unifying framework for a fuzzy object model. Fifth IEEE Interna-

tional Conference on Fuzzy Systems, 1:85–92, September 1996.

[Elk93] Charles Elkan. The paradoxical success of fuzzy logic. In IEEE Expert, pages 698–703, 1993.

[Fen06] Gang Feng. A survey on analysis and design of model-based fuzzy control systems. IEEE

Transactions on Fuzzy Systems, 14(5):676–697, October 2006.

[ISO01] ISO. ISO/IEC 9126-1:2001, Software engineering – Product quality – Part 1: Quality model,

2001.

[KKH04] Souheil Khaddaj, Souheil Khaddaj, and G" Horgan. The evaluation of software quality factors

in very large information systems. Electronic Journal of Information Systems Evaluation,

pages 43–48, 2004.

[Lan05] Marc Lankhorst. Enterprise Architecture at Work: Modelling, Communication and Analysis.

Springer, December 2005.

[LK99] Van Leekwijck and Kerre. Defuzzification: criteria and classification. Fuzzy Sets and Systems,

108:159–178, 1999.

[NSJ+08] Per Närman, Marten Schönherr, Pontus Johnson, Mathias Ekstedt, and Moustafa Chenine.

Using enterprise architecture models for system quality analysis. In Proceedings of the 2008

12th International IEEE Enterprise Distributed Object Computing Conference, pages 14–23,

Washington, DC, USA, 2008. IEEE Computer Society.

[Ope06] OASIS Open. Reference model for service oriented architecture 1.0. Technical report, OASIS

Open, August 2006.

[PZB85] A. Parasuraman, Valarie A. Zeithaml, and Leonard L. Berry. A conceptual model of servce

quality and its implications for future research. Journal of Marketing, 49:41–50, 1985.

[SEF+10] Olabiyisi S.O., Omidiora E.O, Uzoka F.M.E, Victor Mbarika, and Akinnuwesi B.A. A survey

of performance evaluation models for distributed software system architecture. Proceedings

of the World Congress on Engineering and Computer Science 2010, 1:35–43, October 2010.

[SK92] DG Schwartz and GJ Klir. Fuzzy logic flowers in japan. Spectrum, IEEE, 29(7):32–35, 1992.

41

Page 57: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

[SK02] Joao M. C. Sousa and Uzay Kaymak. Fuzzy Decision Making in Modeling and Control. World

Scientific Publishing Company, December 2002.

[SV01] A.M.R. Silva and C.A.E. Videira. UML - METODOLOGIAS E FERRAMENTAS CASE.

Centro Atlântico, 2001.

[VST07] A Vasconcelos, P Sousa, and J Tribolet. Information system architecture metrics: An enter-

prise engineering evaluation approach. Electronic Journal of Information Systems Evaluation,

10(1):91–122, 2007.

[Zad65] Lotfi A. Zadeh. Fuzzy sets. Information Control, 8:338–353, 1965.

[Zad73] LA Zadeh. Outline of a new approach to the analysis of complex systems and decision

processes. IEEE Trans. on Systems, Man, and Cybernetics, SMC-3:28–44, 1973.

[Zad08] Lotfi A. Zadeh. Is there a need for fuzzy logic? Fuzzy Information Processing Society,

NAFIPS, pages 1–3, May 2008.

[Zad10] Lotfi A. Zadeh. A summary and update of "fuzzy logic". IEEE International Conference on

Granular Computing, pages 42–44, 2010.

42

Page 58: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

6 Appendices

6.1 Appendix A - Simplified Quality Views and System Quality of Service

Views

Figure 6.1: Simplified Quality View, of example 1, for Performance.

Figure 6.2: Simplified Quality View, of example 1, for Error.

43

Page 59: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.3: Simplified Quality View, of example 1, for Availability.

Figure 6.4: Simplified Quality View, of example 1, for Load.

44

Page 60: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.5: Simplified Quality View, of example 2, for Performance.

Figure 6.6: Simplified Quality View, of example 2, for Error.

45

Page 61: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.7: Simplified Quality View, of example 2, for Availability.

Figure 6.8: Simplified Quality View, of example 2, for Load.

46

Page 62: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.9: Simplified Quality View, of example 3, for Availability.

47

Page 63: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.10: Simplified Quality View, of example 3, for Load.48

Page 64: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.11: Simplified Quality View, of example 1, for Load.

Figure 6.12: Simplified Quality View, of example 2, for Load.

49

Page 65: Fuzzy Logic Based Quality of Service Models Relatório Final · Fuzzy Logic Based Quality of Service Models Relatório Final João Negrão Antunes ... Para que essa monitorização

Figure 6.13: Simplified Quality View, of example 3, for Load.

50