Spelling suggestions: "subject:"1rchitecture description languages"" "subject:"1rchitecture description ianguages""
1 |
DynaComm: The Extension of CommUnity to Support Dynamic ReconfigurationLing, Xiang 01 1900 (has links)
<p> Architecture Description Languages were developed to support the abstract level of software structuring that is the subject matter of software architecture. CommUnity is an ADL built on co-ordination principles and a categorical framework to support the composition of specifications of components to form the system's specification. However, an important problem of CommUnity is the lack of support for specifying the system's architectural changes in both the set of components and the connections between them.</p> <p> This thesis presents DynaComm, an extension of CommUnity to support hierarchical design and dynamic reconfiguration of component based systems. Several new language constructs are introduced into DynaComm: subsystems are coarse grained components which are considered as the basic unit for the construction of systems, connectors encapsulate a component interaction pattern that can organize the possibly complicated interactions between the components
of a subsystem. We also propose the idea of interface manager to solve the problem of incorrectly synchronized actions in CommUnity, and the concept of population manager to manage the live instances of components in a subsystem, through which we can model potentially complicated dynamic reconfigurations in a system.</p> <p> To use the semantics of CommUnity in defining the semantics of DynaComm, a "normalization" technique is introduced to transform the parameterized (indexed) actions into "normal" actions of CommUnity and reduce the specification of connectors and subsystems to flat CommUnity designs, so that we can derive the system's semantics in a certain state.</p> <p> Two illustrative examples, fault-tolerant dynamic client-server and vending machine systems, are also given to show the usage of DynaComm in modeling complicated and dynamic systems.</p> / Thesis / Master of Science (MSc)
|
2 |
Investigating Architecture Description Languages (ADLs) A Systematic Literature ReviewHussain, Sajjad January 2013 (has links)
Context: Over the last two decades, software architecture has introduced a new trend insoftware development. This new trend has completely changed the normal methods andpractices of software engineering. The focus has become the architectural elements ratherthan code and sub-routines. Architecture description languages (ADLs) have been proposedfor this kind of architecture based software development. There are a number of differentADLs both in academia and industry; they are not totally adopted by the software engineeringcommunity, but they are not avoided either. In this research work, an investigation has beenperformed based on the ADLs evaluation in practice. Objectives: The main aim of this study is to investigate evaluation of ADLs in academia andindustry. To explore the benefits and drawbacks of ADLs in practice. The study also exploresthe different quality factors improved by ADLs. Further different methods used to buildarchitecture with ADLs and then how to use architecture described with an ADL in softwaredevelopment and maintenance have also been reported. Methods: This research study has been carried out using the systematic literature reviewmethod. The systematic literature review follows the guidelines suggested by Kitchenham[21]. Results: This research review has resulted in total of 102 different ADLs. It has been foundthat out of the 102 different ADLs, 69 ADLs have been evaluated in academia and only 33ADLs have been evaluated in industry. ADLs have also been classified based on theirindustrial and academia evaluation. There are total 31 different benefits and 19 differentdrawbacks of ADLs have been identified. This review also extracted 20 different qualityfactors from literature that are improved by using ADLs in practice. Further 13 differentmethods used to build architecture with ADL have also been reported. Finally 9 differentmethods of ADLs used in software development and maintenance have been identified. Conclusions: The Large number of ADLs with little evaluation in industry suggests thatmore work needs to be done in order to improve ADLs evaluation in practice. ADLs providemore benefits compared to their drawbacks which suggests that ADLs can be very beneficial.Knowledge gained during this research study, suggests that ADLs are mostly unrecognized.More awareness about ADLs should be provided in education and practice.
|
3 |
Un framework formel pour les architectures logicielles dynamiques / A Formally Founded Framework for Dynamic Software ArchitecturesDe Sousa Cavalcante, Everton Ranielly 10 June 2016 (has links)
Les architectures logicielles ont un rôle important dans le développement de systèmes à logiciel prépondérant afin de permettre la satisfaction tant des exigences fonctionnelles que des exigences extra-fonctionnelles. En particulier, les architectures logicielles dynamiques ont émergé pour faire face aux caractéristiques des systèmes contemporains qui opèrent dans des environnements dynamiques et par conséquent susceptibles de changer en temps d’exécution. Les langages de description architecturale (ADLs) sont utilisés pour représenter les architectures logicielles en produisant des modèles qui peuvent être utilisés pendant la conception ainsi que l’exécution. Cependant, la plupart des ADLs existants sont limités sur plusieurs facettes : (i) ils ne décrivent que les aspects structurels, topologiques de l’architecture ; (ii) ils ne fournissent pas un support adéquat pour représenter les aspects comportementaux de l’architecture ; (iii) ils ne permettent pas de décrire des aspects avancés de la dynamique de l’architecture ; (iv) ils sont limités en ce qui concerne la vérification automatisée des propriétés et des contraintes architecturales ; et (v) ils sont déconnectés du niveau d’implémentation et entraînent souvent des incohérences entre l’architecture et l’implémentation. Pour faire face à ces problèmes, cette thèse propose un framework formel pour les architectures logicielles dynamiques. Ce framework comprend : (i) .-ADL, un langage formel pour décrire des architectures logicielles dynamiques sous les perspectives structurelles et comportementales ; (ii) la spécification des opérations de reconfiguration dynamique programmée ; (iii) la génération automatique de code source à partir des descriptions architecturales ; et (iv) une approche basée sur la vérification statistique pour exprimer et vérifier formellement des propriétés des architectures logicielles dynamiques. Les contributions principales apportées par le framework proposé sont quatre. Premièrement, le langage .-ADL a été doté de primitives de niveau architectural pour décrire des reconfigurations dynamiques programmées. Deuxièmement, les descriptions architecturales dans .-ADL sont transformées vers le code source d’implémentation dans le langage de programmation Go, en contribuant à minimiser les dérives architecturales. Troisièmement, une nouvelle logique appelée DynBLTL est utilisée pour exprimer formellement des propriétés dans les architectures logicielles dynamiques. Quatrièmement, un outil basé sur SMC a été développé pour automatiser la vérification des propriétés architecturales en cherchant à réduire l’effort, les ressources computationnelles, et le temps pour réaliser cette tâche. Dans ce travail, deux systèmes basés sur réseaux de capteurs sans fil sont utilisés pour valider les éléments du framework. / Software 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.
|
4 |
SMADL – The social machines architecture description languageNascimento, Leandro Marques do 31 January 2014 (has links)
Submitted by Nayara Passos (nayara.passos@ufpe.br) on 2015-03-12T14:23:54Z
No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
TESE Leandro Marques do Nascimento.pdf: 4935348 bytes, checksum: 593ec08be509bd200bc5ec59fccb17d6 (MD5) / Made available in DSpace on 2015-03-12T14:23:54Z (GMT). No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
TESE Leandro Marques do Nascimento.pdf: 4935348 bytes, checksum: 593ec08be509bd200bc5ec59fccb17d6 (MD5)
Previous issue date: 2014 / CNPq, INES / É possível se observar um alto crescimento no número de aplicações Web sendo desenvolvidas. Isto está acontecendo principalmente porque a Web está entrando em uma nova fase, chamada Web programável, onde diversos sistemas baseados na Web estão disponibilizando suas APIs publicamente. Com o objetivo de lidar com a complexidade dessa Web emergente, este trabalho define a noção de uma Máquina Social (Social Machine - SM) e vislumbra uma linguagem que permite descrever redes de tais máquinas.
Para começar, nós definimos uma Máquina Social como sendo “um componente conectável e programável que encapsula (WI) um sistema de processamento de informação (IPS) e define um conjunto de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições (C), as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”. Em outras palavras, uma SM é uma máquina conectada, normalmente à Web, que dinamicamente provê e/ou requer um conjunto de serviços de acordo com os seus relacionamentos estabelecidos. Qualquer aplicação na Web pode ser vista como uma SM.
Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, uma linguagem para descrição arquitetural de SMs, como uma tentativa de ser uma forma completamente diferente de se programar a Web, misturando conceitos de linguagens de descrição arquitetural (ADLs) e linguagens específicas de domínio (DSLs). Como uma ADL, a linguagem permite a descrição de máquinas sociais (e redes de tais) em termos de relacionamentos (Rel) como abstrações de alto nível, sem a necessidade de se especificar os detalhes de comunicação (protocolos) e/ou métodos de autenticação. Como uma DSL, ela permite a criação e integração de serviços Web usando uma sintaxe de tipos dinâmicos, integrada à máquina virtual Java e à IDE Eclipse. Cada elemento do conceito de uma SM é diretamente mapeado na linguagem. Em poucas palavras, SMADL pode ser definida como uma linguagem dirigida a relacionamentos que pode ser usada para descrever interações entre qualquer número de máquinas de inúmeras formas, como um meio de representar máquinas interagindo na Web realmente e, obviamente, como um meio de representar interações com outras máquinas sociais também.
Vários outros esforços já foram feitos para definir ADLs e alguns deles foram, de alguma forma, aplicados no domínio da Web. Entretanto, há uma clara falta de base fundamental que provenha abstrações de alto nível tais como o modelo de máquinas sociais provê. SMADL foi implementada em duas versões, uma textual e outra visual. Ambas as versões foram avaliadas através de um estudo de caso e uma pesquisa baseada na opinião de especialista e indicaram ser boas soluções para problemas práticos. / We are experiencing a high growth in the number of Web applications being developed. This is happening mainly because the Web is going into a new phase, called programmable Web, where several Web-based systems make their APIs publicly available. In order to deal with the complexity of this emerging Web, we define the notion of a Social Machine and envisage a language that can describe networks of such.
To start with, we define a Social Machine (SM) as a “connectable and programmable building block that wraps (WI) an information processing system (IPS) and defines a set of required (RS) and provided services (PS), dynamically available under constraints (C) which are determined by, among other things, its relationships (Rel) with others”. In other words, a SM is a connected machine, usually to the Web, which dynamically provides and/or requires a set of services according to its established relationships. Any application in the Web can be seen as a SM.
In order to make feasible the practical application of the aforementioned Social Machine concept, we define SMADL – the Social Machines Architecture Description Language – as an attempt to be a completely different way to program the Web, mixing concepts from Architecture Description Languages (ADLs) and Domain-Specific Languages (DSLs). As an ADL, it allows the description of Social Machines (and networks of such) in terms of relationships (Rel) as high-level abstractions, without the need to specify details of communication (protocols) and/or authentication methods. As a DSL, it allows the implementation and integration of Web services using a dynamically typed syntax, fully integrated to the Java Virtual Machine and Eclipse IDE. Every element of the SM concept is directly mapped into the language. In few words, SMADL can be defined as a relationship-driven language which can be used to describe the interactions between any number of machines in a multitude of ways, as a means to represent real machines interacting in the real Web and, obviously, as a means to represent interactions with other social machines too.
Several other efforts have been done to define ADLs, and a few of them were someway applied to the Web domain. However, there is a clear lack of fundamental base to provide high-level abstractions that the Social Machine concept does. SMADL has been implemented in two versions, one textual and one visual. Both versions have been
evaluated through a case study and an expert’s opinion survey and demonstrated to be good solutions for practical problems.
|
5 |
Intégration de l'analyse de propriétés non-fonctionnelles dans l'Ingénierie Dirigée par les Modèles pour les systèmes embarqués / Integration of the Analysis of Non-Functional Properties in Model-Driven Engineering for Embedded SystemsBrau, Guillaume 13 March 2017 (has links)
L'ingénierie des systèmes embarqués repose sur deux activités complémentaires : la modélisation d'une part permet dereprésenter le système, l'analyse d’autre part permet d'évaluer les diverses propriétés non-fonctionnelles (par exemple despropriétés temporelles via l'analyse d’ordonnancement temps réel). Cette thèse s'intéresse à l'intégration entre ces modèleset analyses: comment appliquer une analyse sur une modèle ? Comment gérer le processus d’analyse ? La première partie de cette thèse présente une approche globale afin de répondre à ces questions. Cette approche s'organise autour de quatre couches applicatives: (1) les modèles qui représentent le système, (2) les accesseurs qui permettent d'extraire des données à partir d'un modèle, (3) l'analyse qui traite des données en entrée pour produire des données ou propriétés en sortie, (4) des contrats qui décrivent les interfaces d'une analyse et permettent d'orchestrer le processus d'analyse. La seconde partie de cette thèse est dédiée à l'expérimentation de cette approche sur des systèmes réels provenant du domaine aérospatial : un drone, un robot explorateur et un système de gestion de vol. Nous montrons que les accesseurs permettent d’appliquer diverses analyses d’ordonnancement temps réel sur des modèles architecturaux hétérogènes, par exemples décrits avec le standard industriel AADL (Architecture Analysis and Design Language) ou le nouveau langage dirigé par le temps CPAL (Cyber-Physical Action Language). En outre, nous montrons que les contrats peuvent être utilisés afin d’automatiser des procédures d'analyse complexes : quelle analyse peut être appliquée sur unmodèle ? Quelles analyses remplissent les objectifs visés ? Peut-on combiner des analyses ? Y-a-t-il des interférences entreles analyses ? Etc. / The engineering of embedded systems relies on two complementary activities: modeling on the one hand enables torepresent the system, analysis on the other hand makes it possible to evaluate the various non-functional properties (forexample, temporal properties with the real-time scheduling analysis). This thesis deals with the integration between thesemodels and analyses: how to apply an analysis on a model? How to manage the analysis process? The first part of this thesis presents a comprehensive approach to answer these questions. This approach is based on four application layers: (1) models to represent the system, (2) accessors to extract data from a model, (3) analyses to computeoutput data and/or properties from input data (4) contracts to represent the analysis interfaces and orchestrate the analysisprocess. The second part of this thesis deals with the experimentation of this approach with concrete systems coming fromthe aerospace: a drone, an exploratory robot and a flight management system. We demonstrate that the accessors enable toapply various real-time scheduling analyses on heterogeneous architectural models, for example written with the industrystandard AADL (Architecture Analysis and Design Language) or the new time-triggered language CPAL (Cyber-PhysicalAction Language). In addition, contracts make it possible to automate complex analysis procedures: which analysis can beapplied on a given model? Which are the analyses that meet a given goal? Are there analyses to be combined? Are thereinterferences between analyses? Etc.
|
6 |
[en] LINDAX.: A LANGUAGE FOR DESCRIBING ADAPTABLE COMMUNICATION SYSTEMS / [pt] LINDAX: UMA LINGUAGEM DE DESCRIÇÃO DE SISTEMAS DE COMUNICAÇÃO ADAPTÁVEISANTONIO TADEU AZEVEDO GOMES 25 August 2005 (has links)
[pt] No cenário atual do setor de telecomunicações, percebe-se
uma tendência
crescente em direção ao uso de sistemas de comunicação que
permitam a criação
rápida e de baixo custo de serviços. Na busca por
arquiteturas de rede que
respondam a essa tendência, vários grupos têm centrado seus
esforços em
pesquisas na área de redes programáveis. O surgimento da
tecnologia de
processamento de rede no mercado de equipamentos de
telecomunicações abriu
ainda maior espaço para pesquisas nessa área. Nesse
contexto, é imprescindível
que os processos de criação de serviços sejam bem
estruturados e, o quanto
possível, sistemáticos. Esta tese, inserida em um projeto
desenvolvido no
Laboratório TeleMídia da PUC-Rio, adota uma abordagem de
criação de serviços
em que técnicas de Arquitetura de Software e de
Desenvolvimento Baseado em
Componentes são aplicadas consistentemente e de modo
ubíquo, desde
especificações de alto nível de serviços até a
implementação de software básico
em unidades programáveis de processamento de rede. Os
objetivos principais são
expressar a adaptabilidade de múltiplos aspectos nesses
serviços e,
simultaneamente, reduzir a sobrecarga cognitiva em
projetistas e programadores,
decorrente dessa multiplicidade de aspectos. Para isso, foi
desenvolvida uma
linguagem de especificação baseada em XML, chamada Lindax,
que permite
descrever arquiteturalmente diversos aspectos de sistemas
de comunicação - por
meio de um arcabouço sintático único para DSLs - e
restrições de adaptação em
cada aspecto particular - por meio de estruturas de estilos
arquiteturais.
Complementando o trabalho, um conjunto de ferramentas de
manipulação de
descrições arquiteturais em LindaX é definido. Essas
ferramentas permitem o
refinamento para diferentes linguagens formais ou a síntese
de configurações e
mecanismos de controle de adaptações para diversas
plataformas. / [en] It is increasingly noticeable, in the current
telecommunications market, a
trend towards using communication systems that allow rapid
and cheap
deployment of new services. In pursuit of network
architectures that keep up with
such trend, significant research has been carried out on
programmable networks.
This field is set to gain further impetus from developments
in network
processor-based equipment. In this context, it is crucial
that service creation
processes be well structured and, as far as possible,
systematic. This thesis, which
is part of an ongoing project at the TeleMídia Laboratory,
PUC-Rio, adopts a
service creation approach in which techniques from Software
Architecture and
Component-Based Software Development are uniformly and
ubiquitously applied
at all levels of a communication system, ranging from high-
level service
specifications to low-level software implementation running
in network
processors. The main aim is to express adaptibility in
cross-cutting service aspects
and, meanwhile, cut down on the cognitive overhead usually
imposed upon
designers and programmers due to such multiplicity of
concerns. For the sake of
the aforementioned aim, an XML-based specification
language, called LindaX,
has been developed. Such language allows various system
aspects to be
architecturally described - by means of a single syntactic
framework for DSLs -
as well as adaptable in a constrained way - through style
structures.
Complementing the work, a toolset for handling LindaX
architecture descriptions
has been defined, which allows their refinement to
different formal languages or
their synthesis onto system configurations and adaptation
controlling mechanisms
for diverse platforms.
|
7 |
Testování generovaných překladačů jazyka c pro procesory ve vestavěných systémech / Testing of generated C compilers for processors in embedded systemsDolíhal, Luděk Unknown Date (has links)
Vestavěné systémy se staly nepostradatelnými pro náš každodenní život. Jsou to obvykle úzce zaměřená, vysoce optimalizovaná, jednoúčelová zařízení. Jádro vestavěných zařízení obvykle tvoří jeden nebo více aplikačně specifických instrukčních procesorů. Tato disertační práce se zaměřuje na problematiku testování nástrojú pro návrh aplikačně specifických procesorů a následně i samotných aplikačne specifických procesorů. Snahou bylo vytvořit systém, ve kterém bude možné otestovat jednotlivé nástroje, jako například překladač, assembler, disassembler, debugger. Nicméně vyvstává také potřeba provádět složitější testy, například integrační, které zaručí, že mezi jednotlivými nástroji nevzniká nekompatibilita. Autor vytvořil s podporou přůběžně integračního serveru prostředí, které napomáhá odhalování a odstraňování chyb při návrhu aplikačně specifických procesorů a které je navíc do značné míry automatizované.
|
8 |
Reconfiguración Dinámica e Incremental de Arquitecturas de Servicios Cloud Dirigida por ModelosZuñiga Prieto, Miguel Ángel 04 September 2017 (has links)
Cloud computing represents a fundamental change in the way organizations acquire technological resources (e.g., hardware, development and execution environments, applications); where, instead of buying them, they acquire remote access to them in the form of cloud services supplied through the Internet. Among the main characteristics of cloud computing is the allocation of resources in an agile and elastic way, reserved or released depending on the demand of the users or applications, enabling the payment model based on consumption metrics.
The development of cloud applications mostly follows an incremental approach, where the incremental delivery of functionalities to the client changes - or reconfigures - successively the current architecture of the application. Cloud providers have their own standards for both implementation technologies and service management mechanisms, requiring solutions that facilitate: building, integrating and deploying portable services; interoperability between services deployed across different cloud providers; and continuity In the execution of the application while its architecture is reconfigured product of the integration of the successive increments.
The principles of the model-driven development approach, the architectural style service-oriented architectures, and the dynamic reconfiguration play an important role in this context. The hypothesis of this doctoral thesis is that model-driven development methods provide cloud service developers with abstraction and automation mechanisms for the systematic application of the principles of model engineering during the design, implementation, and incremental deployment of cloud services, facilitating the dynamic reconfiguration of the service-oriented architecture of cloud applications.
The main objective of this doctoral thesis is therefore to define and validate empirically DIARy, a method of dynamic and incremental reconfiguration of service-oriented architectures for cloud applications. This method will allow specifying the architectural integration of the increment with the current cloud application, and with this information to automate the derivation of implementation artifacts that facilitate the integration and dynamic reconfiguration of the service architecture of the cloud application. This dynamic reconfiguration is achieved by running reconfiguration artifacts that not only deploy / un-deploy increment's services and orchestration services between services of the increment with the services of the current cloud application; but also, they change the links between services at runtime.
A software infrastructure that supports the activities of the proposed method has also been designed and implemented. The software infrastructure includes the following components: i) a set of DSLs, with their respective graphical editors, that allow to describe aspects related to the architectural integration, implementation and provisioning of increments in cloud environments; ii) transformations that generate platform-specific implementation and provisioning models; (iii) transformations that generate artifacts that implement integration logic and orchestration of services, and scripts of provisioning, deployment, and dynamic reconfiguration for different cloud vendors.
This doctoral thesis contributes to the field of service-oriented architectures and in particular to the dynamic reconfiguration of cloud services architectures in an iterative and incremental development context. The main contribution is a well-defined method, based on the principles of model-driven development, which makes it easy to raise the level of abstraction and automate, through transformations, the generation of artifacts that perform the dynamic reconfiguration of cloud applications. / La computación cloud representa un cambio fundamental en la manera en la que las organizaciones adquieren recursos tecnológicos (p. ej., hardware, entornos de desarrollo y ejecución, aplicaciones); en donde, en lugar de comprarlos adquieren acceso remoto a ellos en forma de servicios cloud suministrados a través de Internet. Entre las principales características de la computación cloud está la asignación de recursos de manera ágil y elástica, reservados o liberados dependiendo de la demanda de los usuarios o aplicaciones, posibilitando el modelo de pago basado en métricas de consumo.
El desarrollo de aplicaciones cloud sigue mayoritariamente un enfoque incremental, en donde la entrega incremental de funcionalidades al cliente cambia - o reconfigura - sucesivamente la arquitectura actual de la aplicación. Los proveedores cloud tienen sus propios estándares tanto para las tecnologías de implementación como para los mecanismos de gestión de servicios, requiriéndose soluciones que faciliten: la construcción, integración y despliegue de servicios portables; la interoperabilidad entre servicios desplegados en diferentes proveedores cloud; y la continuidad en la ejecución de la aplicación mientras su arquitectura es reconfigurada producto de la integración de los sucesivos incrementos.
Los principios del enfoque de desarrollo dirigido por modelos, del estilo arquitectónico de arquitecturas orientadas a servicios y de la reconfiguración dinámica cumplen un papel importante en este contexto. La hipótesis de esta tesis doctoral es que los métodos de desarrollo dirigido por modelos brindan a los desarrolladores de servicios cloud mecanismos de abstracción y automatización para la aplicación sistemática de los principios de la ingeniería de modelos durante el diseño, implementación y despliegue incremental de servicios cloud, facilitando la reconfiguración dinámica de la arquitectura orientada a servicios de las aplicaciones cloud.
El objetivo principal de esta tesis doctoral es por tanto definir y validar empíricamente DIARy, un método de reconfiguración dinámica e incremental de arquitecturas orientadas a servicios. Este método permitirá especificar la integración arquitectónica del incremento con la aplicación cloud actual, y con esta información automatizar la derivación de los artefactos de implementación que faciliten la integración y reconfiguración dinámica de la arquitectura de servicios de la aplicación cloud. Esta reconfiguración dinámica se consigue al ejecutar los artefactos de reconfiguración que no solo despliegan/repliegan los servicios del incremento y servicios de orquestación entre los servicios del incremento con los servicios de la aplicación cloud actual; sino también, cambian en tiempo de ejecución los enlaces entre servicios.
También se ha diseñado e implementado una infraestructura software que soporta las actividades del método propuesto e incluye los siguientes componentes: i) un conjunto de DSLs, con sus respectivos editores gráficos, que permiten describir aspectos relacionados a la integración arquitectónica, implementación y aprovisionamiento de incrementos en entornos cloud; ii) transformaciones que generan modelos de implementación y aprovisionamiento; iii) transformaciones que generan artefactos que implementan la lógica de integración y orquestación de servicios, y scripts de aprovisionamiento, despliegue y reconfiguración dinámica específicos para distintos proveedores cloud.
Esta tesis doctoral contribuye al campo de las arquitecturas orientadas a servicios y en particular a la reconfiguración dinámica de arquitecturas de servicios cloud en contextos de desarrollo iterativo e incremental. El principal aporte es un método bien definido, basado en los principios del desarrollo dirigido por modelos, que facilita elevar el nivel de abstracción y automatizar por medio de transformaciones la generación de artefactos que real / La computació cloud representa un canvi fonamental en la manera en què les organitzacions adquirixen recursos tecnològics (ej., maquinari, entorns de desplegament i execució, aplicacions) ; on, en compte de comprar-los adquirixen accés remot a ells en forma de servicis cloud subministrats a través d'Internet. Entre les principals característiques de la computació cloud els recursos cloud són assignats de manera àgil i elàstica, reservats o alliberats depenent de la demanda dels usuaris o aplicacions, possibilitant el model de pagament basat en mètriques de consum.
El desenrotllament d'aplicacions cloud seguix majoritàriament un enfocament incremental, on l'entrega incremental de funcionalitats al client canvia - o reconfigura - successivament l'arquitectura actual de l'aplicació. Els proveïdors cloud tenen els seus propis estàndards tant per a les tecnologies d'implementació com per als mecanismes de gestió de servicis, requerint-se solucions que faciliten: la construcció, integració i desplegament de servicis portables; la interoperabilitat entre servicis desplegats en diferents proveïdors cloud; i la continuïtat en l'execució de l'aplicació mentres la seua arquitectura és reconfigurada producte de la integració dels successius increments.
Els principis de l'enfocament de desenrotllament dirigit per models, de l'estil arquitectònic d'arquitectures orientades a servicis i de la reconfiguració dinàmica complixen un paper important en este context.
La hipòtesi d'esta tesi doctoral és que els mètodes de desenrotllament dirigit per models brinden als desenvolupadors de servicis cloud mecanismes d'abstracció i automatització per a l'aplicació sistemàtica dels principis de l'enginyeria de models durant el disseny, implementació i desplegament incremental de servicis cloud, facilitant la reconfiguració dinàmica de l'arquitectura orientada a servicis de les aplicacions cloud.
L'objectiu principal d'esta tesi doctoral és per tant de definir i validar empí-ricamente DIARy, un mètode de reconfiguració dinàmica i incremental d'arquitectures orientades a servicis per a aplicacions cloud. Este mètode permetrà especificar la integració arquitectònica de l'increment amb l'aplicació cloud actual, i amb esta informació automatitzar la derivació dels artefactes d'implementació que faciliten la integració i reconfiguració dinàmica de l'arquitectura de servicis de l'aplicació cloud. Esta reconfi-guración dinàmica s'aconseguix a l'executar els artefactes de reconfiguració que no sols despleguen/repleguen els servicis de l'increment i servicis d'orquestració entre els servicis de l'increment amb els servicis de l'aplicació cloud actual; sinó també, canvien en temps d'execució els enllaços entre servicis.
També s'ha dissenyat i implementat una infraestructura programari que suporta les activitats del mètode proposat i inclou els següents components: i) un conjunt de DSLs, amb els seus respectius editors gràfics, que permeten descriure aspectes relacionats a la integració arquitectònica, implementació i aprovisionament en entorns cloud dels increments; ii) transformacions que generen models d'implementació i aprovisionament específics de la plataforma a partir dels models d'integració d'alt nivell; iii) transformacions que generen artefactes que implementen la lògica d'integració i orquestració de servicis, i scripts d'aprovisionament, desplegament i reconfiguració dinàmica específics per a distints proveïdors cloud.
Esta tesi doctoral contribuïx al camp de les arquitectures orientades a servicis i en particular a la reconfiguració dinàmica d'arquitectures de servicis cloud en contextos de desenrotllament iteratiu i incremental. La principal aportació és un mètode ben definit, basat en els principis del desenrotllament dirigit per models, que facilita elevar el nivell d'abstracció i automatitzar per mitjà de transformacions la generació d'artefactes que r / Zuñiga Prieto, MÁ. (2017). Reconfiguración Dinámica e Incremental de Arquitecturas de Servicios Cloud Dirigida por Modelos [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/86288
|
9 |
Rekonfigurovatelná analýza strojového kódu / Retargetable Analysis of Machine CodeKřoustek, Jakub Unknown Date (has links)
Analýza softwaru je metodologie, jejímž účelem je analyzovat chování daného programu. Jednotlivé metody této analýzy je možné využít i v dalších oborech, jako je zpětné inženýrství, migrace kódu apod. V této práci se zaměříme na analýzu strojového kódu, na zjištění nedostatků existujících metod a na návrh metod nových, které umožní rychlou a přesnou rekonfigurovatelnou analýzu kódu (tj. budou nezávislé na konkrétní cílové platformě). Zkoumány budou dva typy analýz - dynamická (tj. analýza za běhu aplikace) a statická (tj. analýza aplikace bez jejího spuštění). Přínos této práce v rámci dynamické analýzy je realizován jako rekonfigurovatelný ladicí nástroj a dále jako dva typy tzv. rekonfigurovatelného translátovaného simulátoru. Přínos v rámci statické analýzy spočívá v navržení a implementování rekonfigurovatelného zpětného překladače, který slouží pro transformaci strojového kódu zpět do vysokoúrovňové reprezentace. Všechny tyto nástroje jsou založeny na nových metodách navržených autorem této práce. Na základě experimentálních výsledků a ohlasů od uživatelů je možné usuzovat, že tyto nástroje jsou plně srovnatelné s existujícími (komerčními) nástroji a nezřídka dosahují i lepších výsledků.
|
Page generated in 0.1222 seconds