487 research outputs found

    Evolução de software baseada em avaliação de Arquitetura de Software

    Get PDF
    Este trabalho discorre sobre o estudo da utilização do método de avaliação ATAM como referência para evolução arquitetural de um sistema legado. O estudo apresentado está dividido em duas partes: a elaboração de um roteiro para evolução de software e a aplicação do roteiro em um ambiente real de um sistema para automação de linhas aéreas. Um dos objetivos é aplicar a correlação entre a evolução arquitetural e os requisitos não-funcionais. As decisões arquiteturais para a evolução do software são tomadas com base nas evidências obtidas na avaliação arquitetural realizada a partir dos atributos de qualidade estabelecidos como meta.Presentado en el VIII Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    A software infrastructure to support component based software architecture construction

    Get PDF
    Orientador: Cecilia Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Os paradigmas de arquitetura de software e de desenvolvimento baseado em componentes (DBC) são abordagens complementares para o desenvolvimento de sistemas de software. O DBC se baseia na construção de sistemas através da integração de componentes de software reutilizáveis. A arquitetura de software auxilia na forma como estes componentes são integrados levando em consideração atributos de qualidade, tais como confiabilidade e distribuição. Entretanto, observa-se atualmente a falta de consenso entre os conceitos, termos e definições utilizados nas abordagens de arquitetura de software e de DBC, dificultando a integração das respectivas técnicas e ferramentas. As ferramentas e ambientes atuais para descrição de arquiteturas de software não apóiam todas as fases dos processos de DBC, normalmente não geram implementações das arquiteturas e não implementam conceitos importantes de DBC, tais como especificações de interfaces providas e requeridas. Por outro lado, ferramentas e ambientes DBC atuais, em geral, são baseados em modelagem UML e não englobam todos os conceitos presentes em arquitetura de software, tais como estilos arquiteturais e uso explícito de conectores. Este trabalho apresenta uma infra-estrutura de software para construção de arquiteturas de software baseadas em componentes, composta por um conjunto de ferramentas que estentem o ambiente integrado de desenvolvimento Eclipse. As ferramentas foram construídas sobre um metamodelo conceitual integrado para arquitetura de software e DBC, que define e relaciona os conceitos existentes nas duas abordagens. Esta infra- estrutura faz parte do ambiente Bellatrix, um ambiente integrado de desenvolvimento que oferece apoio ao DBC com ênfase na arquitetura de software. As ferramentas apóiam a construção de arquiteturas de software baseadas em componentes desde a sua especificação, passando pelo seu projeto até a sua materialização em forma de código. O modelo de componentes utilizado é o COSMOS, um modelo de implementação de componentes que materializa os conceitos de arquiteturas de software em uma linguagem de programação. No caso do ambiente Bellatrix, a linguagem de programação adotada é JavaAbstract: Component-based development (CBD) and architecture-centric development are two complementary approaches for developing software systems. CBD is based on the construction of systems using the integration of reusable software components. Software architecture centric development complements the CBD paradigm because it is responsible for the component integration, achieving the final system's desired quality requirements, such as dependability and distribution. However, there is a lack of consensus among the concepts, terms, and definitions used in the software architecture and CBD paradigms, hindering the integration of techniques and tools. Existing software architecture environments and tools do not support all the phases involved in CBD process, normally do not generate architecture implementations and do not implement the main CBD concepts, e.g. specification of provided and required interfaces. CBD tools and environments, in general, use UML modeling and do not cover the main software architecture concepts, e.g. architectural styles and architectural connectors. In this work, we propose a software infrastructure to construct component-based software architectures. It has been built as a set of tools that extend the Eclipse integrated development environment. These tools were constructed based on an integrated conceptual metamodel for software architectures and CBD. This metamodel defines and relates the main concepts of the two paradigms. The infrastructure is included in the Bellatix environment, an integrated development environment that supports CBD with emphasis on software architecture. The tools support the construction of component-based software architectures since the specification phase, through the design, until its materialization in code. The component model used is COSMOS, a component implementation model that materializes the elements of a software architecture using the concepts available in object-oriented programming languages. In Bellatix environment, the adopted programming language is JavaMestradoSistemas de InformaçãoMestre em Ciência da Computaçã

    NGM2M

    Get PDF
    Todos os indicadores apontam para um crescimento exponencial das comunicações máquina-a-máquina. A utilização da informação de uma panóplia de sensores, associada ao uso dos mais diversos atuadores, permite a criação de um mundo novo de aplicações que abrange os mais distintos sectores de atividade. Os ganhos operacionais, a economia de custos e a reinvenção de processos são alguns dos fatores-chave que contribuirão para a adoção deste novo paradigma. Atentos a este mercado, os operadores de telecomunicações multiplicam-se atualmente em iniciativas e estratégias para se posicionarem de forma mais abrangente na cadeira de valor, com o objectivo de suportar novos serviços diferenciadores que vão muito para além da simples disponibilização de conectividade. Este artigo visa a apresentação da arquitetura de uma plataforma horizontal de criação e disponibilização de serviços M2M, definida tendo por base os objetivos dos projetos Apollo e IoT.est, colmatando o fosso existente entre os diversos serviços e a heterogeneidade de redes e dispositivos, estimulando assim a criação de novos negócios

    Evolution of component and aspect-based product line architectures

    Get PDF
    Orientador: Cecília Mary Fischer RubiraTese (doutorado) ¿ Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Arquiteturas de linhas de produtos são essenciais para facilitar a evolução das linhas, pois ajudam a lidar com sua complexidade, abstraindo seus detalhes de implementação. A variabilidade arquitetural difere arquiteturas de linhas de produtos de arquiteturas de sistemas únicos. Ela reflete a existência de alternativas de projeto arquitetural e é expressa por meio de um conjunto de pontos de variação e variantes arquiteturais. A variabilidade arquitetural pode dificultar a evolução de arquiteturas de linhas produtos, pois a implementação da variabilidade software pode aumentar a complexidade da arquitetura com a possível adição de elementos e dependências extras. A variabilidade de linhas de produtos é usualmente capturada modelo de características e implementado pela arquitetura de linha de produtos. Entretanto, a implementação de características, pontos de variação e variantes podem estar espalhados por diversos elementos arquiteturais, o que dificulta a sua evolução. Em geral, cenários de evolução de linhas de produto envolvem adição e/ou remoção de características, mudança de uma característica obrigatória para opcional, entre outros. Quando cenários de evolução afetam características cujas implementações estão espalhadas na arquitetura, eles podem causar impacto de mudança em vários elementos arquiteturais. Estudos recentes exploram o uso de aspectos para modularizar a implementação de características em arquiteturas de linhas de produtos. Aspectos são usados para modularizar interesses transversais que, no contexto de linhas de produtos, são interesses que afetam diversas características. Contudo, esses estudos não consideram (i) arquiteturas componentizadas com interfaces explícitas e (ii) o uso integrado de componentes e aspectos para modularizar a implementação da variabilidade arquitetural. Idealmente aspectos devem ser modelados o mais cedo possível, de preferência, junto com o modelo de características para possibilitar a criação de arquiteturas bem estruturadas com aspectos. Todavia, não existem modelos que integrem o modelo de características e aspectos, nem métodos que consideram aspectos para gerar arquiteturas de linhas produtos a partir do modelo de características. A solução proposta nesta tese envolve inicialmente um estudo comparativo para mostrar a facilidade de evolução de arquiteturas de linhas de produtos propiciada pelo uso integrado de componentes e aspectos. Em seguida, é proposta uma visão estendida do modelo de características que permite representar características transversais. Essa visão, chamada de visão de características orientada a aspectos, é usada para criar arquiteturas de linhas de produtos orientadas a aspectos. Além disso, um modelo arquitetural de componentes é estendido para integrar aspectos para modularizar a variabilidade arquitetural. Por fim, o método FArM, que provê o mapeamento de modelo de características para modelos de arquitetura de linha de produtos, é estendido para considerar características transversais. Foram conduzidos dois estudos empíricos: um para avaliar se o uso integrado de componentes e aspectos facilita ou não a evolução de arquiteturas de linhas de produtos. O outro estudo empírico avalia a modelagem de características transversais e a extensão do método FArM propostos para projetar arquiteturas de linhas de produtos que sejam fáceis de evoluir. Os dois estudos apresentaram resultados promissores indicando que a solução proposta nesta tese facilita a evolução de arquiteturas de linhas de produtosAbstract: Product line architectures are essential to facilitate the evolution of product lines, as they handle their complexity by abstracting implementation details. Architectural variability is what differs product line architectures from single system architectures. It reflects the existence of alternative design options and it is expressed by a set of architectural variation points and variants. Architectural variability can hinder product line architecture evolution because the implementation of software variability can increase architecture complexity by possibly adding extra elements and dependencies. Product line variability is usually captured in the feature model and it is implemented by product line architectures. However, the implementation of features, variation points, and variants may be scattered over architectural elements, which can hinder its evolution. In general, product line evolution scenarios involve feature addition/removal, changing a mandatory feature to an optional feature, and so forth. When evolution scenarios affect features whose implementations are scattered over architecture, they can cause a great change impact on several architectural elements. Recent studies have explored the use of aspects to modularize feature implementation in product line architectures. Aspects can modularize crosscutting concerns, which, in the context of product lines, are concerns that affect several features. Nevertheless, these studies do not consider (i) componentized architectures with explicit interfaces, and (ii) the integration of aspects and components to modularize the implementation of architectural variability. Ideally, aspects should be modeled as soon as possible, preferably, together with the feature model in order to enable the design of well structured product line architectures with aspects. However, there are neither models which integrate features and aspects, nor methods that considers aspects to design product line architectures from the feature model. The solution proposed in this thesis involves a comparative study that presents the support for product line architecture evolution provided by the integration of components and aspects. Then, it is proposed an extended view of the feature model which enables to represent crosscutting features. This view, called aspect-oriented feature view, is used to design product line architectures with aspects. Lastly, the FArM method, which provides guidelines to map from the feature model to the product line architecture model, is extended to consider crosscutting features. Two empirical studies were conducted: one to assess whether the integration of components and aspects facilitates product line architecture evolution. The other empirical study evaluates whether the crosscutting feature modeling and the FArM method extension proposed supports the design of evolvable product line architectures. Both studies presented promising results which indicate that the solution proposed in this thesis facilitates product line architecture evolutionDoutoradoCiência da ComputaçãoDoutor em Ciência da Computaçã

    Uma arquitetura de referência para sistemas de informação e portais de serviços de governo eletrônico

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia de Produção.A demanda por sistemas de software que tornem os serviços públicos acessíveis e transparentes aos cidadãos tem levado governos a investir na construção de Sistemas de Informação e Portais de Serviços. Nossa proposta é definir uma arquitetura de software de referência voltada aos requisitos das aplicações de governo, cujos processos de desenvolvimento estejam baseados em uma estrutura que permita acelerar a produção de tais aplicações a um custo mais baixo e com ganhos na qualidade final. A fim de validar a arquitetura, faz-se uma aplicação à Plataforma Lattes. Como resultado, é desenvolvida uma tecnologia de plug-ins que habilita a inclusão dinâmica de recursos de uma maneira contínua e descentralizada, a qual relativamente promove redução de custos e aumento da qualidade. Recursos como CV-Resume, CV-Perfil e outros foram agregados com sucesso por meio dessa arquitetura

    dySMS.config Model Driven Development

    Get PDF
    A empresa DigitalWind, com intuito de fazer face às necessidades de reconversão do seu sistema legado de software - UEBE.Q - promoveu a criação de um projeto de I&D em parceria com o ISEP. Deste projeto, designado dySMS, resultou, entre outras coisas, a criação de um conjunto de componentes de software que permitem agilizar o referido processo de reconversão. Associado aos referidos componentes de software existe um grande volume de dados de configuração que permitem a adaptação do funcionamento do software às problemáticas inerentes de um projeto desta natureza. Uma vez que é necessária a manipulação frequente dos referidos dados de configuração, por utilizadores que não necessitam de possuir grandes conhecimentos técnicos e que a linguagem utilizada para os codificar é de baixo nível, esta tarefa revelou-se muito morosa e propensa a erros. O presente trabalho, realizado no âmbito da Dissertação de Mestrado em Engenharia Informática - área de especialização de Engenharia de Software, do Instituto Superior de Engenharia do Porto (ISEP), documenta o processo de investigação e desenvolvimento, que suportou a criação do componente de configuração do referido sistema de software. Para suportar a realização do referido projeto foi adotada uma abordagem orientada a modelos. Foi dada grande enfase à criação de linguagens de domínio específico, que promovem uma elevação do nível de abstração dos conceitos necessários à manipulação dos dados, permitido aos operadores realizar as tarefas de configuração recorrendo a uma linguagem muito mais próxima da linguagem do domínio de negócio. No núcleo da aplicação encontra-se uma ontologia onde são capturados os vários conceitos de negócio e as suas relações, que permite definir uma estrutura conceptual base, numa linguagem amigável e de alto nível. Com base neste componente central, foi então desenvolvido um processo de mapeamento dos referidos conceitos e relações de alto nível com as estruturas de dados complexas do software legado. Uma vez conseguido este relacionamento bidirecional, foram adicionadas várias funcionalidades para automatizar a configuração da interface de utilizador e da sua tradução em vários idiomas e das regras de autentificação e autorização de acesso a dados.The company Digital Wind, to meet the needs of reconversion of its legacy software systemUebe.Q-promoted the creation of an I&D project in partnership with ISEP. This project, called dySMS, resulted in, among other things, the creation of a set of software components that allow to expedite the process of reconversion. Associated with these software components there is a large volume of configuration data that allow the adaptation of the software operation to the inherent problems of a project of this nature. Since the frequent manipulation of the configuration data is necessary, by users who do not need to have great technical knowledge and that the language used for the code is low-level, this task has proved very lengthy and error-prone. The present work carried out in the scope of the master's thesis in Informatics Engineering-area of specialization of Software Engineering, of the Instituto Superior de Engenharia do Porto (ISEP), documents the process of research and development, which supported the creation of the configuration component of the software system. To support the realization of this project, a model-oriented approach was adopted. It was given great emphasis to the creation of specific domain languages, which promote an elevation of the level of abstraction of the concepts necessary to the manipulation of the data, allowing operators to perform the configuration tasks using a language very Closest to the language of the business domain. At the core of the application is an ontology where the various business concepts and their relationships are captured, which allows defining a basic conceptual structure, in a friendly and high-level language. Based on this central component, a process was developed to map these concepts and high-level relationships with the complex data structures of legacy software. Once this bi-directional relationship has been achieved, several features have been added to automate the configuration of the user interface and its translation into multiple languages and the rules for authentications and data access authorization

    Estudo de interdependências e rastreabilidade no processo RUP : análise do micro-processo V-Model e do método 4SRS

    Get PDF
    Dissertação de mestrado em Engenharia e Gestão de Sistemas de InformaçãoDado que a maioria dos artefactos desenvolvidos durante o processo de engenharia de requisitos se relacionam e se afetam mutuamente de diversas formas, é emergente a necessidade de identificar as interdependências entre os artefactos, de forma a conhecer detalhadamente como estes se relacionam ao longo do desenvolvimento de software. Sendo o Rational Unified Process (RUP) um processo que fornece as melhores práticas e orientações para o desenvolvimento de software bem sucedido, conhecer pormenorizadamente como os seus elementos se relacionam traz bastante utilidade. Este trabalho de investigação tem como propósito efetuar uma sistematização das interdependências existentes no processo RUP e na sua utilização para estudar um micro-processo (V-Model) e um método (Four Step Rule Set - 4SRS) do ponto de vista da cobertura que garantem relativamente às recomendações do RUP. Desta forma, primeiramente pretende-se estudar os diversos elementos que constituem o RUP, assim como, os seus relacionamentos. E em seguida, com base nesse conhecimento, pretende-se demonstrar como é vantajoso conhecer as interdependências e a rastreabilidade entre os diversos elementos que constituem o RUP, quando se compara um determinado método/modelo de processo com o RUP.Given that most artifacts developed during the requirements engineering process are related and affect each other in different ways, it is emergent the need to identify the interdependencies between artifacts, in order to know in detail how they relate during software development. Being the Rational Unified Process (RUP) a process that provides best practices and guidelines for successful software development, to know in detail how its elements are related bring enough utility. This research work aims to make a systematization of existing interdependencies in the RUP process and in its use to study a microprocess (V-Model) and a method (Four Step Rule Set - 4SRS) from the viewpoint of ensuring coverage of the recommendations of RUP. Thus, first intend to study the different elements that constitute the RUP, as well as their relationships. Then, based on that knowledge, it is intended to demonstrate how it is advantageous to know the interdependencies and the traceability between different elements that constitute the RUP, when comparing a given method/process model with RUP

    Flexibilização de regras de negócio aplicadas ao Sistema de Dotação de Material do Exército Brasileiro

    Get PDF
    Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2018.Distribuição de materiais é um tema comum na área de logística. A distribuição de Materiais de Emprego Militar (MEM) no Exército Brasileiro envolve a catalogação de materiais, a definição de regras que associam MEMs a unidades organizacionais, e a execução das regras para derivar os materiais previstos para cada unidade militar, listados no Quadro de Material Previsto (QDM). Atualmente, o QDM é gerado quase que totalmente de forma manual através do preenchimento de planilhas eletrônicas para cada Organização Militar (OM). O objetivo deste trabalho é apresentar a solução desenvolvida para geração automática de QDMs a partir da definição de regras de distribuição e posterior execução em um motor de regras. A simplicidade na definição das regras de distribuição de materiais, transformando definições de alto nível em definições baseadas em regras de motor de inferência, facilita a manutenção e extrai tais definições do código-fonte de uma aplicação. Isso motivou o uso de programação generativa, em termos de meta-programação, e um motor de inferência específico para a linguagem Java. Embora seja específica para a 4a Subchefia do Estado-Maior do Exército (EME), a solução tende a ser genérica o suficiente para ser adotada, após algumas adaptações, por outras áreas do exército ou até mesmo organizações externas que lidam com regras de distribuição de materiais semelhantes.Material distribution is a common theme in the logistics area. The distribution of Military Employment Materials (MEM) in the Brazilian Army involves the cataloging of materials, the definition of rules that associate MEMs with organizational units, and the execution of rules to derive the materials for each military unit listed in the Foreseen Material Table (QDM). Currently, QDM is generated almost entirely manually by filling spreadsheets for each Military Organization (OM). The objective of this work is to present the solution developed for automatic generation of QDMs from the definition of distribution rules and later execution in a rules engine. Simplicity in defining material distribution rules, transforming high-level definitions into definitions based on inference engine rules, facilitates maintenance and extracts such definitions from the source code of an application. This motivated the use of generative programming, in terms of meta-programming, and an inference engine specific to the Java language. Although it is specific to the 4th Army Staff Sub-Committee (EME), the solution tends to be generic enough to be adopted after some adaptations by other areas of the army or even outside organizations dealing with similar materials

    A framework for configuration and management of resources and components in open distributed multimedia systems

    Get PDF
    Orientador: Mauricio Ferreira MagalhãesTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoResumo: Em sistemas multimídia distribuídos existe uma diversidade de dispositivos de hardware, sistemas operacionais e tecnologias de comunicação. Para tratar os requisitos destas aplicações, os componentes do sistema precisam interagir entre eles considerando os aspectos de QoS de cada um dos elementos envolvidos. Neste contexto, esta tese apresenta o Cosmos ? um framework baseado em componentes proposto para dar suporte à configuração e gerenciamento de recursos em sistemas multimídia. Como prova de conceito do Cosmos, o framework definido foi usado no projeto do middleware AdapTV ? um middleware para sistemas de televisão digital interativa. O projeto do AdapTV explora os principais componentes dos modelos que foram definidos no Cosmos: o modelo de descrição de aplicações de forma independente de linguagens; o modelo de interconexão, que trata as questões de comunicação entre componentes heterogêneos usando diferentes tecnologias de comunicação; e o modelo de gerenciamento de QoS, que permite o monitoramento e a adaptação do sistema. Estes modelos foram explorados na implementação de um protótipo do middleware AdapTV e de uma aplicação distribuída que realiza a captura, transmissão e apresentação de um fluxo de vídeo. Para dar suporte à reusabilidade, o modelo explora o conceito de propriedades para estabelecer acordos de configuração (estáticos e dinâmicos) envolvendo negociações entre os requisitos dos componentes e as características da plataformaAbstract: Distributed multimedia applications involve a diversity of hardware devices, operating systems and communication technologies. In order to fulfill the requirements of such applications, their constituting components need to interact with each other, as well as to consider QoS issues related to devices and transmission media. In such a context, this thesis presents the Cosmos component-based framework for configuration and management of resources of open, distributed multimedia systems. As a proof of concept, the framework was used in the design of the AdapTV middleware ? a middleware for interactive television which explores the major components of the Cosmos, including: the model to describe and represent applications independently of language aspects; the interconnection model that allows communication between components in heterogeneous and distributed multimedia environments; and the QoS management model that provides support for adaptation in the middleware player, triggered by QoS and user requirements changes. These models have been explored in the implementation of a prototype, which includes the AdapTV middleware and a distributed application example that captures, transmits and presents a video flow. In order to provide a generic and reusable approach, and to establish configuration agreements among component requirements and platform features, the framework explores the concept of propertiesDoutoradoEngenharia de ComputaçãoDoutor em Engenharia Elétric
    corecore