Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/36574

TítuloArchitectural reconfiguration of interacting services
Outro(s) título(s)Reconfiguração arquitetural da interação de serviços
Autor(es)Oliveira, Nuno Ernesto Salgado
Orientador(es)Barbosa, L. S.
Data10-Mar-2015
Resumo(s)The exponential growth of information technology users and the rising of their expectations imposed a paradigmatic change in the way software systems are developed. From monolithic to modular, from centralised to distributed, from static to dynamic. Software systems are nowadays regarded as coordinated compositions of several computational blocks, distributed by different execution nodes, within flexible and dynamic architectures. They are not flawless, though. Moreover, execution nodes may fail, new requirements may become necessary, or the deployment environment may evolve in such a way that measures of quality of service of the system become degraded. Reconfiguring, repairing, adapting, preferably in a dynamic way, became, thus, relevant issues for the software architect. But, developing such systems right is still a challenge. In particular, current (formal) methods for characterising and analysing contextual changes and reconfiguration strategies fall behind the engineering needs. This thesis formalises a framework, referred to as aris, for modelling and analysing architectural reconfigurations. The focus is set on the coordination layer, understood in the context of the Reo model, as it plays the key role in defining the behaviour of compositional systems. Therefore, it proposes a notion of a Coordination Pattern, as a graph-based model of the coordination layer; and of Reconfiguration Patterns, as parametric operations inducing topological changes in coordination patterns. Properties of reconfigurations can be stated and evaluated from two different perspectives: behavioural and structural. The former compares the behavioural semantics of the reconfigured system based on whatever semantic model one associates to coordination patterns. The latter focuses on the graph topology of the coordination pattern. Properties are expressed in a propositional hybrid logic, referring to the actual connectivity expressed in that graph. To bring quality of service into the picture, the thesis also contributes with a new semantic model for stochastic Reo, based on interactive Markov chains. This opens new possibilities for analysis of both coordination patterns and reconfigurations. In particular for inspecting the effects of reconfigurations in the system’s quality of service, or determining reconfiguration triggers, based on the variations of the latter. Another contribution of the thesis is the integration of aris in a monitoring strategy that enables self-adaptation and attempts to deliver it as a service in a cloud environment. Tools are delivered to support aris. In particular, language-based technology to encode, transform and analyse coordination and reconfiguration patterns, materialises it in a dedicated editor. All the above mentioned contributions are assessed through a case study where a static system is worked out to support self-adaptation.
O crescimento exponencial de utilizadores de tecnologias de informação e o aumento das suas expetativas, impuseram uma mudamça paradigmática na maneira como os sistemas de software são desenvolvidos. De monolíticos para modulares, de centralizados para distribuídos, de estáticos para dinâmicos. Os sistemas de software são, hoje, tidos como a composição coordenada de vários blocos de computação, distribuídos por diferentes nodos de execução, com arquiteturas flexíveis e dinâmicas. Não são infalíveis, porém. Nodos de execução podem falhar, novos requisitos podem tornar-se necessários, ou o ambiente de produção pode evoluir de tal modo que medidas de qualidade de serviço se podem degradar. Reconfigurar, reparar, adaptar, de preferência dinamicamente, tornaram-se assim conceitos importantes para o arquiteto de software. Mas desenvolver estes sistemas corretamente é ainda um desafio. Em particular, os atuais métodos (formais) para a caraterização e análise contextual, e para a estratégias de reconfiguração estão aquém das necessidades da engenharia. Esta tese formaliza uma framework, denominada aris, para a modelação e análise de reconfigurações arquiteturais. A atenção é focada na camada de coordenação, vista sob o prisma do modelo de coordenação Reo, dado que esta desempenha um papel chave na definição do comportamento de sistemas compostos. Assim, é proposta uma noção de Padrão de Coordenação, como sendo um modelo da camada de coordenação baseado em grafos; e outra de Padrão de Reconfiguração, como sendo operações parametrizáveis que produzem alterações topológicas nos padrões de coordenação. Propriedades das reconfigurações podem ser expressas e avaliadas sob duas perspetivas diferentes: comportamental e estrutural. A primeira compara a semântica de comportamento do sistema reconfigurado com base num modelo semântico qualquer escolhido para associar aos padrões de coordenação. O último foca-se na estrutura topológica do padrão de coordenação. Propriedades são expressas numa lógica híbrida proposicional, referindo-se à conetividade capturada em tal grafo de estrutura. Fazendo a qualidade de serviço entrar em cena, a tese contribui também com um novo modelo semântico para Reo estocástico, baseado em cadeias de Markov interativas. Este modelo proporciona novas possibilidades para análise de padrões de coordenação e reconfiguração. Em particular, para investigar os efeitos das reconfigurações na qualidade de serviço do sistema, ou para determinar pontos de reconfiguração com base nas variações da mesma. Outro contributo da tese é a integração de aris numa estratégia de monitorização que habilita a auto-adaptação, e define um marco na tentativa de a entregar como um serviço em ambientes Cloud. Ferramentas são disponibilizadas para suporte a aris. Emparticular, tecnologia baseada em linguagens para descrever, transformar e analisar padrões de coordenação e reconfiguração, materializa a framework num editor dedicado. Todas as contribuições mencionadas acima são avaliadas através de um caso de estudo, onde um sistema estático é trabalhado para suportar a sua auto-adaptação.
TipoTese de doutoramento
DescriçãoTese doutoramento Doctoral Programme in Computer Science MAP-i
URIhttps://hdl.handle.net/1822/36574
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento
HASLab - Teses de Doutoramento
DI/CCTC - Teses de Doutoramento (phd thesis)

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Nuno Ernesto Salgado Oliveira.pdf7,57 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID