Spelling suggestions: "subject:"8oftware architecture."" "subject:"5oftware architecture.""
401 |
Supporting Reuse by Reverse Engineering Software Architecture and Component from Object-Oriented Product Variants and APIs / Support à la réutilisation par la rétro-ingénierie des architectures et des composants logiciels à partir du code source orienté objet des variantes de produits logiciels et d'APIsShatnawi, Anas 29 June 2015 (has links)
La réutilisation est reconnue comme une démarche intéressante pour améliorer la qualité des produits et la productivité des projets logiciels. L'ingénierie des logiciels à base de composants (CBSE en anglais) et l'ingénierie des lignes de produits logiciels (SPLE en anglais) sont considérées parmi les plus importants paradigmes de réutilisation systématique. L'ingénierie à base de composants permet de développer de nouveaux systèmes logiciels par composition de briques préconstruites appelées composants. L'ingénierie des lignes de produits logiciels permet de dériver (construire) de nouveaux produits par simple sélection de leurs caractéristiques (feature en anglais). Cette dérivation est rendue possible grâce à la représentation et à la gestion de la variabilité et de la similarité des produits d'une même famille. Cependant, une des difficultés vers une large adoption de l'ingénierie des logiciels à base de composants et des lignes de produits est le coût à investir pour construire, à partir de rien, les composants et les artefacts de lignes de produits. Dans ce contexte, les travaux de cette thèse proposent de réduire ce coût par une démarche basée sur la rétro-ingénierie.La première contribution de cette thèse consiste à proposer une approche permettant d'identifier, par l'analyse d'un ensemble de variantes d'un produit logiciel orienté objet, les éléments du code source pouvant servir à l'implémentation de composants. Au contraire des approches existantes d'identification de composants basées sur l'analyse d'un seul produit, l'originalité de notre approche consiste en l'analyse de plusieurs variantes de produits en même temps. Notre objectif est l'amélioration de la réutilisabilité des composants extraits. L'évaluation expérimentale menée dans le cadre de cette thèse a montré la pertinence de cette démarche.La deuxième contribution consiste en la proposition d'une approche pour l'extraction d'une architecture à base de composants d'un ensemble de variantes d'un produit logiciel orienté objet. Il s'agit d'identifier la variabilité des composants architecturaux et la configuration architecturale. L'identification de la configuration architecturale est principalement basée sur l'utilisation de l'analyse formelle de concepts pour trouver les dépendances entre les éléments architecturaux. L'expérimentation conduite pour l'évaluation de l'approche proposée confirme la pertinence des éléments identifiés.La troisième contribution de cette thèse permet de restructurer les APIs orientées objet en composants. Nous exploitons la spécificité des classes des APIs d'être conçues pour être utilisées par des applications clientes pour identifier ces composants. Le code source de ces APIs et celui de leurs applications clientes sont analysés afin d'identifier des groupes de classes qui peuvent servir à l'implémentation de composants à extraire. L'identification de ces groupes de classes est basée sur l'analyse des liens structurels entre ces classes et sur la probabilité que ces classes soient utilisées ensemble par les applications clientes. Nous montrons à travers les résultats expérimentaux que la restructuration des API orientées objet en composants facilite la réutilisation et la compréhension des éléments de ces APIs. / It is widely recognized that software quality and productivity can be significantly improved by applying a systematic reuse approach. In this context, Component-Based Software Engineering (CBSE) and Software Product Line Engineering (SPLE) are considered as two important systematic reuse paradigms. CBSE aims at composing software systems based on pre-built software components and SPLE aims at building new products by managing commonalty and variability of a family of similar software. However, building components and SPL artifacts from scratch is a costly task. In this context, our dissertation proposes three contributions to reduce this cost.Firstly, we propose an approach that aims at mining reusable components from a set of similar object-oriented software product variants. The idea is to analyze the commonality and the variability of product variants, in order to identify pieces of code that may form reusable components. Our motivation behind the analysis of several existing product variants is that components mined from these variants are more reusable for the development of new software products than those mined from single ones. The experimental evaluation shows that the reusability of the components mined using our approach is better than those mined from single software.Secondly, we propose an approach that automatically recovers the component-based architecture of a set of object-oriented software product variants. Our contribution is twofold: the identification of the architectural component variability and the identification of the configuration variability. The configuration variability is based on the identification of dependencies between the architectural elements using formal concept analysis. The experimental evaluation shows that our approach is able to identify the architectural variability.Finally, we propose an approach that aims at restructuring object-oriented APIs as component-based ones. This approach exploits specificity of API entities by statically analyzing the source code of both APIs and their software clients to identify groups of API classes that are able to form components. Our assumption is based on the probability of classes to be reused together by API clients on the one hand, and on the structural dependencies between classes on the other hand. The experimental evaluation shows that structuring object-oriented APIs as component-based ones improves the reusability and the understandability of these APIs.
|
402 |
A distributed service delivery platform for automotive environments : enhancing communication capabilities of an M2M service platform for automotive applicationGlaab, Markus January 2018 (has links)
The automotive domain is changing. On the way to more convenient, safe, and efficient vehicles, the role of electronic controllers and particularly software has increased significantly for many years, and vehicles have become software-intensive systems. Furthermore, vehicles are connected to the Internet to enable Advanced Driver Assistance Systems and enhanced In-Vehicle Infotainment functionalities. This widens the automotive software and system landscape beyond the physical vehicle boundaries to presently include as well external backend servers in the cloud. Moreover, the connectivity facilitates new kinds of distributed functionalities, making the vehicle a part of an Intelligent Transportation System (ITS) and thus an important example for a future Internet of Things (IoT). Manufacturers, however, are confronted with the challenging task of integrating these ever-increasing range of functionalities with heterogeneous or even contradictory requirements into a homogenous overall system. This requires new software platforms and architectural approaches. In this regard, the connectivity to fixed side backend systems not only introduces additional challenges, but also enables new approaches for addressing them. The vehicle-to-backend approaches currently emerging are dominated by proprietary solutions, which is in clear contradiction to the requirements of ITS scenarios which call for interoperability within the broad scope of vehicles and manufacturers. Therefore, this research aims at the development and propagation of a new concept of a universal distributed Automotive Service Delivery Platform (ASDP), as enabler for future automotive functionalities, not limited to ITS applications. Since Machine-to-Machine communication (M2M) is considered as a primary building block for the IoT, emergent standards such as the oneM2M service platform are selected as the initial architectural hypothesis for the realisation of an ASDP. Accordingly, this project describes a oneM2M-based ASDP as a reference configuration of the oneM2M service platform for automotive environments. In the research, the general applicability of the oneM2M service platform for the proposed ASDP is shown. However, the research also identifies shortcomings of the current oneM2M platform with respect to the capabilities needed for efficient communication and data exchange policies. It is pointed out that, for example, distributed traffic efficiency or vehicle maintenance functionalities are not efficiently treated by the standard. This may also have negative privacy impacts. Following this analysis, this research proposes novel enhancements to the oneM2M service platform, such as application-data-dependent criteria for data exchange and policy aggregation. The feasibility and advancements of the newly proposed approach are evaluated by means of proof-of-concept implementation and experiments with selected automotive scenarios. The results show the benefits of the proposed enhancements for a oneM2M-based ASDP, without neglecting to indicate their advantages for other domains of the oneM2M landscape where they could be applied as well.
|
403 |
Erosão arquitetural em perspectiva: um estudo sobre as regras arquiteturais, suas violações e como os desenvolvedores lidam com o problema. / Architectural Erosion in perspective: A study of architectural rules, their violations, and how developers deal with the problem.MONTEIRO, João Arthur Brunet. 07 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-07T18:35:53Z
No. of bitstreams: 1
JOÃO ARTHUR BRUNET MONTEIRO - TESE PPGCC 2014..pdf: 21469240 bytes, checksum: 4f74671ebb2128d0de8efc9a34c7ffeb (MD5) / Made available in DSpace on 2018-08-07T18:35:53Z (GMT). No. of bitstreams: 1
JOÃO ARTHUR BRUNET MONTEIRO - TESE PPGCC 2014..pdf: 21469240 bytes, checksum: 4f74671ebb2128d0de8efc9a34c7ffeb (MD5)
Previous issue date: 2014-07-11 / Erosão arquitetural é o processo de degradação da estrutura do software à medida em que se dá a sua evolução. Embora alguns trabalhos nessa área tenham apresentado exemplos de desvio entre a arquitetura planejada e a implementação do software em um momento específico do seu ciclo de vida, pouco se sabe a respeito dessa relação sob uma perspectiva evolutiva, isto é, como se dá esse distanciamento à medida em que o software evolui. Além disso, as abordagens propostas para verificação de conformidade apontam que o número de violações arquiteturais é tipicamente alto. No entanto, não há conhecimento a respeito da relevância dessas violações arquiteturais e como os desenvolvedores lidam com o problema durante o desenvolvimento do software. Esta tese apresenta três estudos empíricos cujo objetivo é aumentar o conhecimento sobre erosão arquitetural e como os desenvolvedores lidam com violações arquiteturais. Como resultado, em um primeiro estudo com quatro sistemas open source, foi possível demonstrar empiricamente o processo de erosão arquitetural em uma perspectiva evolutiva, além de demonstrar que poucas entidades de design são responsáveis
pela maioria das violações arquiteturais. Além disso, através de uma análise quantitativa
e qualitativa em 3 sistemas (Eclipse, BeeFS e epol), realizou-se i) uma caracterização
de regras arquiteturais, ii) um estudo sobre a relevância das violações arquiteturais nesses sistemas e, iii) uma caracterização dos motivos que levam os desenvolvedores a cometerem violações arquiteturais. Por fim. com o intuito de entender a comunicação sobre aspectos de design/arquitetura em projetos open source, através da análise de dados de 77 sistemas, foi identificado que 25% das discussões em projetos mencionam algum aspecto de design e que poucos desenvolvedores contribuem para um espectro amplo de discussões. Esses poucos desenvolvedores são os que mais contribuem para o código projeto, isto é, há uma forte correlação entre commits e a quantidade de discussões que um desenvolvedor participa. / Architectural erosion is the progressive lack of software structure over time. Previous studies on this subject concentrate on presenting conformance checking techniques and tools, and how effective they are in a single version of systems under analysis. However, fitere are still open research questions regarding the evolutionär)' nature of architectural violations. Besides that, little is known about the relevance of architectural violations and their impact on software development activities. This thesis describes three empirical studies performed to expand the current knowledge about architectural erosion phenomenon and how developers deal with architectural violations. As a result, in a first exploratory study with four open source systems, besides providing empirical data that shows the architectural erosion phenomenon in an evolutionary perspective, it is also demonstrated that few entities are responsible for the majority of architectural violations. Besides that, through quantitative and qualitative analysis in three systems (Eclipse. BeeFS and epol). this thesis presents: ij a characterization of architectural rules used in practice, ii) a study on the relevance of architectural violations of such systems, and iii) a characterization of the causes of architectural violations. At last, to provide knowledge on how developers conduct discussions about design/architectural aspects, this thesis presents an analysis on 77 open source systems which shows that on average 25% of the discussions in a project mention some design aspect and that very few developers contribute to a broader range of design discussions.
|
404 |
SAMOA - Sistema de Apoio à Modelagem Orientada a Objetos de Aplicações. / SAMOA - Application Object Oriented Modeling Support System.SILVA, Edemberg Rocha da. 17 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-17T14:18:41Z
No. of bitstreams: 1
EDEMBERG ROCHA DA SILVA - DISSERTAÇÃO PPGCC 2003..pdf: 1169743 bytes, checksum: 2feda912b0a385f167ab5d5d55ea5a71 (MD5) / Made available in DSpace on 2018-08-17T14:18:41Z (GMT). No. of bitstreams: 1
EDEMBERG ROCHA DA SILVA - DISSERTAÇÃO PPGCC 2003..pdf: 1169743 bytes, checksum: 2feda912b0a385f167ab5d5d55ea5a71 (MD5)
Previous issue date: 2003-12-22 / Capes / Padrões de projeto são considerados uma das mais valiosas tecnologias para produzir software de qualidade. Uma técnica para melhorar o uso de padrões é identificar suas realizações e inferir um conhecimento para melhorá-las. Esta tarefa de encontrar todas as realizações de padrões em um projeto caracteriza-se por ser tediosa para o engenheiro de software. Nessa dissertação apresentamos um sistema assistente para programadores e arquitetos de software, chamado SAMOA (Sistema de Apoio a Modelagem Orientada a Objetos de Aplicações). Este sistema é um assistente interativo para automatizar o trabalho de detecção de realizações de padrões de projetos. Basicamente, o SAMOA é capaz de automaticamente (i) encontrar padrões aplicados em diagramas de classes UML e em fontes JAVA; (ii) produzir possíveis criticas sobre esses padrões. Depois que esses são detectados, um conjunto de críticas de projetos são verificadas para testar se a realização dos padrões pode ser melhorada. E (iii) instanciar padrões visando à geração de código do mesmo, na linguagem de programação Java. Foi implementado um
protótipo do sistema que realiza as atividades (i) e (iii). Abordamos, também,
quais diferenciais nosso sistema tem em relação aos demais existentes / Design patterns are considered one of the most valuable technologies to
produce quality software. A technique to improve the use of patterns is to
identify their realizations and to induce a knowlege to enhance their use. This
work to find all pattern realizations in a software design can be tedious for the
software engineer. In this dissertation we show an assistant system for
programmers and software architets, called SAMOA (Sistema de Apoio a
Modelagem Orientada a Objetos de Aplicações). This system is an interactive
assistant to automate the work of detection of the realizations of design
patterns. On principle, SAMOA is able to automatically (i) find patterns applied
in UML diagrams and in JAVA;sources (ii) make critiques about these patterns.
If a pattern has been detected, a set of design critiques are verified to test if the
realization of the pattern can be improved. And (iii) instanciate patterns to aim
an automatic code generation in the JAVA programming language. We have
implemented a prototype of the system that realizes activities (i) and (iii). We
also discuss , wich properties differentiate our system from existing others.
|
405 |
[en] ON THE MODULARITY OF ASPECT-ORIENTED DESIGN: A CONCERN-DRIVEN MEASUREMENT APPROACH / [pt] MODULARIDADE DE DESIGN ORIENTADO A ASPECTOS: UMA ABORDAGEM DE MEDIÇÃO DIRIGIDA POR INTERESSESCLAUDIO NOGUEIRA SANTANNA 08 February 2017 (has links)
[pt] Muitos problemas de modularidade de design de software estão relacionados à modularização inadequada de interesses importantes e que têm impacto sistêmico no design, tais como tratamento de exceção, distribuição e persistência. No entanto, a maioria das abordagens atuais de avaliação quantitativas não levam em conta os interesses que guiam o design, o que acaba fazendo com que o processo de avaliação de modularidade se torne deficiente. Portanto, existe a necessidade de abordagens de medição que promovam uma identificação mais efetiva dos problemas de modularidade relacionados a interesses transversais. Além disso, essa necessidade se torna ainda mais evidente à medida que surgem novas formas de decomposição de design, tais como desenvolvimento de software orientado a aspectos. Nesse contexto, essa tese tem o objetivo de definir e investigar uma nova abordagem de avaliação quantitativa de modularidade de design de software que promove o conceito de interesse a uma abstração de medição. Esse trabalho define uma abordagem de medição dirigida por interesse que inclui um conjunto de mecanismos para avaliação de modularidade de software desde o design arquitetural até o design detalhado. A abordagem sensível a interesse proposta é composta por: (i) um conjunto de métricas arquiteturais, (ii) um conjunto de métricas de design detalhado, (iii) um conjunto de regras heurísticas de design que dão apoio a interpretação das métricas, e (iv) uma ferramenta, chamada de COMET, que dá apoio tanto à notação quanto à medição dirigida por interesses de design arquitetural. A utilidade da técnica de medição dirigida por interesses proposta foi avaliada em uma série de estudos empíricos, onde a modularidade de designs convencionais e orientados a aspectos foram comparados. / [en] Several modularity problems in software designs are related to the inadequate modularization of key broadly-scoped concerns, such as exception handling, distribution, and persistence. However, most of the current quantitative assessment aproaches are not sensitive to concerns that drive the design, thereby leading to a number of shortcomings in the modularity evaluation process. Therefore, there is a need for measurement approaches that support a more effective identification of modularity anomalies related to crosscutting concerns. Also, this necessity becomes more apparent in an age that a number of different fomrs of design decompositions, such as aspect-oriented software development, are emerging. In this context, this thesis aims at investigating a novel approach for quantittative modularity assessment of software design by promoting the concept of concern as a measurement abstraction. Our concern-driven measurement approach encompasses a set of mechanisms for assessing software modularity from architectural to detailed design. The prposed concern-sensitive approach includes:(i) a suite of architectural metrics, (ii) a suite of detailed design metrics, (iii) a suite of design heuristic rules for supporting the interpretation of metrics in meaningful ways, and (iv) a tool, called COMET, that supports bots concern-drive notation and measurement of architectual designs. We evaluated the usefulness of our concern-oriented measurement techinique in a series of emprical studies, comparing the modularity of conventional and aspect-oriented software design.
|
406 |
Uma infra-estrutura para o desenvolvimento de aplicações corporativas com suporte à Evolução Dinâmica e Não Antecipada. / An infrastructure for the development of enterprise applications supporting the Dynamic and Non-Early Evolution.PEREIRA, Marcos Fábio. 29 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-29T17:29:04Z
No. of bitstreams: 1
MARCOS FÁBIO PEREIRA - DISSERTAÇÃO PPGCC 2009..pdf: 1188660 bytes, checksum: 5038133be1ae4622c35b2e3720504775 (MD5) / Made available in DSpace on 2018-08-29T17:29:04Z (GMT). No. of bitstreams: 1
MARCOS FÁBIO PEREIRA - DISSERTAÇÃO PPGCC 2009..pdf: 1188660 bytes, checksum: 5038133be1ae4622c35b2e3720504775 (MD5)
Previous issue date: 2009-08-23 / Aplicações corporativas têm como principal finalidade auxiliar nas atividades dos diversos
setores de uma corporação. Atualmente existe uma grande necessidade por este tipo de
aplicação e este número tende a aumentar com o surgimento de novas corporações, além
do crescimento das já existentes. Do ponto de vista da Engenharia de Software, uma característica importante destas aplicações é o conjunto comum de requisitos não funcionais que apresentam. Aplicações corporativas devem prover, em geral: distribuição, facilitar a escalabilidade do software; balanceamento de carga e tolerância a falhas, para garantir robustez e alta disponibilidade; segurança, para garantir a proteção dos dados da corporação; serviços transacionais, para garantir a consistência dos dados e nas operações sobre eles; dentre outras funcionalidades. Além destes requisitos, tais aplicações precisam lidar com mudanças constantes nas regras de negócio das corporações. Dada a complexidade das aplicações, tais alterações, em geral, não podem ser previstas em tempo de projeto e normalmente afetam pontos do software que não foram preparados para mudanças. Além disto, durante esta alteração, muitas vezes a aplicação corporativa precisa ser mantida em execução para evitar perdas para a corporação. Sendo assim,tem-se como requisito primordial a possibilidade de evolução nas aplicações de forma dinâmica e não antecipada. Neste trabalho apresenta-se
uma infra-estrutura para o desenvolvimento de aplicações corporativas que oferece o suporte à evolução dinâmica e não antecipada. Esta infra-estrutura é uma extensão de um modelo de componentes que oferece suporte nativo à evolução dinâmica e não antecipada, tornando a tarefa de evolução mais eficaz que em soluções já existentes. A validação do trabalho foi realizada através do desenvolvimento de aplicações corporativas a partir da infra-estrutura proposta.
|
407 |
Um processo para monitoração de requisitos de qualidade de software utilizando informações arquiteturais / A process for monitoring software quality requirements using architectural informationMenezes, Suzy Kamylla de Oliveira 16 December 2016 (has links)
Advances in building computer systems allowed the development of increasingly sophisticated software. In this context, software developers are faced with complex problems that can be difficult to resolve. One of the fundamental steps to build a software is to define its main features, that is, define the requirements that can be satisfied, which is not an easy task. Typically, requirements are classified as functional and non-functional. The non-functional requirements define system’s properties or how it should operate. They are also called quality requirements, since they are important to ensure that the system is feasible to use and meets the needs of users. Despite their importance, they are difficult to assess and be measured in order to generate evidence of its full service. One reason for this difficulty is the need to evaluate the software at run-time, which is a complex task
that involves large volumes of data to be analyzed. This work aims to systematize and facilitate the monitoring of quality requirements from characteristics of architectural styles used in the software architecture design. In this sense, the research question that guided this study was “how to monitor and analyse quality requirements for a software system”. On that basis, it was proposed a process, called ArMoni, for monitoring quality requirements using architectural information, such as architectural styles. To assess the practical use of the proposed process, an evaluation experiment with students from the Computer Science course was performed. Students performed the monitoring of a real application called Falibras. This target system performs online text translation from Portuguese to the Brazilian Sign Language (Libras). Through the experiment, it was observed that the students considered the proposed process feasible to direct monitoring decisions. On the
other hand, students who did not have access to the proposed process and do not know the architecture of Falibras have related more difficult to analyze the system. Thus, we have realized that it is important for the software developer to have guidelines that assist him/her in understanding the relevant quality requirements for the software that is being monitored, such as a processes that address the monitoring of these requirements. Preliminary results indicate that the ArMoni process contributes to guide the monitoring and analysis of the system based on architectural information, such as the architectural styles and we have noticed that it benefits mainly less experienced developers. Thus, this work presents academic relevance in software engineering and can assist developers and software engineers to monitor quality requirements, such as reliability and efficiency, as well as to identify possible structural bottlenecks that could compromise the satisfaction
of these requirements. / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Os avanços na construção de sistemas computacionais possibilitaram que sistemas cada vez mais sofisticados surgissem. Nesse contexto, os desenvolvedores de software deparam-se com problemas complexos que podem ser difíceis de solucionar. Um dos passos fundamentais ao construir um software é definir as principais características dele, isto é, definir os requisitos. Contudo, nem sempre é trivial definir quais são esses requisitos. Normalmente, os requisitos são classificados como funcionais e não-funcionais. Os requisitos não-funcionais definem propriedades do sistema ou como esse deve operar. Eles também são chamados de requisitos de qualidade, pois são importantes para garantir que o sistema seja viável para uso e atenda às necessidades dos usuários. Apesar da sua importância, eles são difíceis de serem avaliados e mensurados de forma a gerar evidências do seu pleno atendimento. Uma das razões para essa dificuldade é a necessidade de se avaliar o software em tempo de execução, o que é uma tarefa complexa que envolve grandes volumes de dados a serem analisados. O objetivo dessa dissertação é sistematizar e viabilizar a monitoração de requisitos de qualidade a partir de características dos estilos arquiteturais utilizados no projeto da arquitetura de software. Nesse sentido, a questão de pesquisa que direcionou esse estudo foi “como monitorar e analisar requisitos de qualidade em um sistema de software”. Com base nisso, foi proposto um processo de monitoração de requisitos de qualidade utilizando informações arquiteturais, tais como estilos arquiteturais, denominado ArMoni. Para avaliar a utilização prática do referido processo foi realizado um experimento avaliativo com alunos do curso de Ciência da Computação. Os alunos realizaram a monitoração de uma aplicação real denominada Falibras. Esse sistema realiza tradução online de textos em língua portuguesa para a Língua Brasileira de Sinais (LIBRAS). Através do experimento, foi possível perceber que os alunos consideraram o processo proposto viável para direcionar as decisões de monitoração. Por outro lado, os alunos que não tiveram acesso ao processo proposto e não conheciam a arquitetura do Projeto Falibras sentiram mais dificuldades para analisar o sistema. Desse modo, é importante para o(a) desenvolvedor(a) de software ter recursos que o(a) auxiliem na compreensão dos requisitos de qualidade relevantes para o software que está sendo monitorado, bem como processos que direcionem a monitoração desses requisitos. Os resultados preliminares apontam que o processo ArMoni contribui para guiar a monitoração e analisar os requisitos de qualidade a partir de informações arquiteturais, tais como os estilos arquiteturais que compõem o sistema e nota-se que ele beneficia principalmente desenvolvedores menos experientes. Assim, essa dissertação apresenta relevância acadêmica na área de engenharia de software e poderá auxiliar desenvolvedores(as) e engenheiros(as) de software a monitorar requisitos de qualidade, tais como confiabilidade e eficiência, além de identificar possíveis gargalos estruturais que podem comprometer a satisfação desses requisitos.
|
408 |
An investigation into the application of systematic software reuse in a project-centric organisationChapman, Mark Jonathon 31 January 2007 (has links)
The software development continues to become more competitive and demanding, placing pressure on developers. Changes in the international political climate have resulted in shrinking military budgets, putting developers of defence software under further pressure. At present, systematic reuse is probably the most realistic way of addressing this pressure by improving software development productivity and quality. Software product line (SPL) engineering provides a comprehensive approach to systematic software reuse and is becoming widely accepted.
The focus of this interpretive case study was ground station software development in a small multidisciplinary project-centric company which produces avionics systems for military aircraft. The purpose of the study was to investigate the potential implementation of systematic software reuse in the company.
The study consisted of three phases, a literature study, a contextualisation and a set of field interviews, and used elements of the Carnegie-Mellon Software Engineering Institute (SEI) Product Line Practice Framework to examine the suitability of SPL engineering for the company.
The findings of the study highlight the potential challenges that SPL engineering poses for the company, and emphasise how the company's project-centric structure could impede its implementation of systematic software reuse. / Computing / M.Sc. (Information Systems)
|
409 |
[en] ENGINEERING SELF-ORGANIZING EMERGENT MULTI-AGENT SYSTEMS: A DESIGN METHOD AND ARCHITECTURE / [pt] ENGENHARIA DE SISTEMAS MULTI-AGENTES AUTO- ORGANIZÁVEIS: UM MÉTODO DE PROJETO E ARQUITETURAMAIRA ATHANAZIO CERQUEIRA GATTI 24 September 2010 (has links)
[pt] Arquitetos de software utilizam cada vez mais mecanismos de auto-
organização para projetar sistemas distribuídos em um ambiente dinâmico,
com ruído e imprevisível. Neste cenário, além de não existir uma entidade
centralizadora que possua o conhecimento completo do estado do ambi-
ente como um todo, mecanismos de auto-organização são principalmente
inspirados pela natureza e permitem o comportamento com controle de-
scentralizado. Existem duas linhas de pesquisa que direcionam esta tese:
a primeira, como é o caso de qualquer paradigma de engenharia de soft-
ware, o sucesso e abrangência de uso de sistemas auto-organizáveis requerem
notações que exploram o uso de abstrações relacionadas a auto-organização
e promovam a rastreabilidade a partir de modelos de projeto à código, e re-
querem métodos de engenharia para prover know-how e guiar um engenheiro
durante o projeto da aplicação. A segunda linha de pesquisa foca no incen-
tivo do reuso de software em sistemas auto-organizáveis. Os objetivos desta
tese são: prover um método de engenharia baseado em simulação para apoiar
o projeto, desenvolvimento, simulação, validação e refinamento de sistemas
multi-agentes auto-organizáveis; e prover uma arquitetura baseada em sim-
ulação. Um projeto arquitetural ajuda no desenvolvimento de uma estrutura
de programa modular e na representação dos relacionamentos de controle
entre módulos e encoraja o engenheiro de software a se concentrar no pro-
jeto arquitetural antes de se preocupar com otimizações e código. Esta tese
apresenta: um ciclo de vida de desenvolvimento iterativo baseado no Pro-
cesso Unificado, SSOA - uma arquitetura de auto-organização baseada em
simulação, e o framework que implementa a arquitetura. O método de pro-
jeto e a arquitetura foram avaliados através de três domínios de aplicação
diferentes: veículos guiados automatizados, contratos que governam sistemas
multi-agentes emergentes, e modelagem computacional do comportamento
de células-tronco. / [en] Software architects are increasingly relying on self-organizing mechanisms to
design distributed systems within a dynamic, noisy and unpredictable envi-
ronment. At any point in time, no centralized entity has complete knowledge
of the state of the environment as a whole and self-organizing mechanisms
are mainly naturally-inspired which enables the decentralized control. There
are two tracks that drive the research in this thesis: first, as it is the case
with any new software engineering paradigm, the successful and widespread
deployment of self-organizing systems require notations that explore the use
of self-organizing related abstractions and promote the traceability from the
design models to code, and engineering methods that provides know-how
and guides an engineer during an application design. The second research
track is to promote software reuse of self-organizing systems. This thesis’s
goals are: to provide a simulation-based engineering method to support the
design, development, simulation, validation and refinement of self-organizing
multi-agent systems; and to provide a simulation-based architecture. An ar-
chitectural design helps on the development of a modular program structure
and on the representation of the control relationships between modules and
encourages the software engineer to concentrate on architectural design be-
fore worrying about optimizations or code. We present: an iterative develop-
ment life-cycle based on a customization of the Unified Process, the SSOA
– Simulation-based Self-Organizing Architecture –, and the framework that
implements the architecture. We have evaluated the design method and ar-
chitecture using three different application domains: the automated guided
vehicles, the contracts that govern emergent multi-agent systems, and the
stem cell behavior computational modeling.
|
410 |
[en] FROM A CONCEPTUAL FRAMEWORK FOR AGENTS AND OBJECTS TO A MULTI-AGENT SYSTEM MODELING LANGUAGE / [pt] UMA LINGUAGEM DE MODELAGEM PARA SISTEMAS MULTI-AGENTES BASEADA EM UM FRAMEWORK CONCEITUAL PARA AGENTES E OBJETOSVIVIANE TORRES DA SILVA 15 July 2004 (has links)
[pt] Como um novo e poderoso paradigma para modelagem e
implementação de
sistemas de software, os sistemas multiagentes necessitam
de metodologias,
linguagens de modelagem, plataformas de desenvolvimento e
linguagens de
programação que explorem seus benefícios e características
particulares. Contudo,
diferentes metodologias, linguagens e plataformas para
sistemas multiagentes
propõem abstrações variadas e com definições muito
diferentes. Nesse contexto, é
necessário criar frameworks conceituais que definam as
abstrações, seus
relacionamentos e seus comportamentos.
Como em qualquer novo paradigma para engenharia de
software, o sucesso
e a difusão de sistemas multiagentes requerem, entre outras
tecnologias de
software baseadas em agentes, linguagens de modelagem que
explorem o uso de
abstrações relacionadas a agentes e promovam o refinamento
dos modelos de
design para código.
Esta tese contempla a definição de um framework conceitual
para sistemas
multiagentes chamado TAO e uma linguagem de modelagem para
sistemas
multiagentes chamada MAS-ML. Os objetivos desta tese são
descrever os
aspectos estáticos e dinâmicos das abstrações
freqüentemente utilizadas em
sistemas multiagentes definindo um framework conceitual,
propor uma linguagem
de modelagem que descreva diagramas estáticos e dinâmicos
para modelar esses
aspectos e descrever o refinamento dos modelos estáticos
para código. / [en] As a powerful and new paradigm for designing and
implementing software
systems, multi-agent systems require methodologies,
modeling languages,
development platforms and programming languages that
explore their benefits and
their peculiar characteristics. However, different
methodologies, languages and
platforms for multi-agent systems propose very distinct and
varied sets of
abstraction. In this context, there is a need for creating
a conceptual framework
that defines the frequently used multi-agent system
abstractions, their
relationships and their behavior.
As it is the case with any new software engineering
paradigm, the successful
and widespread deployment of multi-agent systems require
modeling languages,
among other agent-based software technologies, that explore
the use of agentrelated
abstractions and promote the traceability from the design
models to code.
This thesis contemplates the definition of a multi-agent
system conceptual
framework called TAO and of a multi-agent system modeling
language called
MAS-ML. Our goals are to describe the structural and
dynamic aspects of the
abstractions commonly used in multi-agent systems by
defining a conceptual
framework, to propose a modeling language that describes
structural and dynamic
diagrams to model such aspects and to present the
traceability from the structural
models into code.
|
Page generated in 0.0511 seconds