A formally founded framework for dynamic software architectures

dc.contributor.advisorBatista, Thais Vasconcelos
dc.contributor.advisorIDpt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/5521922960404236
dc.contributor.authorCavalcante, Everton Ranielly de Sousa
dc.contributor.authorIDpt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/5065548216266121
dc.contributor.referees1Leite, Jair Cavalcanti
dc.contributor.referees1IDpt_BR
dc.contributor.referees1Latteshttp://lattes.cnpq.br/8133660776746187
dc.contributor.referees2Aquino Júnior, Gibeon Soares de Aquino
dc.contributor.referees2IDpt_BR
dc.contributor.referees2Latteshttp://lattes.cnpq.br/1254338144161360
dc.contributor.referees3Nakagawa, Elisa Yumi
dc.contributor.referees3IDpt_BR
dc.contributor.referees3Latteshttp://lattes.cnpq.br/7494142007764616
dc.contributor.referees4Cuesta, Carlos Enrique
dc.contributor.referees4IDpt_BR
dc.contributor.referees5Drira, Khalil
dc.contributor.referees5IDpt_BR
dc.contributor.referees6Cunha, Paulo Roberto Freire
dc.contributor.referees6IDpt_BR
dc.contributor.referees6Latteshttp://lattes.cnpq.br/2026295360734357
dc.contributor.referees7Oquendo, Fláviopt_BR
dc.contributor.referees7IDpt_BR
dc.contributor.referees7Latteshttp://lattes.cnpq.br/4858001230775451
dc.date.accessioned2017-08-14T11:42:00Z
dc.date.available2017-08-14T11:42:00Z
dc.date.issued2016-06-10
dc.description.abstractSoftware architectures play a significant role in the development of software-intensive systems in order to allow satisfying both functional and non-functional requirements. In particular, dynamic software architectures have emerged to address characteristics of the contemporary systems that operate on dynamic environments and consequently subjected to changes at runtime. Architecture description languages (ADLs) are used to represent software architectures, producing models that can be used at design time and/or runtime. However, most existing ADLs have limitations in several facets: (i) they are focused on structural, topological aspects of the architecture; (ii) they do not provide an adequate support for representing behavioral aspects of the architecture; (iii) they do not allow describing advanced aspects regarding the dynamics of the architecture; (iv) they are limited with respect to the automated verification of architectural properties and constraints; and (v) they are disconnected from the implementation level, thus entailing inconsistencies between architecture and implementation. In order to tackle these problems, this thesis proposes formally founded framework for dynamic software architectures. Such a framework comprises: (i) π-ADL, a formal language for describing software architectures under both structural and behavioral viewpoints; (ii) the specification of programmed dynamic reconfiguration operations; (iii) the automated generation of source code from architecture descriptions; and (iv) an approach based on statistical model checking (SMC) to formally express and verify properties in dynamic software architectures. The main contributions brought by the proposed framework are fourfold. First, the π-ADL language was endowed with architectural-level primitives for describing programmed dynamic reconfigurations. Second, architecture descriptions in π- ADL are translated towards implementation source code in the Go programming language, thereby contributing to minimize architectural drifts. Third, a novel logic, called DynBLTL, is used to formally express properties in dynamic software architectures. Fourth, a toolchain relying on SMC was built to automate the verification of architectural properties while striving to reduce effort, computational resources, and time for performing such a task. In this work, two wireless sensor network-based systems are used to validate the framework elements.pt_BR
dc.description.resumoArquiteturas de software exercem um papel significativo no desenvolvimento de sistemas intensivos de software a fim de permitir satisfazer tanto requisitos funcionais quanto nãofuncionais. Em particular, arquiteturas de software dinâmicas têm surgido para endereçar características dos sistemas contemporâneos que operam em ambientes dinâmicos e consequentemente sujeitos a mudanças em tempo de execução. Linguagens de descrição arquitetural (ADLs) são utilizadas para representar arquiteturas de software, produzindo modelos que podem ser utilizados tanto em tempo de projeto quanto em tempo de execução. Contudo, a maioria das ADLs existentes possui limitações em diversos aspectos: (i) possui enfoque em aspectos estruturais, topológicos da arquitetura; (ii) não provê um suporte adequado à representação de aspectos comportamentais da arquitetura; (iii) não permite descrever aspectos avançados relativos à dinâmica da arquitetura; (iv) é limitada com relação à verificação de propriedades arquiteturais e restrições, e; (v) é desconectada do nível de implementação, resultando em inconsistências entre arquitetura e implementação. No intuito de endereçar esses problemas, esta tese propõe um framework formal para arquiteturas de software dinâmicas. Tal framework envolve: (i) π-ADL, uma linguagem formal para descrever arquiteturas de software sob as perspectivas estrutural e comportamental; (ii) a especificação de operações de reconfiguração dinâmica programada; (iii) a geração automática de código fonte a partir de descrições arquiteturais, e; (iv) uma abordagem baseada em verificação estatística (SMC) para expressar e verificar formalmente propriedades em arquiteturas de software dinâmicas. As principais contribuições trazidas pelo framework proposto são quatro. Primeiro, a linguagem π-ADL passou a ser dotada de primitivas de nível arquitetural para descrever reconfigurações dinâmicas programadas. Segundo, descrições arquiteturais em π-ADL são traduzidas para código fonte de implementação na linguagem de programação Go, contribuindo assim para minimizar desvios arquiteturais. Terceiro, uma nova lógica chamada DynBLTL é utilizada para expressar formalmente propriedades em arquiteturas de software dinâmicas. Quarto, um ferramental baseado em SMC foi construído para automatizar verificação de propriedades arquiteturais enquanto busca reduzir esforço, recursos computacionais e tempo para realizar essa tarefa. Neste trabalho, dois sistemas baseados em redes de sensores sem fio são utilizados para validar os elementos do framework.pt_BR
dc.description.sponsorshipConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)pt_BR
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)pt_BR
dc.identifier.citationCAVALCANTE, Everton Ranielly de Sousa. A formally founded framework for dynamic software architectures. 2016. 168f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016.pt_BR
dc.identifier.urihttps://repositorio.ufrn.br/jspui/handle/123456789/23763
dc.languageporpt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.initialsUFRNpt_BR
dc.publisher.programPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectArquiteturas de softwarept_BR
dc.subjectLinguagens de descrição arquiteturalpt_BR
dc.subjectReconfiguração dinâmicapt_BR
dc.subjectVerificação formalpt_BR
dc.subjectLógica temporalpt_BR
dc.subjectVerificação estatísticapt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOpt_BR
dc.titleA formally founded framework for dynamic software architecturespt_BR
dc.title.alternativeUm framework formal para arquiteturas de software dinâmicaspt_BR
dc.typedoctoralThesispt_BR

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
EvertonRaniellyDeSousaCavalcante_TESE.pdf
Tamanho:
7.62 MB
Formato:
Adobe Portable Document Format
Carregando...
Imagem de Miniatura
Baixar