186 results on '"Arquitetura de software"'
Search Results
2. Modularização de aplicativos iOS
- Author
-
Matheus Francisco da Silva Lima Gomes, Simone Maria Viana Romano, and Jonatas Cerqueira Dias
- Subjects
aplicativos ,aplicativos modulares ,dispositivos móveis ,arquitetura de software ,ios ,Education ,Technology ,Business ,HF5001-6182 - Abstract
A necessidade das empresas de entregar aplicativos, modernos, rápidos e funcionais é cada vez mais latente no mercado de tecnologia, devido ao grande público que possui dispositivos móveis. O processo de desenvolvimento passou por mudanças significativas devido a questões relacionadas ao desenvolvimento tecnológico e a grande adoção da tecnologia no cotidiano das pessoas ao redor do mundo. Como resultado desses avanços, surgiram questões importantes para aumentar a produtividade das equipes e melhorar a manutenibilidade dos sistemas tais como o controle do espaço que os aplicativos ocupam nos dispositivos dos usuários, arquitetura de aplicações para dispositivos móveis, injeção de dependência dentre outros temas importantes para a plataforma. Este artigo visou uma pesquisa bibliográfica a fim de citar desafios comuns para estabelecer a constituição de aplicativos modulares, habilitando a modernização, manutenibilidade e entregas rápidas e consistentes para empresas que necessitam de um aplicativo escalável, foi listado pontos chaves para produzir aplicativos com ênfase no sistema operacional iOS. Contribuindo para a comunidade de tecnologia sobre esse assunto, no qual há pouca literatura sobre arquitetura de aplicativos.
- Published
- 2023
3. Abordagem para Sistemas de Software de Crescimento Rápido utilizando uma arquitetura por camadas: Escalar uma arquitetura com o mínimo de refactoring.
- Author
-
Correia Pereira, João Filipe and Rosado da Cruz, A. M.
- Abstract
Copyright of CISTI (Iberian Conference on Information Systems & Technologies / Conferência Ibérica de Sistemas e Tecnologias de Informação) Proceedings is the property of Conferencia Iberica de Sistemas Tecnologia de Informacao and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2023
4. Architectural Diagram for Educational Games on Agile Methodologies.
- Author
-
Pimenta Aragão, Paulo André and Gratão de Souza, Rogéria Cristiane
- Subjects
COMPUTER software development ,SOFTWARE engineering ,UNDERGRADUATES ,COMPUTER programming ,EDUCATIONAL games - Abstract
Copyright of CISTI (Iberian Conference on Information Systems & Technologies / Conferência Ibérica de Sistemas e Tecnologias de Informação) Proceedings is the property of Conferencia Iberica de Sistemas Tecnologia de Informacao and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2021
5. Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías.
- Author
-
Ordóñez, Hugo and Ordóñez, Camilo
- Subjects
- *
PRECISION (Information retrieval) , *SOFTWARE architecture , *NATURAL language processing , *WEB-based user interfaces , *ONTOLOGIES (Information retrieval) , *INSTITUTIONAL repositories - Abstract
However, searching for software components on GitHub is currently inefficient, as searches are based on text strings. This paper introduces OntoGitHubSearch as a search model that allows the retrieval and classification of software architectures stored on GitHub. This proposed model retrieves all repositories that match the searched architectural concepts; to provide the search with semantics and context, it implements the domainspecific ontology Architecture Ontology Version 2.0, as well as a natural language processing module to analyze the text in the repository. The repositories are automatically identified and classified according to the text and concepts found in their descriptions. To evaluate the proposed model, we developed a web application called WebOntoGitHubSearch, which allows interaction with users during the search process. The evaluation of the model was carried out with the participation of software developers and architects from several colombian businesses. Information retrieval metrics such as Precision at k. The results obtained during the evaluation process are promising and allow verifying the effectiveness of the proposed model. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
6. Aumentar as funcionalidades de uma aplicação monolítica recorrendo a micro-serviços
- Author
-
Pereira, João Filipe Correia and Cruz, António Miguel
- Subjects
Monolítica ,Migração ,Modernização de sistemas legados ,Microservices ,Modernization of legacy systems ,Software architecture ,Arquitetura de software ,Monolithic ,Micro-serviços ,Migration - Abstract
Mestrado em Engenharia Informática na Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Viana do Castelo O constante crescimento do número de utilizadores e de novas funcionalidades das aplicações, por exigência do mercado, traz desafios ao crescimento das mesmas, em especial às aplicações monolíticas. Com o aumento de utilizadores a aplicação pode não conseguir responder a todos os pedidos que lhe são solicitados. Com o crescimento de funcionalidades a aplicação fica mais difícil de manter e o desenvolvimento é mais lento. Os micro-serviços apresentam-se como uma alternativa viável, uma vez que dividem uma aplicação monolítica em várias aplicações pequenas, o que faz com que a velocidade de desenvolvimento aumente e que a aplicação escale mais facilmente. Existem aplicações monolíticas legadas, com bastantes anos de desenvolvimento e a urgência que o mercado tem por novas funcionalidades impossibilita que o processo de desenvolvimento das mesmas pare para migrar uma aplicação para micro-serviços. Contudo, continuar a desenvolver nessas aplicações monolíticas fará com que a qualidade de serviço dessas aplicações se degrade com o passar do tempo. Nesta dissertação, é apresentada uma solução para resolver este tipo de problema. A solução passa pela implementação de uma arquitetura híbrida. As novas funcionalidades serão implementadas numa arquitetura de micro-serviços, enquanto as funcionalidades existentes continuarão na arquitetura monolítica existente. À medida que a qualidade de serviço da parte monolítica da aplicação for diminuindo, as funcionalidades que mais impactarem o desempenho serão migradas para a arquitetura de micro-serviços. The constant growth in the number of users and new functionalities of the applications, as required by the market, brings challenges to their growth, especially to monolithic applications. With the increase in users, the application may not be able to respond to all requests that are requested. With the growth of features, the application becomes more difficult to maintain and development is slower. Microservices are a viable alternative, as they divide a monolithic application into several small applications, which increases development speed and makes the application scale more easily. There are legacy monolithic applications, with many years of development and the urgency that the market has for new functionalities makes it impossible for their development process to stop migrating an application to micro-services. However, continuing to develop these monolithic applications will cause the quality of service of these applications to degrade over time. In this dissertation, a solution to solve this type of problem is presented. The solution involves implementing a hybrid architecture. The new features will be implemented in a micro-services architecture, while the existing features will continue in the existing monolithic architecture. As the quality of service of the monolithic part of the application decreases, the functionalities that most impact performance will be migrated to the microservices architecture.
- Published
- 2023
7. Padrões de migração de sistemas legados para arquitetura baseada em microsserviços.
- Author
-
de Carvalho Cintra, Rafael and Vendramel, Wilson
- Subjects
ARCHITECTURAL style ,LEGACY systems ,SOFTWARE architecture ,RELEVANCE ,COMPUTER software - Abstract
Copyright of Computing & System Journal (C&S) / Revista de Sistemas e Computação (RSC) is the property of FACS Servicos Educacionais S.A. and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2019
- Full Text
- View/download PDF
8. Aspectos iniciais modelados com uma extensão da SYSML
- Author
-
Oliveira, Kênia Santos de, Soares, Michel dos Santos, Maia, Marcelo de Almeida, and Valente, Marco Túlio de Oliveira
- Subjects
Programação orientada a aspectos ,Requirements Engineering ,SysML (Linguagem de modelagem padrão) ,Aspectos ,Software Architecture ,Software - Arquitetura ,Engenharia de requisitos ,CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO [CNPQ] ,Arquitetura de software ,Aspect ,SysML - Abstract
Aspect Oriented Programming has been proposed in order to handle crosscutting concerns in an ecient manner. Initial proposals in this area have been applied to the source code. Subsequently, aspects were considered to be implemented in other phases of software development such as Requirements Engineering and Software Architecture. There are several advantages in identifying aspects at the requirements level and architecture level such as detecting conicts of interest, improving the requirements modularity, reducing costs of software maintenance and preserving the notion of aspects in software development process ensuring traceability. Therefore, the purpose of this work is to develop a model to represent aspects at the requirements level and the architecture level. The requirements model denes the activities of identication of aspect requirements, both functional and non-functional, separation and composition of aspect requirements and identication of conict between aspect requirements. Since dierent stakeholders need to view the system from dierent perspectives, the architecture model allows to represent dierent views considering the representation with aspects. The proposed views are structural, use case + requirements and development. Compared to other analysed approaches, the proposed models in this work represent important characteristics that others models do not represent, such as maintaining traceability of aspects between requirements and the architecture level. In order to represent the models, extensions to the SysML modeling language were proposed. A Programação Orientada a Aspectos foi proposta com o objetivo de manipular interesses transversais de uma maneira eciente. Propostas iniciais nesta área foram aplicadas no código fonte. Posteriormente, aspectos foram considerados para serem aplicados em outras fases do desenvolvimento de software tais como Engenharia de Requisitos e Arquitetura de Software. Há várias vantagens em identicar aspectos no nível de requisitos e no nível arquitetural, tais como detectar inicialmente conitos de interesses, melhorar a modularidade dos requisitos, reduzir custos de manutenção de software e preservar a noção de aspectos no processo de desenvolvimento de software garantindo rastreabilidade. Portanto, o propósito desse trabalho é desenvolver um modelo para representar aspectos no nível de requisitos e no nível arquitetural. O modelo de requisitos dene as atividades de identicação de requisitos aspectuais tanto de origem funcional quanto não-funcional, separação e composição de requisitos e requisitos aspectuais e identicação de conitos entre requisitos aspectuais. Uma vez que diferentes stakeholders necessitam visualizar o sistema a partir de diferentes perspectivas, o modelo de arquitetura permite representar diferentes visões considerando a representação com aspectos. As visões propostas são a estrutural, a de casos de uso + requisitos, e a de desenvolvimento. Em comparação com outras abordagens analisadas, os modelos propostos nesse trabalho cobrem importantes características que os outros modelos não cobrem, como por exemplo, manter a rastreabilidade de aspectos entre os níveis de requisitos e de arquitetura. Para representar os modelos, extensões da linguagem de modelagem SysML foram propostas. Mestre em Ciência da Computação
- Published
- 2022
- Full Text
- View/download PDF
9. PROTOCOLO SEGURO DE MENSAGENS INSTANTÂNEAS
- Author
-
Jorge, João Bernardo Gomes, Maximiano, Marisa da Silva, and Gomes, Ricardo Jorge Pereira
- Subjects
Arquitetura P2P (Peer-to-Peer) ,Arquitetura PP2P (Pure Peer-to- Peer) ,Internet ,Segurança da informação ,Rede informática ,Cibersegurança ,Arquitetura de software ,Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática [Domínio/Área Científica] ,Conteúdo digital - Abstract
A sociedade usufrui bastante de aplicações de Mensagens Instantâneas (MI) para comunicar diariamente entre si. Desde simples conversas entre duas pessoas ou mesmo num grupo de trabalho. Assim, é essencial garantir que a comunicação efetuada aplica políticas de segurança de forma a mitigar eventuais ataques a essa informação. Paralelamente, a descentralização também se tem demonstrado uma tendência nos últimos tempos, sendo que uma das formas de aplicar este conceito nas aplicações de MI consiste na utilização da tecnologia Peer-To-Peer (P2P). Esta divide-se em vários tipos, no entanto, a forma mais pura de aplicar esta tipo de arquitetura é através de Pure Peer-To-Peer (PP2P). Deste modo, foi desenvolvido um «protocolo» baseado no já existente Signal que difere na não utilização de uma terceira entidade reguladora da comunicação, o servidor onde são hospedadas as chaves públicas dos utilizadores que fazem uso da aplicação e por onde as mensagens são encaminhadas. Em conjunto com o «protocolo» foi desenvolvida uma aplicação de chat PP2P de forma a que os utilizadores comuniquem diretamente entre si, fazendo uso do «protocolo» desenvolvido no âmbito deste trabalho, cujo objetivo é demonstrar o seu funcionamento, garantindo a implementação de algumas das medidas de segurança também demonstradas pelo protocolo Signal. Este foi implementado dando uso à linguagem JavaScript (JS) convergindo com a construção da aplicação com recurso à framework ElectronJS.
- Published
- 2022
10. Development of a marketing automation platform to integrate online e-commerce services
- Author
-
Gonçalves, Diogo Alexandre Domingues, Machado, José Manuel, and Universidade do Minho
- Subjects
Software architecture ,Arquitetura de software ,Marketing Automation ,e-commerce ,Cloud computing ,Marketing Automático ,Serviços web ,Representational state transfer (REST) ,e-comércio ,Web services ,Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática - Abstract
Dissertação mestrado integrado em Informatics Engineering, E-commerce is continuously expanding which increases market competitiveness. With the increase of plat-forms arrives a need to stand out from the competition, thus creating the necessity to improve marketing strate-gies. Marketing strategies, such as creating personalized birthday emails or registration welcome-emails cannot be done in the traditional way. This idea of creating custom services like sending user-specific emails creates the need for a marketing automation solution. Following this need, its proposed the development of a marketing automation platform with integration with a machine learning engine. This system will be hosted on a cloud and will automate marketing campaigns and provide dents with results from machine learning models., O comércio electrónico está em constante expansão originando maior competitividade no mercado. Com o aumento do número destas plataformas surge a necessidade de se diferenciar da concorrência, criando assim a necessidade de melhorar as estratégias de marketing. As estratégias de marketing como a criação de um email personalizado para aniversários ou emails de boas-vindas após o registo não podem ser feitas da forma tradicional Essa ideia de criar serviços personalizados, como o envio de emails customizados para os utilizadores, cria a necessidade de uma solução de automatização o marketing. Seguindo esta necessidade, proprõe-se o desenvolvimento de uma plataforma de marketing automático com integração com um motor de machine learning. Este sistema será hospedado numa nuvem e terá capacidade de automatizar campanhas de marketing e fornecer aos clientes resultados dos modelos de machine learning.
- Published
- 2022
11. Avaliação de Impacto do SaaS em Contextos Empresarias.
- Author
-
Araújo, Virgínia Maria and Pérez Cota, Manuel
- Abstract
Copyright of CISTI (Iberian Conference on Information Systems & Technologies / Conferência Ibérica de Sistemas e Tecnologias de Informação) Proceedings is the property of Conferencia Iberica de Sistemas Tecnologia de Informacao and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2016
12. Monitorização da qualidade da água
- Author
-
Carvalho, Raul Manuel Sousa, Caeiro, José Jasnau, and Martins, João Carlos da Silva
- Subjects
Open-source ,Tecnologia de contentores ,Internet das coisas ,Arquitetura de software ,Qualidade da água - Abstract
O motor de desenvolvimento e crescimento económico, para o presente milénio, é definido pela Organização das Nações Unidas como sendo o acesso à água potável e o combate às alterações climáticas. Neste contexto, a importância dos sistemas de informação sobre os recursos hídricos e a sua gestão não pode ser ignorada no processo de desenvolvimento socioeconómico das nações e na preservação do meio ambiente mundial. É apresentado um sistema, baseado no paradigma arquitetónico da Internet das Coisas (IoT ), concebido para a recolha e processamento de dados meteorológicos e de qualidade das águas superficiais. Este documento tenta fornecer uma visão geral sobre sistemas de monitorização da qualidade da água, com principal ênfase na arquitetura de software. A arquitetura de hardware e software, open-source, é um aspeto importante da concepção deste sistema. Integra microcontroladores de baixo consumo energético e computadores de placa única para adquirir e processar os dados dos parâmetros medidos pelos sensores; comunicações de longo alcance utilizando o protocolo LoRaWAN, permitindo que o sistema seja implantado em áreas remotas e extensas; a aproximação de software baseada na tecnologia de contentores para uma realização fácil, escalável e controlável, reduzindo assim a complexidade da reprodução da configuração experimental em sistemas de investigação. É descrita a implementação de um sistema de gestão de base de dados geoespacial utilizando software livre e open-source. As medições em «tempo real», de parâmetros como a temperatura da água e do ar, condutividade elétrica, pH, precipitação e pressão atmosférica, entre outros, poderão ser correlacionados com outras medições, fornecendo informação para prever, prevenir e agir na qualidade da água. O sistema permite a visualização e análise dos dados em «tempo real», de vários corpos de água em diferentes períodos.
- Published
- 2022
13. Abordagem para evolução da arquitetura de sistemas embarcados com uso intenso de sensores e atuadores
- Author
-
Sales, Diego Câmara, Universidade Federal de Santa Catarina, Becker, Leandro Buss, and Koliver, Cristian
- Subjects
Engenharia de sistemas ,Arquitetura de software ,Ontologias (Sistema de recuperação da informação) ,Sistemas embarcados (Computadores) ,Automação ,Drone - Abstract
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2022. A constante evolução dos dispositivos de sensoriamento e atuação (S&A) faz com que os projetistas avaliem potenciais modificações de projeto da Arquitetura de Sistemas (AS) de Cyber Physical System (CPS) durante o seu ciclo de vida. Estes dispositivos desempenham um papel crítico, pois são os mecanismos pelos quais o software(ciber) interage com o mundo físico. A troca ou inclusão destes dispositivos na arquitetura é uma atividade complexa composta de um conjunto de etapas dedicadas à modelagem das características, propriedades e requisitos do sistema. Desta forma, detalhar as etapas e atividades de desenvolvimento do projeto pode auxiliar a equipe de projetistas durante a representação e gerenciamento dos recursos da arquitetura. Entretanto, algumas etapas são mais discutidas na comunidade científica, tais como a modelagem e análise das características da arquitetura, e outras carecem de mais estudos, como por exemplo a exploração de cenários de troca dos dispositivos de S&A. Neste contexto, é necessário que os projetistas tenham experiência para realizar as atividades que contemplem a seleção, exploração e análise de compatibilidade desses dispositivos, uma vez que, a ausência de informações dificulta o desenvolvimento das etapas de projeto. Existem diferentes abordagens na literatura que buscam fornecer um conjunto de etapas e atividades de suporte ao desenvolvimento de CPS. Entretanto, elas não descrevem em detalhes as atividades e ferramentas de suporte ao fluxo de etapas de projeto. Por conta disso, esta tese apresenta uma abordagem que busca contribuir com o processo de troca de dispositivos de S&A da arquitetura, e consequentemente guiar os projetistas na realização das atividades de avaliação e e análise de características. A Engenharia Dirigida por Modelos (Model Driven Engineering - MDE) é utilizada como base da abordagem proposta e fornece suporte à modelagem arquitetural através de Linguagens de Descrição de Arquiteturas (LDA). Permitindo, desta forma, a representação dos componentes através de ontologia e da exploração de dispositivos candidatos, incluindo a análise inicial e a posterior seleção do cenário evoluído. Além disso, optou-se por utilizar duas abordagens apoiadas por ferramentas que foram desenvolvidas ao longo desta tese: OWL2AADL e DevCompatibility. A abordagem OWL2AADL permite a transformação de modelos de ontologia do domínio de arquitetura de sistemas, descritos em Ontology Web Language (OWL), para modelos arquiteturais Architecture Analysis and Design Language (AADL). Já a abordagem DevCompatibility fornece suporte automatizado às atividades de exploração, análise e ranqueamento de cenários da abordagem de evolução de arquiteturas. Para demonstrar a aplicabilidade da proposta, a abordagem e ferramentas desenvolvidas são aplicadas ao projeto de um Veículo Aéreo Não Tripulado (VANT) do tipo tilt-rotor. É importante ressaltar que os detalhes da abordagem proposta são demonstrados no processo de evolução da arquitetura de um VANT em questão. Abstract: The constant evolution of sensing and actuation devices (S&A) causes designers to evaluate potential modifications in the operational architecture of CPS during the project lifecycle. These devices are the mechanisms by which (cyber) software interacts with the physical world. The exchange or inclusion of these devices in the architecture is a complex activity, composed of a set of phases dedicated to the modeling of characteristics, and properties and requirements of the system. This way, detailing the phases and the development of the project activities can be of help to the team of designers, during the representation and management of architectural resources. Meanwhile, some phases are more discussed in the scientific community, such as modeling and analysis of architectural characteristics. Others demand more studies, as for example, the exploitation of S&A device exchange scenarios. In this context, it is necessary that designers have experience in performing these activities of selection and, exploitation and analysis of these devices, where the absence of information makes it difficult to the development of the project phases. There are different approaches in literature, aiming to supply a set of phases and support activities to the development of CPS. However, they do not describe in detail the activities and support tools to the step steam of the project. Thereby, this thesis presents an approach that aims to contribute with the S&A device exchange process, and consequently guide the designers through the accomplishment of these activities. MDE - Model Driven Engineering is used as a basis to the proposed approach and provides support to architectural modeling, through Architectural Description Languages (ADL), and components representation through ontology and exploitation of candidate devices, including the analysis and selection of evolved scenario. Two approaches and tools were developed - OWL2AADL and DevCompatibility to support the proposed approach activities. OWL2AADL provides the transformation of ontology models of the domain of systems architecture described in OWLto the AADL architectural models. Meanwhile, the DevCompatibility provides automatized support to the activities of exploitation, and analysis and ranking of scenarios. The proposed approach and tools are applied to the Unmanned Aerial Vehicle (UAV) tilt-rotor type project. The proposed approach details are demonstrated in the evolving architectural process of a UAV, described in the study case.
- Published
- 2022
14. An Investigation of Knowledge Gaps of Graduate Students Regarding Safety-Critical Systems Development: A Controlled Experiment
- Author
-
Ana Isabella Muniz Leite, Lucas Lagoa, Samuel Lopes, Rosana Braga, Pablo Oliveira Antonino, Elisa Yumi Nakagawa, and Publica
- Subjects
safety-critical systems ,software architecture ,software engineering education ,experimental research ,Electrical and Electronic Engineering ,ARQUITETURA DE SOFTWARE ,Education - Abstract
Contribution: This article details the conduction of an experiment to investigate the knowledge that computer science graduate students have about safety-critical systems development, in particular, safety requirements specifications. Future research directions are also discussed. Background: Safety-critical systems have been increasingly used in many critical domains, requiring a rigorous development process as well as certification by regulatory agencies. However, it is not clear whether computer science courses deliver adequate education for students to develop such systems. Experimental research with these students could provide evidence on whether they have the minimum knowledge necessary to develop safety-critical systems. This type of research presents several advantages, such as reproducibility, high-level control, and specific conclusions, but has not been widely adopted to verify learning issues. Research Question: How to measure the understanding of students on safety-critical systems development?
- Published
- 2022
15. Difficulties and challenges in the incorporation of architectural practices.
- Author
-
Hernández Pérez, Flor de Maria and Algeria, Julio Ariel Hurtado
- Subjects
SOFTWARE architecture ,COMPUTER software development - Abstract
Copyright of Sistemas & Telemática is the property of Universidad ICESI and its content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written permission. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
- Published
- 2016
- Full Text
- View/download PDF
16. Una estrategia de integración entre planos CAD y Realidad Virtual: estudio de caso aplicado a subestaciones de energía eléctrica
- Author
-
Barreto Junior, Camilo de Lellis, Silva, Paulo Camargos, Silva, Alexandre Carvalho, Lamounier Junior, Edgard Afonso, and Cardoso, Alexandre
- Subjects
Realidad virtual ,Realidade Virtual ,Software architecture ,Integração ,Integration ,Computer-aided design ,Modelagem 3D ,Integración ,Arquitetura de Software ,modelado 3D ,Virtual reality ,Arquitectura de software ,3D modeling - Abstract
Many sectors have benefited from Virtual Reality (VR) technology, such as industries in the application of engineering design review processes. It is widely used in operator training, architecture, engineering, education, simulation and prototyping, as it provides a high level of immersion and fidelity in the representation of information. The current context of the integration between Computer-Aided Design (CAD) and VR presents development and maintenance methods that are too complex, requiring manual interventions making the transfer of information difficult, expressing an immature state of technology. Given this scenario, this work proposes a methodology for integration of CAD and VR floor plans through a software architecture that makes it possible to process the union between the technologies automatically. An research was conducted for related works in order to obtain the state of the art and the technologies in current use, in addition to pointing out the contribution of the proposed methodology. A case study was applied to electric power substations in a Research and Development (R&D) project. Integration tests, Virtual Environment (AV) reconstruction and performance tests were executed. The methodology showed good results as with the integration of CAD floor plans and the Virtual Reality software. In this paper, it is demonstrated that it is possible to adapt the two-dimensional CAD space for representation in a three-dimensional AV, facilitating and improving the design process of virtual substations. Also, the reconstruction process showed a satisfactory performance, completing the tasks in shorter times without manual interventions. Muchos sectores se han beneficiado de la tecnología de Realidad Virtual (RV), como, por ejemplo, las industrias en la aplicación de procesos de revisión de diseños de ingeniería. Se atribuye ampliamente a la formación de operadores, arquitectura, ingeniería, educación, simulación y creación de prototipos, ya que proporciona un alto nivel de inmersión y fidelidad en la representación de la información. El contexto actual de la integración entre el Computer-Aided Design (CAD) y la VR presenta métodos de desarrollo y mantenimiento demasiado complejos, que requieren intervenciones manuales que dificultan la transferencia de información, expresando un estado inmaduro de la tecnología. Ante este escenario, el trabajo propone una metodología de integración entre planos CAD y VR a través de una arquitectura de software que permite realizar la unión entre las tecnologías de forma automática. Se realizó un análisis en trabajos relacionados con el fin de obtener el estado del arte y las tecnologías utilizadas, además de señalar el aporte de la metodología propuesta. A través de un caso de estudio aplicado a subestaciones eléctricas en un proyecto de Investigación y Desarrollo (I+D), se realizaron pruebas de integración, reconstrucción de Ambiente Virtual (AV) y pruebas de desempeño. La metodología arrojó excelentes resultados, la integración entre planos CAD y el software de Realidad Virtual demostró que es posible adaptar el espacio CAD bidimensional para su representación en un AV tridimensional, facilitando y mejorando el proceso de diseño de subestaciones virtuales. Asimismo, el proceso de reconstrucción presentó un desempeño satisfactorio, completando las tareas en tiempos cortos y sin necesidad de procesos manuales de usuario. Muitos setores têm se beneficiado com a tecnologia de Realidade Virtual (RV), como, por exemplo, as indústrias na aplicação em processos de revisão de desenhos de engenharia. É amplamente atribuída ao treinamento de operadores, arquitetura, engenharia, educação, simulação e prototipagem, pois proporciona um alto nível de imersão e fidelidade na representação das informações. O contexto atual sobre a integração entre Computer-Aided Design (CAD) e RV apresenta métodos de desenvolvimento e manutenção demasiadamente complexos, exigindo intervenções manuais que dificultam a transferência das informações, expressando um estado imaturo da tecnologia. Diante deste cenário, o trabalho propõe uma metodologia de integração entre plantas baixas CAD e RV através de uma arquitetura de software que possibilita realizar a união entre as tecnologias de forma automática. Foi realizada uma análise em trabalhos correlatos com a finalidade de obter o estado da arte e as tecnologias que estão sendo utilizadas, além de apontar a contribuição da metodologia proposta. Através de um estudo de caso aplicado a subestações de energia elétrica em um projeto de Pesquisa e Desenvolvimento (P&D), foi realizado testes de integração, reconstrução do Ambiente Virtual (AV) e desempenho. A metodologia apresentou excelentes resultados, a integração entre plantas baixas CAD e o software de Realidade Virtual demonstrou ser possível adequar o espaço bidimensional CAD para representação em um AV tridimensional, facilitando e melhorando o processo de concepção de subestações virtuais. Também, o processo de reconstrução apresentou um desempenho satisfatório, concluindo as tarefas em tempos curtos e sem a necessidade de processos manuais de usuários.
- Published
- 2021
17. Caso de estudo sobre automação de testes de software
- Author
-
Trindade, Sofia Inês Morais, Lacerda, Ana Cristina Wanzeller Guedes de, and Cunha, Carlos Augusto da Silva
- Subjects
Automatização de testes ,Tipos e níveis de testes ,Qualidade de software ,Arquitetura de software ,Integração contínua ,Estratégias de testes ,Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática [Domínio/Área Científica] ,Entrega contínua - Abstract
A qualidade de um sistema, atualmente é algo imprescindível para os utilizadores. Sem o mínimo de qualidade o produto pode não chegar ao consumidor final. Para assegurar a qualidade é necessário efetuar uma quantidade exaustiva de testes durante as fases do seu desenvolvimento de onde podem surgir defeitos. Quanto mais cedo os defeitos forem detetados menor é o seu custo de resolução. Atualmente, existe também a necessidade de validar os sistemas de forma mais rápida e segura devido ao conceito de entrega e integração contínua, cujo objetivo é colocar qualquer tipo de alteração no ambiente de produção. Neste sentido, recorre-se a estratégias de automação de testes para otimizar o seu processo de entrega. Com a realização deste trabalho pretende-se aprofundar os fundamentos teóricos sobre a área da qualidade, mas também, propor uma estratégia de automação de testes de software, tendo em conta uma arquitetura básica e passível de aplicação na maioria de sistemas que a usem. Esta estratégia é aplicada num caso de estudo, tendo em conta as boas práticas e diretrizes do processo de teste: planeamento, controlo e monitorização, análise, desenho, implementação, execução e conclusão. A arquitetura adotada pela estratégia de testes proposta é baseada no padrão arquitetural de três camadas. O âmbito da estratégia passa pela implementação de testes de integração nos serviços da camada aplicacional, onde se validam as regras de negócio, o corpo e o código das respostas recebidas. Inclui ainda a implementação de testes End-to-End na camada de apresentação, onde se validam interações entre os componentes e as interfaces da aplicação. Todos os testes automatizados são executados numa pipeline de integração e entrega contínua, sempre que pretenda enviar qualquer alteração para o ambiente produtivo. A aplicação da estratégia a um caso de uso permitiu concluir que a mesma é passível de utilização em projetos de várias dimensões, visto que são abordados os aspetos mais pertinentes da definição estratégias de teste. Qualquer pessoa que tenha interesse na área de automação de testes consegue obter as bases necessárias para proceder á implementação de testes automáticos, criar baterias de testes de regressão automáticas e investir o restante tempo em testes exploratórios manuais, cujo foco são situações nunca antes pensadas e de onde podem surgir problemas ainda não identificados, evitando que estes cheguem ao consumidor final. ABSTRACT: The quality of a system nowadays is something essential for users. Without a minimum of quality, the product may not reach the final consumer. To ensure quality it is necessary to carry out an exhaustive amount of tests during all phases of the development where defects may arise. The sooner defects are detected, the lower their resolution cost. In addition to this, there is also a need to validate systems faster and more securely due to the concept of continuous integration and delivery, whose objective is to place any type of change in the production environment. That way, test automation strategies are used to optimize the delivery process. The purpose of this work is to deepen the theoretical foundations of the quality area, but also to propose a software test automation strategy, considering a basic architecture that can be applied in most systems that may use it. This strategy will be applied in a case study, considering the best practices and guidelines of the test process: planning, control and monitoring, analysis, design, implementation, execution, and conclusion. The architecture adopted by the proposed testing strategy is based on the three-tier architectural pattern. The scope of the strategy involves the implementation of integration tests in the application layer of the services, where the business rules, the body and the code of the responses received are validated. It also includes the implementation of end-to-end tests in the presentation layer, where interactions between application components and interfaces are validated. All automated tests run in a pipeline of continuous integration and delivery, whenever you want to send any changes to the production environment. The application of the strategy to an use case allowed us to conclude that it can be used in projects of various dimensions, since the most pertinent aspects of defining test strategies are addressed. Anyone interested in the test automation area can obtain the necessary bases to implement automatic tests, create batteries of automated regression tests and invest the remaining time in manual exploratory tests, whose focus is situations never thought before and from where problems not yet unidentified may arise, preventing them from reaching the end users.
- Published
- 2021
18. EventChain: uma proposta de estilo arquitetural para sistemas orientados a cadeia de eventos na área financeira
- Author
-
Luz, Maicon Azevedo da and Oliveira, Kleinner Silva Farias de
- Subjects
Blockchain ,Software architecture ,Software architectural style ,Arquitetura de software ,Event driven architecture ,Ciências Exatas e da Terra::Ciência da Computação [ACCNPQ] ,Estilo arquitetural de software ,Microsserviços ,Orientado a eventos ,Microservice - Abstract
Submitted by Anna Barbara Alves Beraldine (annabarbara@unisinos.br) on 2021-11-19T13:05:03Z No. of bitstreams: 1 Maicon Azevedo da Luz._.pdf: 10881784 bytes, checksum: de89dfa061a869fc51d30771d083666a (MD5) Made available in DSpace on 2021-11-19T13:05:03Z (GMT). No. of bitstreams: 1 Maicon Azevedo da Luz._.pdf: 10881784 bytes, checksum: de89dfa061a869fc51d30771d083666a (MD5) Previous issue date: 2021-09-09 CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior Estilos arquiteturais são importantes para engenharia pois são a ponte entre os requisitos e o design de implementação. Tem a função de expressar um conjunto de características de uma arquitetura de software, objetivando fornecer uma visão ampla da comunicação entre os componentes da arquitetura de software, facilitando o reuso e reduzindo a complexidade. Com o crescimento da área financeira, tais empresas empregaram diferentes estilos arquiteturais no desenvolvimento de software visando aumentar a reusabilidade, desempenho e a segurança. A literatura acerca do tópico, porém, carece de estudos que investiguem estilos arquiteturais modernos que possuam foco nas necessidades específicas das arquiteturas de software para o desenvolvimento de aplicações na área financeira, tais como escalabilidade, alta disponibilidade, consistência e integridade das informações. Além disso, em face do recente crescimento dessa área, torne o desenvolvimento de novas aplicações simples e robusto. Esta dissertação, portanto, apresenta o EventChain, o qual trata-se de um estilo arquitetural orientado a cadeia de eventos, que emprega o uso de comunicação assíncrona e Blockchain para o desenvolvimento de aplicações da área financeira. O estilo arquitetural proposto foi avaliado através de duas formas. A primeira sendo a construção de um protótipo com o objetivo de avaliar a viabilidade e demonstrar o seu funcionamento, e a segunda, a aplicação de um questionário de aceitação tecnológica para avaliar a aceitação do estilo arquitetural por profissionais da indústria. Os resultados obtidos mostram que o estilo arquitetural proposto é uma implementação viável, funcional e que atende aos requisitos de sistemas na área financeira. Por fim, conclui-se que o estilo arquitetural representa uma nova abordagem com grande potencial para facilitar o desenvolvimento de novos sistemas na área financeira, que endereça os requisitos específicos e torna flexível a implementação de novas aplicações. Architectural styles are important for engineering as they bridge the gap between requirements and implementation design. Its function is to express a set of features of a software architecture, aiming to provide a broad view of the communication between the components of the software architecture, facilitating reuse and reducing complexity. With the growth of the financial area, such companies employed different architectural styles in software development aiming to increase reusability, performance and security. The literature on the topic, however, lacks studies that investigate modern architectural styles that focus on the specific needs of software architectures for the development of applications in the financial area, such as scalability, high availability, consistency and integrity of information. Also, given the recent growth in this area, make developing new applications simple and robust. This dissertation, therefore, presents the EventChain, which is an architectural style oriented to the chain of events, which employs the use of asynchronous communication and Blockchain for the development of applications in the financial area. The proposed architectural style was evaluated in two ways. The first is the construction of a prototype in order to assess the feasibility and demonstrate its operation, and the second, the application of a technological acceptance questionnaire to assess the acceptance of the architectural style by industry professionals. The results obtained show that the proposed architectural style is a viable, functional implementation that meets the requirements of systems in the financial area. Finally, it is concluded that the architectural style represents a new approach with great potential to facilitate the development of new systems in the financial area, which addresses specific requirements and makes the implementation of new applications flexible.
- Published
- 2021
19. Uma abordagem de linhas de produtos de software para apoiar e-Science
- Author
-
Foschiani, Fernanda Yara dos Santos, 1983, Rubira, Cecília Mary Fischer, 1964, Braga, Rosana Teresinha Vaccare, Martins, Eliane, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software engineering - Development ,Componente de software ,Software - Desenvolvimento ,Software architecture ,Component software ,Engenharia de linha de produto de software ,Arquitetura de software ,Software reengineering ,Reengenharia de software ,Software product line engineering - Abstract
Orientador: Cecília Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Com o aumento da demanda por software no mercado, a fim de reduzir custos e esforço em desenvolvimento e reduzir o tempo de entrega de software, diversas técnicas vêm sendo utilizadas e entre elas estão as Linhas de Produtos de Software (LPS). Por outro lado, os recursos computacionais vêm sendo muito utilizados não são na indústria, mas também em ambientes de pesquisa, facilitando o compartilhamento de dados e serviços computacionais. Este contexto, em que a computação torna-se parte integrante e fundamental para o sucesso na realização de pesquisas científicas, é chamado de e-Science. A diversidade de programas, simuladores e dados computacionais envolvidos em experimentos levam a necessidade de ambientes que forneçam facilidades para o uso e combinação das tecnologias, como por exemplo, ambientes de workflows científicos. A solução proposta nesta dissertação é uma infraestrutura para a execução de workflows científicos, que permite a pesquisadores criarem seus fluxos de trabalho de maneira personalizada, podendo utilizar componentes disponibilizados pela equipe de desenvolvimento, assim como componentes criados por eles mesmos, independentemente da linguagem de programação utilizada. A base para esta infraestrutura é uma linha de produtos baseada em componentes, desenvolvida a partir de sistemas legados. O método proposto para o desenvolvimento da linha de produtos é apoiado pelo arcabouço da Reengenharia Orientada a Características, separado em quatro fases. A primeira fase, Engenharia Reversa do Sistema Legado, extrai informações do código legado a fim de entender o domínio da aplicação e coletar as características que deverão existir na linha de produtos. A segunda fase do método, Análise da LPS, refina o modelo de características obtido na fase anterior e, utilizando técnicas de modelagem do método PLUS, desenvolve artefatos de software baseados em casos de uso. A fase de Projeto da LPS, terceira fase, aplica o método FArM para obter um mapeamento do modelo de características para modelos de arquitetura de linha de produtos baseada em componentes e especifica as interfaces dos componentes, gerando assim a arquitetura final. A quarta e ultima fase trata do desenvolvimento da linha de produtos. Para o desenvolvimento dos componentes foi utilizado o padrão COSMOS* de componentização, e código legado. Foram realizados três estudos de caso: os dois primeiros para avaliar se a solução proxi posta é capaz de substituir o sistema legado e também avaliar o reuso de componentes, e o terceiro estudo para avaliar a capacidade de customização da linha de produtos, a partir da adição de um novo componente desenvolvido em MatLab. Os três estudos apresentaram resultados positivos, indicando que a solução proposta nesta dissertação facilita a modificação da linha de produtos, além de permitir aos pesquisadores a customização de fluxos de trabalho, auxiliando assim o processo de pesquisa científica Abstract: With the increasing demand for software in order to reduce development costs and effort, and to reduce the time-to-market, several techniques are being used, including the Software Product Line (SPL). Computational resources are commonly used in the research field, in order to facilitate data and computational services sharing. The context in which computing becomes a fundamental for the success of scientific research is called e-Science. The systems diversity, simulators and computational data involved in experiments leads to the necessity of environments that provide facilities for technology use and matching, for example the scientific workflow environment. The proposed solution in this thesis is a scientific workflow environment that allows the researchers to create their own personalized workflows, using components provided by the development team as well as components developed by themselves, regardless of the language being used. The basis for this workflow environment is a component based software product line, developed from legacy systems. The proposed method for the software product line development is supported by the Feature-oriented Reengineering framework, which is divided into four steps. The first one, SPL Reverse Engineering, extracts information about the legacy system in order to understand the application domain and collect the features that need to exist in the product line. The second step, SPL Analysis, refines the feature model obtained in the previous step and, using PLUS modeling techniques, develops software assets based on use cases. The SPL Project step, which is the third approach step, applies the FArM method to obtain a mapping of the feature model to architectural components, and specifies the components' interface, creating the final architecture. The last step is the product line development. For the components development we used the COSMOS* model and legacy code. We performed three case studies: two of them to evaluate if the product line is capable of replacing the legacy system and enhance components reuse, and the third one to evaluate the workflow customization capability, by the addition of a component developed in MatLab. All the case studies had a positive result, showing that the proposed solution of this ix thesis facilitates the product line architectures evolution and allows the researchers to customize their workflows, aiding the research process Mestrado Ciência da Computação Mestra em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
20. CosmosLoader
- Author
-
Gayard, Leonel Aguilar, 1983, Rubira, Cecília Mary Fischer, 1964, Gerosa, Marco Aurélio, Martins, Eliane, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Componente de software ,Software architecture ,Component software ,Arquitetura de software - Abstract
Orientador: Cecília Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Nos últimos anos, o desenvolvimento baseado em componentes (DBC) e a arquitetura de software emergiram como disciplinas complementares para promover o reuso no desenvolvimento de software. O desenvolvimento baseado em componentes promove o desenvolvimento de componentes reutilizáveis e a formação de novos sistemas de software a partir da integração de componentes existentes. A arquitetura de um sistema de software descreve o sistema em termos de seus componentes arquiteturais, das propriedades destes e das conexões entre eles. Modelos de componentes possibilitam concretizar elementos de DBC como componentes e conectores a partir de conceitos tradicionais de desenvolvimento de software, como por exemplo, orientação a objetos e arquivos, de modo que um conjunto de classes e arquivos complementares podem formar um componente se seguirem as regras do modelo. A adequação a um modelo de componentes oferece benefícios para o sistema de software: por exemplo, o modelo de componentes EJB possibilita que um componente seja implantado em um contêiner e se beneficie do gerenciamento de segurança e transparência de localização oferecidos pelo contêiner; o modelo Cosmos estabelece regras para a criação de componentes baseados em conceitos de linguagens orientadas a objetos, como classes, interfaces e pacotes. Assim, a integração de componentes para a composição de um sistema de software de acordo com uma arquitetura e um modelo de componentes se torna uma atividade importante no desenvolvimento de um novo sistema de software. Uma configuração concreta é um conjunto de determinadas versões de componentes de software conectados de acordo com uma arquitetura. No entanto, observa-se que, se modelos facilitam a criação de componentes de software, ainda é necessário um esforço de desenvolvimento para integrar componentes e formar novos sistemas. O uso de ambientes de desenvolvimento orientados a arquitetura e DBC, e também de ferramentas de automatização, reduzem o esforço necessário para a integração de componentes. O ambiente Bellatrix é um ambiente de desenvolvimento integrado que permite a especificação de elementos arquiteturais e a modelagem de arquiteturas de software. No entanto, ainda existe um hiato entre a arquitetura de um sistema modelada no ambiente Bellatrix e a configuração do sistema a partir de componentes concretos. Esta dissertação apresenta a ferramenta CosmosLoader, que auxilia o gerenciamento de configurações de componentes baseados no modelo Cosmos. A solução proposta se baseia na extensão do ambiente Bellatrix e no modelo de componentes Cosmos* ("Cosmos estrela"), que estende o modelo Cosmos com o conceito de composição hierárquica de componentes. Por fim, são descritos estudos de caso realizados com essas ferramentas Abstract: In the last years, Component-Based Development (CBD) and Software Architecture emerged as complementary disciplines that promote reuse in software development. Component-Based Development promotes the development of reusable software components and the creation of new software systems by integrating existing software components. The architecture of a software system describes such system in terms of its architectural components, their properties and the connections between them. Component models materialize concepts from CBD such as components and connectors from traditional concepts of software development, such as object orientation and files, so that a set of classes and complementary files form a component if they follow the component model's rules. The adequacy to a component model brings benefits to a software system: for instance, the EJB component model allows a component to be deployed to a container and benefit from the security management and location transparency provided by the container; the Cosmos component model allows the creation of components using only concepts from object-oriented languages, such as classes, interfaces and packages. Therefore, the integration of components to compose a new software system according to an architecture and a component model becomes an important activity in the development of a new software system. A concrete configuration is the set of specific versions of software components connected according to an architecture. However, it can be observed that while models ease the creation of software components, a development effort is still necessary to integrate components and form new systems. The use of development environments oriented towards architecture and CBD, and also of automations tools, reduce the effort needed to integrate components. The Bellatrix development environment is an integrated development environment that allows the specification of architectural elements and modeling of software architectures. However, there still is a gap between the architecture of a system modeled in Bellatrix and the configuration of a system from concrete software components. This dissertation presents the CosmosLoader tool, which assists in managing the configuration of components based on the Cosmos model. The proposed solution is based on an extension to the Bellatrix development environment and on the Cosmos* component model ("Cosmos star"), which extends the Cosmos component model with hierarchical composition of components. Finally, case studies using these tools are described Mestrado Ciência da Computação Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
21. Bellatrix
- Author
-
Tomita, Rodrigo Teruo, Rubira, Cecília Mary Fischer, 1964, Gimenes, Itana Maria de Souza, Martins, Eliane, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software engineering ,Software - Desenvolvimento ,Arquitetura de software ,Engenharia de software ,Software - Development ,Software - Reutilização ,Software - Reuse ,Software - Architecture - Abstract
Orientador: Cecilia Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: O desenvolvimento baseado em componentes (DBC), que se baseia na construção de software através da integração planejada de componentes reutilizáveis, tem conquistado ampla aceitação para o desenvolvimento de sistemas de software. O desenvolvimento centrado na arquitetura de software _e complementar ao DBC, com a responsabilidade pela integração dos componentes de forma que atributos de qualidade, como confiabilidade e distribuição, desejados para o sistema final sejam obtidos. Assim, processos de DBC também devem ser centrados na arquitetura de software, possibilitando um maior grau de abstração, organização, manutenibilidade e reuso. Para possibilitar a automatização de tarefas e aumentar a produtividade no uso dos conceitos de arquitetura de software e DBC, são necessárias ferramentas que apóiem atividades de arquitetos e desenvolvedores de software. Os ambientes integrados de desenvolvimento existentes atualmente apóiam, em geral, a modelagem UML e a implementação de componentes e de sistemas orientados a objetos. Entretanto, eles não apóiam a prática de modelagem de arquiteturas de componentes e DBC. Ferramentas para modelagem de arquiteturas de software existentes não dão suporte ao mapeamento da arquitetura para código, possuem um foco específico na modelagem e não são apoiadas por um processo de desenvolvimento. Nesse trabalho é proposto o ambiente Bellatrix, um ambiente integrado de desenvolvimento que apóia o DBC com ênfase na arquitetura de software e estende o ambiente integrado de desenvolvimento Eclipse. O ambiente pode ser usado em conjunto com um processo de DBC e utiliza o COSMOS, um modelo de implementação de componentes que faz o mapeamento dos conceitos de arquiteturas de software para linguagens de programação orientadas a objetos. Este trabalho se concentra na especificação e projeto do ambiente Bellatrix, partindo de seus requisitos e protótipos de interface com usuário. Seus principais componentes foram especificados, bem como um modelo de implementação dos mesmos, integrando o modelo COSMOS ao ambiente Eclipse. Uma primeira implementação do ambiente contendo suas principais funcionalidades foi desenvolvida Abstract: Component-based development (CBD), which is based on the assembly of software systems through planned integration of reusable components, is gaining wide acceptance for developing software systems. 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. Thus, CBD processes should also be software architecture centric, promoting a higher abstraction level, system organization, maintainability, and reuse. In order to allow tasks automation and increase the productivity in using software architecture and CBD concepts, tools that support architects and software developers are needed. Most of the existing integrated development environments support UML modeling, object-oriented and component implementation. However, many of them do not support the practice of component architecture and CBD modeling. Existing software architecture modeling tools lack the ability to translate the architecture to code, have a specific focus on modeling, and are not guided by a development process. In this work, we describe the Bellatrix environment, an integrated development environment that supports CBD with emphasis on software architecture and extends the Eclipse integrated development environment. The proposed environment can be guided by a CBD process and uses COSMOS, a component implementation model that materializes the elements of a software architecture using the concepts available in object-oriented programming languages. This work focuses on the general description of Bellatrix, starting from its requirements and user interface prototypes. Its main components has been specified, as well as an implementation model integrating the COSMOS model with the Eclipse environment. An initial version containing basic functionalities has been developed. Mestrado Sistemas de Informação Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
22. Tecnicas de estruturação de software no desenvolvimento de sistemas-de-sistemas confiaveis
- Author
-
Silva, Ricardo de Mendonça, Rubira, Cecília Mary Fischer, 1964, Universidade Estadual de Campinas. Instituto de Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software - Desenvolvimento ,Engenharia de software ,Arquitetura de software ,Tolerância à falha (Computação) - Abstract
Orientador : Cecilia Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Mestrado
- Published
- 2021
- Full Text
- View/download PDF
23. Um processo de desenvolvimento baseado em componentes adaptado ao Model Drive Architecture
- Author
-
Sousa, Milton Cesar Fraga de, Rubira, Cecília Mary Fischer, 1964, Ricarte, Ivan Luiz Marques, Toledo, Maria Beatriz Felgar de, Universidade Estadual de Campinas. Instituto de Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software - Desenvolvimento ,Engenharia de software ,Arquitetura de software - Abstract
Orientador: Cecilia Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: o desenvolvimento de software baseado em componentes tem sido amplamente utilizado na construção de sistemas de grande porte. Nestes sistemas, intrinsecamente complexos, a adoção de um processo de desenvolvimento sistemático é muito importante. Outros fatores relevantes que podem ser considerados são: (I) a arquitetura de software, principal responsável pelo atendimento de requisitos não-funcionais, como tolerância a falhas e distribuição, (2) a evolução do sistema em face das mudanças tecnológicas, ponto central da abordagem Model Driven Architecture (MDA) proposta pelo consórcio Object Management Group (OMO) e (3) a distância semântica entre as abstrações da descrição arquitetural e as construções disponíveis nas plataformas alvo. Este trabalho apresenta um processo de desenvolvimento de software baseado em componentes adaptado para (I) incorporar a abordagem MDA, (2) tratar explicitamente os requisitos não-funcionais através da arquitetura de software, e (3) reduzir a distância semântica entre as abstrações da descrição arquitetural através da utilização de modelos de estruturação de componentes independentes de plataformas como, por exemplo, J2EE e .NET. A praticabilidade do processo adaptado baseado na abordagem MDA foi evidenciada no estudo de caso de um Sistema de Contingências Tributárias. Este estudo permitiu (1) demonstrar a utilização do processo proposto, (2) introduzir os conceitos da abordagem MDA, (3) tratar os requisitos não-funcionais através do refinamento da arquitetura de software, e (4) criar mapeamentos para as plataformas J2EE e .NET Abstract: Component-based software development has been widely used in the construction of large scale systems. In these systems, which are intrinsical1y complex, the adoption of a systematic development process is very important. Other relevant factors that should be considered in order to achieve a successful development of complex component-based system are: (I) its software architecture, main responsible for fulfi11ing the non-functional requirements, e.g. fault tolerance and distribution, (2) the system's evolution in face of technological changes, the central point of Model Driven Architecture (MDA) approach proposed by Object Management Group (OMG) consortium and (3) the semantic distance between the abstraction of the architectural description and the available constructions in the target platforms. This work presents a component-based software development process adapted (1) to incorporate the MDA approach, (2) to address explicitly the non-functional requirements by means of the software architecture, and (3) to reduce the semantic distance between the abstraction's architectural description through the use of platform independent (e.g. J2EE and .NET) component structuring models. The feasibility of the modified process based on the MDA approach was evidenced in the case study of a Tax Contingencies System. This study al1owed us (I) to demonstrate the use of the proposed process, (2) to introduce the concepts of MDA approach, (3) to address the non functional requirements through the refinement of the software architecture, and (4) to create mappings to the J2EE and .NET platforms Mestrado Engenharia de Computação Mestre em Computação
- Published
- 2021
- Full Text
- View/download PDF
24. Projeto e implementação de uma arquitetura reflexiva para a linguagem Xchart
- Author
-
Stehling, Renato de Oliveira, Liesenberg, Hans Kurt Edmund, 1953, Lucena, Fábio Nogueira de, Buzato, Luiz Eduardo, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Interfaces (Computador) ,Arquitetura de software ,Engenharia de software - Abstract
Orientador: Hans Kurt Edmund Liesembergo Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Xchart é uma linguagem visual, orientada a eventos e projetada para especificar controles de diálogo que não podem ser adequadamente descritos com as atuais propostas baseadas em DTEs (Diagramas de Transição de Estados). A arquitetura reflexiva proposta é uma extensão que não visa adaptar Xchart a nenhum novo contexto. O objetivo é controlar a complexidade do código descrito nessa linguagem, promovendo a separação de domínios e permitindo a intervenção na especificação de forma transparente. Nossa proposta procurou preservar ao máximo as características da linguagem Xchart. As novas estruturas são tratadas exclusivamente em tempo de compilação. O sistema de execução de Xchart (SE) não precisou ser alterado porque o código executável é o mesmo da abordagem convencional. Em tempo de execução, não há overhead relacionado ao mecanismo de reflexão adotado. Abstract: Xchart is a visual and event -oriented language designed to specify dialogue controls that cannot be adequately described by proposals based on STDs (State Transition Diagrams). The proposed reflective architecture does not intend to adapt Xchart to any new context The main purpose is to control the complexity of the code described in this language by means of promoting domain separation and allowing an interference with specifications in an transparent way. Our proposal tried to preserve the features of Xchart language as much as possible. The new structures are handled in compilation time. There was no need to adapt the Xchart execution system (ES) because the executable code is the same as the one of the conventional approach. At execution time, there is no overhead related with the adopted reflection mechanism. Mestrado Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
25. Usando padrões de projeto como base para reestruturação de software
- Author
-
Rodrigues, Daniele Cristina Uchôa Maia, 1979, Drummond, Rogério, 1955, Jino, Mario, Liesenberg, Hans Kurt Edmund, Universidade Estadual de Campinas. Instituto de Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Padrões de produção ,Java (Linguagem de programação de computador) ,Projeto de sistemas ,Arquitetura de software ,Software - Desenvolvimento - Metodologia - Abstract
Orientador: Rogerio Drummond Burnier Pessoa de Mello Filho Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação Resumo: O crescimento da produção de software ao longo das últimas décadas tem exigido que a indústria de desenvolvimento seja capaz de produzir sistemas de forma rápida, com alta qualidade e facilidade para alteração de requisitos, fase em que se pode gastar muito tempo e esforço se o sistema não estiver preparado para estas alterações. Neste contexto, os padrões de arquitetura e projeto surgem como soluções para problemas recorrentes, com o objetivo de diminuir 'o esforço gasto por desenvolvedores para solucionar problemas durante a fase de projeto. Estes padrões, quando bem utilizados, podem também facilitar a comunicação e entendimento da equipe de desenvolvimento do sistema, facilitar a alteração de requisitos projetando sistemas preparados para alterações futuras, e diminuir o tempo de desenvolvimento. Este trabalho tem como objetivo mostrar situações práticas de utilização de padrões de arquitetura e projeto na reestruturação de um sistema real, e os benefícios desta utilização Abstract: The growth of software production in the last decades has demanded from development industry the capacity of producing systems in a small period, but with high quality and easy ways for changing requests, period in development that can take a long time and effort, if the system is not prepared to be changed. In this context, architecture and design patterns come with solutions to recurrent problems, with the goal of decrease the effort spent by developers to solve project problems. These patterns, if well used, can make the communication and understanding of the development team easier, can make the request changes easier by designing systems prepared for future changes, and decrease the development time. This work has the goal to present the practical use of architecture and design patterns in the process of refactoring a real system, and the benefits of using them Mestrado Engenharia de Software Mestre Profissional em Computação
- Published
- 2021
- Full Text
- View/download PDF
26. Uma abordagem arquitetural para tolerancia a falhas em sistemas de software baseados em componentes
- Author
-
Guerra, Paulo Asterio de Castro, Rubira, Cecília Mary Fischer, 1964, Lucena, Carlos José Pereira de, Werner, Claudia Maria Lima, Ricarte, Ivan Luiz Marques, Martins, Eliane, Madeira, Edmundo Roberto Mauro, Carvalho, Ariadne Maria Brito Rizzoni, Universidade Estadual de Campinas. Instituto de Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Arquitetura de software ,Engenharia de software ,Software - Confiabilidade ,Tolerância à falha (Computação) ,Software - Reutilização - Abstract
Orientador: Cecilia Mary Fischer Rubira Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Esse trabalho se concentra na inclusão do tratamento sistemático de requisitos de confiabilidade no desenvolvimento de sistemas críticos modernos como, por exemplo, automação bancária e comércio eletrônico. Tais sistemas evoluem rapidamente e estão sujeitos a fortes restrições de prazos e custos de desenvolvimento. Em conseqüência, o desenvolvimento desses sistemas críticos modernos geralmente é baseado em software de grande complexidade e que integra componentes de software já existentes. O desenvolvimento de sistemas confiáveis que dependem de software com tais características é um problema ainda em aberto. Esse trabalho contribui para a solução desse problema através de uma abordagem arquitetural para tolerância a falhas em sistemas de software baseados em componentes reutilizáveis. A abordagem proposta se desdobra em: (i) uma arquitetura de software baseada em componentes ideais tolerantes a falhas; (ii) uma solução arquitetural para transformar componentes de prateleira (Off-the-Shelf Components) em componentes ideais tolerantes a falhas; (iii) uma estratégia geral para tratamento de exceções em sistemas de software baseados em componentes; e (iv) a proposta de um ambiente integrado para desenvolvimento de software baseados em componentes, centrado na arquitetura do software e no processo de desenvolvimento. O presente trabalho inclui também a aplicação prática da abordagem proposta em diversos estudos de casos, incluindo sistemas de automação bancária reais desenvolvidos por uma empresa de software independente. Os resultados obtidos permitem concluir pela eficácia da abordagem proposta para elevar a confiabilidade de sistemas de software complexos e baseados em componentes reutilizáveis. Conclui-se também pela necessidade de um suporte de ferramentas especializadas que aumentem eficiência da abordagem proposta através da automação de métodos e sua melhor integração no processo de desenvolvimento de software Abstract: This work concentrates on the systematic treatment of dependability requirements during the development of modern critical software systems, such as banking and electronic commerce. Such software systems constantly evolve and are constrained by short time-to-market and low development costs requirements. As a result, the development of these modern critical software systems is increasingly being based on the integration of preexisting components. The development of dependable systems built in this way is still an open problem. This work contributes to the solution of this problem by proposing an architectural approach for adding fault tolerance to software systems based on reusable components. The proposed approach includes: (i) a software architecture based on idealised fault tolerant components; (ii) an architectural solution for transforming off-the-shelf software components in idealised fault tolerant components; (iii) a general strategy for exception handling in component-based software systems; and (iv) a proposal for an integrated development environment for component-based software systems, which is processed- and architecture-centered. The present work also includes two case studies where the proposed approaches were applied, one of them being based on a banking software system developed by an independent software house. The results achieved during these case studies allow us to conclude that the approach proposed can increase the dependability properties of complex software systems built from reusable components. We also conclude about the need for more specialized tools to increase the effectiveness of the proposed approach and better integrate it within a software development process Doutorado Ciência da Computação Doutor em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
27. Uma abordagem arquitetural com tratamento de exceções para sistemas de software baseados em componentes
- Author
-
Pagano, Vinícius Asta, Rubira, Cecília Mary Fischer, 1964, Melo, Ana Cristina Vieira de, Martins, Eliane, Universidade Estadual de Campinas. Instituto de Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Arquitetura de software ,Software - Compatibilidade ,Software de sistemas ,Tolerância à falha (Computação) - Abstract
Orientador: Cecilia Mary Fischer Rubira Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação Resumo: A especificação da arquitetura de software é fundamental para a construção de um sistema de software que atenda a requisitos de confiabilidade e que seja baseado em componentes de software reutilizáveis. Componentes reutilizáveis podem ser implementados sem o conhecimento de um sistema onde serão reutilizados. A arquitetura de software deste sistema deve fornecer o contexto de utilização de componentes de modo que eles possam ser devidamente identificados e integrados a este sistema, atendendo aos requisitos de confiabilidade. Para isto, a arquitetura deve ser bem organizada e apresentar tanto a especificação normal quanto a especificação excepcional de seus componentes, além dos conectores que interligam esses componentes. Este trabalho propõe uma solução centrada na arquitetura baseada em um método para a especificação de componentes da arquitetura de um sistema e de seu comportamento excepcional (MECE). O método MECE promove a definição de uma arquitetura com a especificação normal e excepcional de seus componentes e a identificação de conectores. Através da especificação excepcional identifica-se quais exceções cada componente deve lançar em suas interfaces providas, e quais exceções associadas as suas interfaces requeridas o componente deve tratar. Mesmo com uma arquitetura bem especificada pode ser que não se encontre um componente reutilizável que atenda à sua especificação excepcional, sendo necessário um trabalho de adaptação no momento da integração deste componente na arquitetura definida. A solução apresentada neste trabalho propõe o uso de estratégias de estruturação arquitetural para tratamento de exceções, que auxiliam este trabalho de adaptação e a integração de componentes a um sistema. A solução proposta foi implementada num estudo de caso de um sistema real, onde inicialmente foi especificado e implementado o comportamento normal do sistema e depois o seu comportamento excepcional, usando o método MECE e as estratégias de estruturação arquitetural para tratamento de exceções Abstract: The software architecture specification is the base for a component-based software construction that must be compliant with dependability requirements. A component-based software is constructed with reusable components. Reusable components can be implemented without knowing the context of the systems where these components would be reused. The software architecture of a system must provide the reuse context in order to allow the identification of reusable components and the integration of these components to this system. The software architecture must be well organized and present the normal and exceptional specification of its components and the connectors that must be used to connect these components. This work proposes one architecture solution based on a method for normal and exceptional specification of system components (MECE). The method MECE provides the definition of architecture with the normal and exceptional specification of its components and the definition of the connectors. The component exceptional specification identifies the exceptions that must be thrown by a component in its provided interfaces, and the exceptions that must be caught in its required interfaces. Even with a well-specified architecture, maybe it is not possible to identify a reusable component that is totally compliant with the exceptional specification, which requires adaptation activities to integrate this reusable component to the defined architecture. The solution presented in this work proposes the use of architectural strategies for exception handling that guides the adaptation activities and the components integration to a system. The proposed solution was implemented in a study case of a real system, where firstly the normal behavior of the system was implemented, and secondly the exceptional behavior was implemented, applying the method MECE and the architectural strategies for exception handling Mestrado Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
28. Manufacturing Execution System - Desenvolvimento de Aplicação Tablet em Android
- Author
-
Chicória, Pedro Miguel Gonçalves and Simões, Marco António Machado
- Subjects
produção ,software architecture ,engenharia de requisitos ,manufacturing execution system ,arquitetura de software ,requirements engineering ,production - Published
- 2021
29. Uma avaliação da influencia da arquitetura no desempenho de sistemas de software
- Author
-
Consoline, Gisele, Cortês, Mario Lúcio, 1950, Chiossi, Thelma Cecilia dos Santos, 1954, Rubira, Cecília Mary Fischer, Guerra, Ana Cervigni, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Systems software ,Software - Testing ,Arquitetura de software ,Software de sistemas ,Software - Architecture ,Software - Testes - Abstract
Orientadores: Mario Lucio Cortes, Thelma Cecilia dos Santos Chiossi Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Buscar soluções que atendam todas as necessidades do cliente pode não ser uma tarefa simples, pois pode haver falhas no entendimento de requisitos do sistema. Essa falha pode ocasionar problemas para o sistema ocasionando retrabalho e comprometendo a entrega do sistema dentro do prazo previamente estimado. Por meio do presente estudo, que analisa um sistema de Workflow já existente através de um processo para avaliar a arquitetura, pretende-se contribuir apresentando um exemplo de aplicação de um processo de avaliação de arquitetura com ênfase na abordagem quantitativa. O objetivo é superar problemas usando medidas que facilitem a análise da arquitetura e principalmente auxilie o arquiteto na busca da solução arquitetural mais adequada para o projeto Abstract: To search for solutions that encompass all the client¿s requirements might not be a simple task, for misunderstandings of the implicit and explicit requirements could happen. Such misunderstandings could generate problems related. Rework could be necessary, implicating the delivery date previously estimated. The current study which analyses an existing Workflow system through a process of architecture evaluation, it is intended to contribute by presenting an example of the use of an architecture evaluation process with emphasis in a quantitative approach. The goal is to solve problems by using metrics which facilitate the architecture analysis and mainly assists the architect in the search of the more adjusted architectural solution for the project Mestrado Engenharia de Software Mestre em Computação
- Published
- 2021
- Full Text
- View/download PDF
30. Ambientes virtuais de ensino-aprendizagem
- Author
-
Santos, Fabio Rocha, Guerra, Ana Cervigni, Cortês, Mario Lúcio, 1950, Morandini, Marcelo, Liesenberg, Hans Kurt Edmund, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Ambiente virtual ,Ensino a distância ,Engenharia de software ,Arquitetura de software ,Comunicação na tecnologia ,Tecnologia da informação - Abstract
Orientador: Ana Cervigni Guerra, Mario Lucio Cortez Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação Resumo: A demanda pela capacitação profissional e formação continuada, num contexto em que o mercado de trabalho está cada vez mais competitivo e exigente, discussões e mudanças nos paradigmas educacionais tem sido foco de muitos estudos. Nessa perspectiva, o uso das novas tecnologias de informação e comunicação (NTICs), como recurso que viabilize a dinâmica e a diversificação dos métodos, das formas e dos ambientes de ensino-aprendizagem, tem surgido como uma alternativa que minimiza os impactos oriundos desse reordenamento social em que estão inseridos aspectos de tamanha relevância no âmbito acadêmico-profissional. Paralelamente, o aumento da demanda pela modalidade de educação à distância (EAD) e o surgimento e aperfeiçoamento dos Learning Management System (LMS), mencionados neste trabalho como ambientes virtuais de ensino-aprendizagem (AVA), apresentam-se num cenário em que se pretende minimizar distâncias e dinamizar estratégias por meio das tecnologias de informação e comunicação nos espaços institucionais em que permeia a formação e o aprimoramento profissional. Nessa perspectiva, será levada em consideração o estreitamento que há entre este contexto educacional, a engenharia de software (ES) e as questões sociais, no referido estudo, em que apresenta-se com o propósito de desenvolver uma investigação, acerca dos fatores dificultadores e de sucesso, observados desde a concepção até a implementação de um ambiente virtual (Teleduc) de ensino-aprendizagem, nas Instituições de Ensino Superior no Brasil, sob uma ótica sociotécnica Abstract: The demand for professional qualification and continual education in a context where the workplace is more and more competitive and demanding, discussions and changes of educational paradigms have been the focus of many studies. From this perspective, the use of New Information and Communication Technologies (NTICs) as a resource that makes the dynamics and diversity of methods, the teaching-learning structures and environments feasible, has appeared as an alternative that minimizes the impacts that originate from this social re-ordering where aspects of such relevance within the academic-professional field are inserted. In parallel, the increase in demand for long Distance Education (EAD) and the introduction and improving of the Learning Management Systems (LMS) mentioned in this paper as Virtual Teachinglearning environments (AVA), which intend to minimize distances and propel strategies through technologies of information and communication in institutional environments where professional education and qualification permeate. In this perspective, will be taken in consideration the closeness there is between this educational context, the Software Engineering (ES) and the social aspects, in the related study, where it is presented the problematic and successful factors observed from the conception to the implementation of virtual teaching-learning environments (TelEduc) in Brazilian institutions of higher learning from a socialtechnical point of view Mestrado Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
31. Tratamento de exceções no desenvolvimento de sistemas tolerantes a falhas baseadas em componentes
- Author
-
Lima Filho, Fernando Jose Castor de, Rubira, Cecília Mary Fischer, 1964, Borba, Paulo Henrique Monteiro, Zorzo, Avelino Francisco, Buzato, Luiz Eduardo, Martins, Eliane, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software components ,Componente de software ,Arquitetura de software ,Tolerância à falha (Computação) ,Software - Architecture ,Fault tolerance (Computing) - Abstract
Orientador: Cecilia Mary Fischer Rubira Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Mecanismos de tratamento de exceções foram concebidos com o intuito de facilitar o gerenciamento da complexidade de sistemas de software tolerantes a falhas. Eles promovem uma separação textual explícita entre o código normal e o código que lida com situações anormais, afim de dar suporte a construção de programas que são mais concisos fáceis de evoluir e confáveis. Diversas linguagens de programação modernas e a maioria dos modelos de componentes implementam mecanismos de tratamento de exceções. Apesar de seus muitos benefícios, tratamento de exceções pode ser a fonte de diversas falhas de projeto se usado de maneira indisciplinada. Estudos recentes mostram que desenvolvedores de sistemas de grande escala baseados em infra-estruturas de componentes têm hábitos, no tocante ao uso de tratamento de exceções, que tornam suas aplicações vulneráveis a falhas e difíceis de se manter. Componentes de software criam novos desafios com os quais mecanismos de tratamento de exceções tradicionais não lidam, o que aumenta a probabilidade de que problemas ocorram. Alguns exemplos são indisponibilidade de código fonte e incompatibilidades arquiteturais. Neste trabalho propomos duas técnicas complementares centradas em tratamento de exceções para a construção de sistemas tolerantes a falhas baseados em componentes. Ambas têm ênfase na estrutura do sistema como um meio para se reduzir o impacto de mecanismos de tolerância a falhas em sua complexidade total e o número de falhas de projeto decorrentes dessa complexidade. A primeira é uma abordagem para o projeto arquitetural dos mecanismos de recuperação de erros de um sistema. Ela trata do problema de verificar se uma arquitetura de software satisfaz certas propriedades relativas ao fluxo de exceções entre componentes arquiteturais, por exemplo, se todas as exceções lançadas no nível arquitetural são tratadas. A abordagem proposta lança de diversas ferramentas existentes para automatizar ao máximo esse processo. A segunda consiste em aplicar programação orientada a aspectos (AOP) afim de melhorar a modularização de código de tratamento de exceções. Conduzimos um estudo aprofundado com o objetivo de melhorar o entendimento geral sobre o efeitos de AOP no código de tratamento de exceções e identificar as situações onde seu uso é vantajoso e onde não é Abstract: Exception handling mechanisms were conceived as a means to help managing the complexity of fault-tolerant software. They promote an explicit textual separation between normal code and the code that deals with abnormal situations, in order to support the construction of programs that are more concise, evolvable, and reliable. Several mainstream programming languages and most of the existing component models implement exception handling mechanisms. In spite of its many bene?ts, exception handling can be a source of many design faults if used in an ad hoc fashion. Recent studies show that developers of large-scale software systems based on component infrastructures have habits concerning the use of exception handling that make applications vulnerable to faults and hard to maintain. Software components introduce new challenges which are not addressed by traditional exception handling mechanisms and increase the chances of problems occurring. Examples include unavailability of source code and architectural mismatches. In this work, we propose two complementary techniques centered on exception handling for the construction of fault-tolerant component-based systems. Both of them emphasize system structure as a means to reduce the impactof fault tolerance mechanisms on the overall complexity of a software system and the number of design faults that stem from complexity. The ?rst one is an approach for the architectural design of a system?s error handling capabilities. It addresses the problem of verifying whether a software architecture satis?es certain properties of interest pertaining the ?ow of exceptions between architectural components, e.g., if all the exceptions signaled at the architectural level are eventually handled. The proposed approach is based on a set of existing tools that automate this process as much as possible. The second one consists in applying aspect-oriented programming (AOP) to better modularize exception handling code. We have conducted a through study aimed at improving our understanding of the efects of AOP on exception handling code and identifying the situations where its use is advantageous and the ones where it is not Doutorado Doutor em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
32. Uma aplicação de análise de decisão multicritério no projeto de arquitetura de software
- Author
-
Kovacs, Andre de Oliveira, 1977, Moretti, Antonio Carlos, 1958, Salles Filho, Sergio Luiz Monteiro, Poker, Johan Hendrik, Universidade Estadual de Campinas. Faculdade de Ciências Aplicadas, Programa de Pós-Graduação em Pesquisa Operacional, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Processo decisório por critério múltiplo ,Software engineering ,Data envelopment analysis ,Análise envoltória de dados ,Arquitetura de software ,Engenharia de software ,Decision-making by multiple criteria ,Software - Architecture - Abstract
Orientador: Antonio Carlos Moretti Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Ciências Aplicadas Resumo: Modelos decisórios para o projeto de arquitetura de software são de extrema importância para a comunidade de Engenharia de Software dada a complexidade dos contextos decisórios atuais nas empresas e o seu papel estratégico na busca por maior eficiência na implementação de software. Em tais contentos, busca-se a seleção de ativos para o projeto de arquiteturas de software, tendo como objetivos maximizar os benefícios de qualidade e retorno financeiro, sujeitos à restrições de recursos financeiros e prazo para o projeto. Tal problema decisório pode ser considerado como um problema discreto de Tomada de Decisão Multicritério e basicamente formulado como um Problema da Mochila Bidimensional Biobjetivo de Programação Combinatória Multiobjetivo e que, mesmo na sua versão mais simples, é caracterizado na literatura como NP-Difícil, o que leva à necessidade de métodos de resolução específicos por instância do mesmo. O objetivo desta pesquisa é buscar um nível de eficiência superior ao possível com o método heurístico guloso sugerido pelo CBAM da Engenharia de Software na tomada de decisão aqui considerada, tendo como porte típico para o problema o estudo de caso ECS, da NASA. Pretende-se aqui apresentar a investigação de tal problema com enfoque em algumas formulações que se aproximam adequadamente à realidade desse problema e o consideram como um sistema discreto, por meio de modelos determinísticos de programação matemática. Para tanto, são abordados métodos heurísticos gulosos e métodos exatos de resolução do modelo de programação matemática multiobjetivo de forma a determinar soluções eficientes, avaliadas via a Análise por Envoltória de Dados. Limitações de ambas abordagens são identificadas e possíveis melhorias para o processo de tomada de decisão do CBAM são sugeridas Abstract: Decision models to the design of software architecture are extremely important to the Software Engineering community due to the complexity of actual decision contexts in companies and its strategic role on the search for greater efficiency of software implementation. In those contexts, we seek the selection of assets for the design of software architectures, aiming to maximize the quality benefits and financial return, subject to financial and deadline constraints. Such decision problem can be considered as a discrete Multi-criteria Decision Making problem and formulated basically as a Multi-objective Bi-dimensional Knapsack Problem from Multi-objective Combinatorial Optimization that, even in its most simple version, is characterized in the literature as NP-Hard, which leads to the necessity of specific resolution methods by instance of the problem. This research aims to search for an efficiency level greater than obtainable with the heuristic greedy method suggested by the CBAM from the Software Engineering to the decision making here considered, having the ECS use case, from NASA, as the typical scale for the problem. We intend to present the investigation of such problem targeting some formulations that adequately approximate to the reality of the problem, and consider it as a discrete system, using deterministic models from mathematical programming. For such, heuristic greedy heuristics and exact methods are approached for the resolution of the multi-objective mathematical programming model so that efficient solutions are ascertained, using the evaluation via Data Envelopment Analysis. Limitations from both approaches are identified and possible improvements for the CBAM¿s decision process are suggested Mestrado Pesquisa Operacional Mestre em Pesquisa Operacional CAPES
- Published
- 2021
- Full Text
- View/download PDF
33. hp2FEM
- Author
-
Valente, Gilberto Luis, 1983, Bittencourt, Marco Lúcio, 1964, Cimini Júnior, Carlos Alberto, Borin, Edson, Universidade Estadual de Campinas. Faculdade de Engenharia Mecânica, Programa de Pós-Graduação em Engenharia Mecânica, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software Architecture ,Finite Element Method ,Framework (Programa de computador) ,Framework ,Arquitetura de software ,Método dos elementos finitos - Abstract
Orientador: Marco Lúcio Bittencourt Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecânica Resumo: Este trabalho tem como objetivo principal a implementação de uma arquitetura de software para o Método de Elementos Finitos de Alta Ordem (MEF-AO), baseando-se no paradigma de programação orientada a objeto (POO) e no uso de técnicas de otimização de código fonte. O software foi escrito em linguagem C++ e desenvolvido sobre um framework com ferramentas que auxiliaram no desenvolvimento. A modelagem do sistema foi realizada de forma a facilitar e promover o reuso e manutenção do código. Buscou-se, também, a flexibilidade e generalização do MEF-AO ao permitir a variação nos procedimentos da construção das equações e o uso de malhas p não-uniforme. Neste caso, cada elemento pode ser interpolado com uma ordem polinomial diferente, além de permitir o uso de um algoritmo local de solução. Tal característica pode diminuir o número de operações e de armazenamento, pois o número de funções de forma é aumentado apenas onde é necessário o uso de mais pontos para interpolação da malha de solução. No final, o software é avaliado aplicando o problema de projeção para malha de quadrados e hexaedros Abstract: The main objective of this work is the implementation of a software architecture for the High-Order Finite Element Method (HO-FEM), based on the Object Oriented Paradigm (OOP) and on source-code optimization techniques. The software was written in C++ programming language and developed over a framework which provided tools that assisted the implementation. The system was modeled so to promote code reuse and maintainability. Furthermore, the system modeling also provided flexibility and generalization for the HO-FEM by allowing modifications on the procedures for equation assembling and the use of p-non-uniform meshes. In this case, each element can be interpolated with different polynomial order, and allows the application of an algorithm for local solution. Such features can reduce the number of operations for memory allocation, since the number of shape functions is increased only where a higher density of points is needed by the solution mesh. Finally, the software is assessed by applying the projection problem for meshes of squares and hexahedros Mestrado Mecânica dos Sólidos e Projeto Mecânico Mestre em Engenharia Mecânica
- Published
- 2021
- Full Text
- View/download PDF
34. Uma solução de linha de produtos de software baseada em componentes e aspectos para o domínio de E-commerce
- Author
-
Azzolini, Raphael Porreca, 1987, Rubira, Cecília Mary Fischer, 1964, Hornung, Heiko Horst, Lucrédio, Daniel, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, and UNIVERSIDADE ESTADUAL DE CAMPINAS
- Subjects
Software engineering ,Linhas de produto de software ,Engenharia de software ,Comércio eletrônico ,Arquitetura de software ,Software product lines ,E-commerce ,Software - Architecture - Abstract
Orientador: Cecília Mary Fischer Rubira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Linha de Produto de Software é uma técnica que explora sistematicamente o reúso de artefatos de software em larga escala para implementar aplicações que compartilham um domínio comum e possui algumas característcas customizáveis. Para aperfeiçoar a evolução da Arquitetura da Linha de produto, é aconselhável desenvolver Linhas de Produto de Software utilizando uma estrutura modular. Esta demanda pode ser realizada por um método que integra componentes, aspectos e conectores de pontos de variação. Esta abordagem permite a minimização do espalhamento de características no modelo arquitetural e suporta de maneira modular a modelagem de características entrecortantes. Neste trabalho, um estudo de caso mapeando as principais características de importantes sistemas de e-commerce operando no Brasil e em outros países foi realizado para avaliar esta abordagem. A análise desta solução foi realizado comparando-se sua estabilidade e modularidade com as de outras duas abordagens. Os resultados indicam que o impacto no modelo arquitetural é reduzido quando utilizando a solução proposta no contexto da evolução de Linhas de Produto de Software Abstract: Software Product Line engineering is a technique that explores systematic reuse of software artifacts in large scale to implement applications that share a common domain and have some customized features. For improving Product Line Architecture evolution, it is advisable to develop Software Product Lines using a modular structure. This demand can be satisfied by a method that integrates components, aspects and variation point connectors. This approach allows minimization of feature scattering in the architectural model and supports modular modelling of crosscutting features. In this work, a case study mapping major features of significant e-commerce systems operating in Brazil and other countries was performed to evaluate this approach. The assessment of this solution was performed comparing its stability and modularity with other two approaches. The results indicate that change impact in the architectural model is reduced when using the proposed solution in the context of Software Product Lines evolution Mestrado Ciência da Computação Mestre em Ciência da Computação
- Published
- 2021
- Full Text
- View/download PDF
35. Gerenciamento de firewalls em redes híbridas
- Author
-
Fiorenza, Maurício Martinuzzi, Kreutz, Diego, and Mansilha, Rodrigo Brandão
- Subjects
Firewall management ,Software engineering ,Hybrid networks ,Redes híbridas ,Software architecture ,Engenharia de software ,Arquitetura de software ,Políticas de segurança ,Security policies ,CIENCIAS EXATAS E DA TERRA [CNPQ] ,Gerenciamento de firewalls - Abstract
O gerenciamento de firewalls é um processo desafiador. A configuração incorreta desse tipo de equipamento pode gerar desde brechas de segurança que comprometam as informações trafegadas, até a indisponibilidade de serviços críticos. O processo é especialmente desafiador redes híbridas, que combinam tecnologias convencionais e emergentes, como SDN. O administrador de firewalls de uma rede híbrida precisa conhecer uma combinação potencialmente extensa de vocabulário, sintaxes, semânticas e processos para configurar os firewalls conforme sua intenção. Para facilitar o trabalho dos administradores de redes híbridas, propomos uma arquitetura de software, denominada FWunify, e uma linguagem de representação de intenções de segurança, denominada FWlang. A arquitetura de software visa orientar o desenvolvimento de soluções para gerenciamento de firewalls em redes híbridas através de camadas e módulos que facilitam a manutenabilidade e extensibilidade da solução. Por exemplo, um módulo de tradução de comandos para determinado firewall pode ser adicionado (ou removido) da solução impactando minimamente apenas nas camadas adjacentes. A linguagem FWlang visa simplificar e reduzir o vocabulário necessário para gerenciar um parque híbrido de firewalls através de intenções, que permitem representar configurações de segurança em um nível mais alto e amigável de abstração que o nível de uma política convencional. Para verificar a viabilidade técnica da solução, implementamos uma instância da arquitetura de software FWunify, incluindo a FWlang. Uma avaliação funcional abrangente da FWunify demonstra a sua acurácia de tradução (para comandos de baixo nível utilizados em firewalls) e a sua capacidade de gerenciar políticas em firewalls reais. Através de uma avaliação baseada em datasets reais, demonstramos que a FWlang pode propiciar uma redução de até 72% no número de termos utilizados para descrever um determinado tipo de políticas. Por fim, avaliamos aspectos subjetivos, como intuitividade e complexidade, da FWlang através de um questionário respondido por administradores de sistemas. Managing firewalls is a challenging process. The incorrect configuration of this type of equipment can generate problems ranging from security breaches that compromise the information transmitted to the unavailability of critical services. The process is especially challenging for hybrid networks, which combine conventional and emerging technologies such as SDN. The firewall administrator of a hybrid network needs to know a potentially extensive combination of vocabulary, syntax, semantics and processes to configure the firewalls according to their intention. To facilitate the work of hybrid network administrators, we propose a software architecture, called FWunify, and a language for representing security intentions, called FWlang. The software architecture aims to guide the development of solutions for managing firewalls in hybrid networks through layers and modules that facilitate the maintainability and extensibility of the solution. For example, a command translation module for a given firewall can be added (or removed) from the solution with minimal impact only on adjacent layers. The FWlang language aims to simplify and reduce the vocabulary needed to manage a hybrid park of firewalls through intentions, which allow representing security configurations at a higher and more friendly level of abstraction than the level of a conventional policy. To verify the technical feasibility of the solution, we implemented an instance of the FWunify software architecture, including FWlang. A comprehensive functional assessment of FWunify demonstrates its accuracy for translating (for low-level commands used in firewalls) and its ability to manage policies across real firewalls. Through an assessment based on real datasets, we demonstrate that FWlang can provide a reduction of up to 72% in the number of terms used to describe a given type of policy. Finally, we evaluate subjective aspects, such as intuitiveness and complexity, of FWlang through a questionnaire answered by system administrators.
- Published
- 2021
36. Data analysis and recommender system architecture for e-commerce platforms
- Author
-
Cunha, Gil Fernando Ferreira da, Peixoto, Hugo, Machado, José Manuel, and Universidade do Minho
- Subjects
Análise de dados ,Software architecture ,Data analysis ,Arquitetura de software ,Comércio eletrônico ,e-commerce ,Recommender system ,Business intelligence ,Sistema de recomendação ,Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática - Abstract
Dissertação de mestrado integrado em Engenharia Informática, E-commerce is constantly expanding, leading to greater market competitiveness. The number of online platforms offering products or services is increasing; so there is a growing need for companies to stand out from the competition, which leads to the application of various marketing strategies. However, not all are adequate and mismanagement, as well as a bad investment of these strategies, may prejudice companies. Hence the implementation of recommendation systems in e-commerce platforms, as a safe and economical strategy. By investing in a good recommendation mechanism, one can provide better user experience, taking his interests into account. As a result, more traffic on the platforms is ensured, which may result in a higher sales rate and, consequently, a higher number of revenues. However, to develop a recommendation system, the first step must consist in obtaining information about the sales platform, where data about its users and products/services form the basis of recom mendations. But not all information is useful, which can influence the accuracy of the forecasting models used by the system to produce results. Following this perspective, a data analysis methodology is proposed, as well as an architecture of a recommendation system, which allows to extract and treat relevant data, in order to integrate a recommendation engine for most e-commerce platforms., O comércio eletrónico (e-commerce) está em constante expansão, o que leva a uma maior competitividade no mercado. Existem cada vez mais plataformas de venda online e, consequentemente, há uma crescente necessidade das empresas se destacarem da concorrência, o que leva à aplicação das mais variadas estratégias de marketing. Porém, nem todas são adequadas e uma má gestão e investimento destas estratégias pode causar prejuízo às empresas. Daí surge a implementação de sistemas de recomendação nas plataformas de venda, como uma estratégia segura e económica. Ao investir num bom mecanismo de recomendação, é possível proporcionar uma melhor experiência para o utilizador, tendo em conta os seus interesses. Desta forma, assegura-se um maior tráfego nas plataformas, o que poderá resultar numa maior taxa de vendas e, consequentemente, num maior número de receitas. No entanto, para desenvolver um sistema de recomendação é necessário, em primeiro lugar, obter informação sobre a plataforma de vendas, onde os dados sobre os seus utilizadores e produtos/serviços constituem a base das recomendações. Mas nem toda a informação é útil, o que pode influenciar a acurácia do modelos de previsões utilizado pelo sistema. Seguindo esta perspetiva, propõe-se uma metodologia de análise de dados, assim como uma arquitetura de um sistema de recomendação, que permitam extrair e tratar dados relevantes de modo a integrar um motor de recomendação para a generalidade das plataformas de e-commerce.
- Published
- 2021
37. Método de migração de sistemas monolíticos legados para a arquitetura de microsserviços
- Author
-
Lopes, Taylor Rodrigues and Lanna, André Luiz Peron Martins
- Subjects
Arquitetura de software ,Microsserviços ,Monolítico - Abstract
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2021. Atualmente, grande parte das organizações dependem de Sistemas de Informação (SI). Em geral, estes sistemas são construídos com base na “arquitetura monolítica”, tendo a execução centralizada em um único servidor. Ao longo dos anos, porém, as constantes mudanças para atender necessidades de negócio e o acúmulo da dívida técnica, têm tornado estes sistemas cada vez maiores e complexos, dificultando aspectos como manutenibilidade e escalabilidade. Essa difícil realidade vivida por muitas organizações motivou o presente trabalho a investigar uma nova tendência arquitetural denominada “microsserviços”. Popularizado por empresas como Netflix e Amazon, os microsserviços podem ser uma alternativa para a modernização de sistemas legados, propiciando mínimo downtime e impacto ao usuário final. Nessa nova arquitetura, o software é decomposto em pequenas partes que funcionam de modo independente e autônomo, trazendo algumas melhorias em termos de atributos de qualidade de software. Contudo, há também desafios e tradeoffs: adotar microsserviços tende a ser um processo difícil e não raramente malsucedido, sobretudo, em razão da carência de métodos para conduzir o processo de migração. Nesse sentido, fundamentado em estudos científicos, este trabalho apresenta um método de migração intitulado Microservice Full Cycle - MFC, inspirado no ciclo de vida de desenvolvimento de software e em estratégias DevOps. O objetivo é auxiliar sistemas de software legados a gradualmente evoluírem orientados por um conjunto de etapas e atividades comuns à arquitetura de microsserviços. A validação do método MFC é feita por meio de uma simulação em uma aplicação real, tendo evidenciado vantagens tais como códigos mais coesos e desacoplados, independência tecnológica, agilidade em build, teste e deploy (automação), escalabilidade sob alta demanda, maior interoperabilidade e integração, capacidades geodistribuídas, além de monitoramento e feedback em tempo real. Currently, most organizations depend on Information Systems. In general, these systems are built based on monolithic architecture, with centralized execution on a single server. Over the years, however, the constant changes to meet business needs and the accumulation of technical debt, have made these systems increasingly larger and complex, making aspects such as maintainability and scalability difficult. This difficult reality experienced by many organizations motivated the present work to investigate a new architectural trend called microservices. Popularized by companies like Netflix and Amazon, microservices can be an alternative for the modernization of legacy systems, providing low downtime and imperceptible impact to the end user. In this new architecture, the software is broken down into small parts that work independently and autonomously, bringing some improvements in terms of software quality attributes. However, there are also challenges and tradeoffs: adopting microservices tends to be a difficult process and not rarely unsuccessful, mainly due to the lack of methods to conduct the migration process. In this sense, based on scientific studies, this work presents a migration method entitled Microservice Full Cycle - MFC, inspired by the software development life cycle and DevOps strategies. The goal is to assist legacy software systems to gradually evolve guided by a set of steps and activities common to the microservice architecture. The validation of the MFC method is done through an experiment in a real application, showing advantages such as more cohesive and uncoupled codes, technological independence, agility in build, test and deploy (automation), scalability under high demand, greater interoperability and integration, geodistributed capabilities, plus realtime monitoring and feedback.
- Published
- 2021
38. A Micro Frontends Solution – Analyzing quality attributes
- Author
-
Silva, Ricardo Alexandre Pinto da and Azevedo, Isabel de Fátima Silva
- Subjects
Module federation ,Client-side composition ,Frontend microservices ,Micro frontends ,Software architecture ,Arquitetura de software ,Micro-serviços no frontend ,Composição - Abstract
Submitted by Ana Maria de Sousa Rebelo (amsr@isep.ipp.pt) on 2021-09-13T09:20:22Z No. of bitstreams: 1 DM_RicardoSilva_2021_MEI.pdf: 6031374 bytes, checksum: 0163ca361698bbbb2f84343852711a85 (MD5) Approved for entry into archive by Ana Maria de Sousa Rebelo (amsr@isep.ipp.pt) on 2021-09-13T09:21:18Z (GMT) No. of bitstreams: 1 DM_RicardoSilva_2021_MEI.pdf: 6031374 bytes, checksum: 0163ca361698bbbb2f84343852711a85 (MD5) Made available in DSpace on 2021-09-13T09:21:18Z (GMT). No. of bitstreams: 1 DM_RicardoSilva_2021_MEI.pdf: 6031374 bytes, checksum: 0163ca361698bbbb2f84343852711a85 (MD5) Previous issue date: 2021
- Published
- 2021
39. A method for monitoring the coupling evolution of microservice-based architectures
- Author
-
Daniel R.F. Apolinário, Breno B.N. de França, DANIEL RODRIGO DE F APOLINARIO, CNPTIA, and BRENO B. N. DE FRANÇA, Unicamp.
- Subjects
Maintainability ,Coupling metrics ,Software engineering ,General Computer Science ,Microservices ,Software architecture ,Arquitetura de software ,Engenharia de software ,Software evolution ,Métricas de acoplamento ,Microsserviços ,Evolução de software - Abstract
The microservice architecture is claimed to satisfy ongoing software development demands, such as resilience, flexibility, and velocity. However, developing applications based on microservices also brings some drawbacks, such as the increased software operational complexity. Recent studies have also pointed out the lack of methods to prevent problems related to the maintainability of these solutions. Disregarding established design principles during the software evolution may lead to the so-called architectural erosion, which can end up in a condition of unfeasible maintenance. As microservices can be considered a new architecture style, there are few initiatives to monitoring the evolution of software microservice-based architectures. In this paper, we introduce the SYMBIOTE method for monitoring the coupling evolution of microservice-based systems. More specifically, this method collects coupling metrics during runtime (staging or production environments) and monitors them throughout software evolution. The longitudinal analysis of the collected measures allows detecting an upward trend in coupling metrics that could represent signs of architectural degradation. To develop the proposed method, we performed an experimental analysis of the coupling metrics behavior using artificially generated data. The results of these experiment revealed the metrics behavior in different scenarios, providing insights to develop the analysis method for the identification of architectural degradation. We evaluated the SYMBIOTE method in a real-case open source project called Spinnaker. The results obtained in this evaluation show the relationship between architectural changes and upward trends in coupling metrics for most of the analyzed release intervals. Therefore, the first version of SYMBIOTE has shown potential to detect signs of architectural degradation during the evolution of microservice-based architectures. Made available in DSpace on 2021-12-13T13:01:00Z (GMT). No. of bitstreams: 1 AP-Method-monitoring-coupling-2021.pdf: 2771345 bytes, checksum: bbf8364f58b8e1301a33015f92914381 (MD5) Previous issue date: 2021 Article number: 17.
- Published
- 2021
40. Sistema de informação laboratorial para o COVID-19
- Author
-
Rocha, Bruno Daniel Alves and Martins, António Constantino Lopes
- Subjects
Clean Architecture ,Healthcare ,Software architecture ,Sistema de informação ,Arquitetura de software ,COVID-19 ,Cuidados de saúde ,LIS ,LIMS ,Laboratório ,Information system ,Laboratory - Abstract
Submitted by Ana Maria de Sousa Rebelo (amsr@isep.ipp.pt) on 2022-01-03T17:22:16Z No. of bitstreams: 1 DM_BrunoRocha_2021_MEI.pdf: 4950367 bytes, checksum: d9ff63b90460474dd2fd9724164988e4 (MD5) Approved for entry into archive by Ana Maria de Sousa Rebelo (amsr@isep.ipp.pt) on 2022-01-03T17:22:35Z (GMT) No. of bitstreams: 1 DM_BrunoRocha_2021_MEI.pdf: 4950367 bytes, checksum: d9ff63b90460474dd2fd9724164988e4 (MD5) Made available in DSpace on 2022-01-03T17:22:35Z (GMT). No. of bitstreams: 1 DM_BrunoRocha_2021_MEI.pdf: 4950367 bytes, checksum: d9ff63b90460474dd2fd9724164988e4 (MD5) Previous issue date: 2021
- Published
- 2021
41. A maturity model based on ISO/IEC/IEEE 42010:2011 to identify technical debt in software architecture
- Author
-
Costa Júnior, Ademir Almeida da and Soares, Michel dos Santos
- Subjects
Maturity model ,Systematic mapping study ,Architecture description ,Arquitetura de software ,Engenharia de software ,Mapeamento sistemático ,Technical debt ,CIENCIA DA COMPUTACAO [CIENCIAS EXATAS E DA TERRA] - Abstract
Fundação de Apoio a Pesquisa e à Inovação Tecnológica do Estado de Sergipe - FAPITEC/SE Software architecture is considered an important area of Software Engineering, as it is useful for managing the development and maintenance of large scale software-intensive systems. The software architecture as a development product is useful for technical activities, such as describing the views and concerns of the future software products, as well as for management activities, including allocating tasks to each team and as an input for project management activities. One main issue when describing the software architecture is knowing what elements must be included in the architecture, and at what level of detail. Thus, the description of a Software Architecture has been considered a crucial deliverable in a software development process because it is read by many stakeholders when developing and maintaining complex software systems that are composed of multiple elements, including software, systems, hardware, and processes. Due to Software Architecture importance, the ISO/IEC/IEEE 42010:2011 standard was published in 2011. In order to facilitate and assist in the documentation of software architecture, many contributions have been proposed in the past decades for architectural standards, provided by academia and industry. This master thesis proposes the use of standard ISO/IEC/IEEE 42010:2011 to develop a maturity model, named ArchCaMo, which is based on sections 5, 6, and 7 of the mentioned standard. To support the designing of ArchCaMo, a Systematic Mapping Study was performed for describing studies that explicitly used the ISO/IEC/IEEE 42010:2011 standard, and identifying which parts of this standard were most considered in the literature. The ArchCaMo is useful to evaluate current architectures and analyze the rate of architecture debt. In addition, it is effective for organizations that are struggling with organizing, describing, and communicating the software architecture for multiple stakeholders. For each level of architecture maturity, the organization knows what to expect concerning activities and deliverables. Within this objective, three organizations are selected as case studies. The researchers conducted the survey by means of interviews with their software architect or the chief of the software architecture team. By analyzing the obtained results, the authors checked the compliance of their software architecture activities with ISO/IEC/IEEE 42010:2011. As a result, all three organizations were classified on level 1, which means that these organizations fail in at least one aspect to formalize and define the software architecture. Arquitetura de software é considerada uma área importante da Engenharia de Software, pois é útil para gerenciar o desenvolvimento e a manutenção de sistemas intensivos de software em larga escala. A arquitetura de software como produto de desenvolvimento é útil para atividades técnicas, como descrever as visões e expectativas dos futuros produtos de software, bem como para atividades de gerenciamento, incluindo a alocação de tarefas para cada equipe e como entrada para as atividades de gerenciamento de projetos. Um problema principal ao descrever a arquitetura do software é saber quais elementos devem ser incluídos na arquitetura e em que nível de detalhe. Assim, a descrição de uma arquitetura de software é considerada uma entrega crucial em um processo de desenvolvimento de software, porque é lida por muitas partes interessadas em desenvolver e manter sistemas de software complexos compostos por vários elementos, incluindo software, sistemas, hardware e processos. Devido à importância da arquitetura de software, o padrão ISO/IEC/IEEE 42010:2011 foi publicado em 2011. Para facilitar e auxiliar na documentação da arquitetura de software, muitas contribuições foram propostas nas últimas décadas para os padrões de arquitetura, fornecidos pela academia e pela indústria. Esta dissertação de mestrado propõe o uso da norma ISO/IEC/IEEE 42010:2011 para desenvolver um modelo de maturidade, denominado ArchCaMo, baseado nas seções 5, 6 e 7 da norma mencionada. Para apoiar o projeto do ArchCaMo, foi realizado um Mapeamento Sistemático para descrever estudos que usavam explicitamente o padrão ISO/IEC/IEEE 42010:2011 e identificar quais partes desse padrão foram mais consideradas na literatura. ArchCaMo é útil para avaliar arquiteturas atuais e analisar a taxa de dívida técnica da arquitetura. Além disso, ele é eficaz para organizações que estão lutando para organizar, descrever e comunicar a arquitetura de software para vários interessados. Para cada nível de maturidade da arquitetura, a organização sabe o que esperar em relação a atividades e entregas. Dentro deste objetivo, três organizações são selecionadas como estudos de caso. Os pesquisadores conduziram a pesquisa por meio de entrevistas com seu arquiteto de software ou com o chefe da equipe de arquitetura de software. Ao analisar os resultados obtidos, os autores verificaram a conformidade de suas atividades de arquitetura de software com a norma ISO/IEC/IEEE 42010:2011. Como resultado, todas as três organizações foram classificadas no nível 1, o que significa que essas organizações falham em pelo menos um aspecto em formalizar e definir a arquitetura do software. São Cristóvão, SE
- Published
- 2020
42. Digital Fabrication and Sustainable Design: the use of software modeling as a strategy to anticipate and minimize environmental impacts effects of subtractive production
- Author
-
Júlia Souza Abrão, Nunes, Viviane dos Guimarães Alvim, Sampaio, Claudio Pereira de, and Araujo, André Luís de
- Subjects
Processo de projeto sustentável ,Modeling software ,Diretrizes projetuais ,Arquitetura ,Digital Subtractive Manufacturing ,CNC milling machine ,Softwares de modelagem ,Sustainability ,Sustainable design process ,CNC Fresadora ,Arquitetura de software ,Sustentabilidade ,Design guidelines ,CIENCIAS SOCIAIS APLICADAS::ARQUITETURA E URBANISMO [CNPQ] ,Fabricação Digital Subtrativa - Abstract
CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior A revolução nos processos de fabricação que se tornaram digitais, com máquinas controladas por parâmetros computacionais, contribuiu para o surgimento dos softwares de modelagem, em que a criação se tornou muito mais complexa. Com isso, a relação entre projeto e produção, onde o designer controla todo o processo, desde a criação até a fabricação, é reconfigurada. Entretanto, a Fabricação Digital (FD) também apresenta muitos desafios a serem superados, principalmente aqueles relacionados ao meio ambiente. No caso da produção da CNC Fresadora, preocupa o alto volume de resíduos resultantes de projetos com alta complexidade formal, sem a possibilidade de reutilização. Esta pesquisa de mestrado, de base teórica exploratória e caráter qualitativo, combina etapas teóricas com práticas. Visa investigar as relações entre projeto e produção, especificamente aquelas relacionadas aos processos da CNC fresadora, e a interatividade com os novos softwares de modelagem digital, buscando detectar como os softwares digitais podem auxiliar o processo de projeto em busca da sustentabilidade. O objetivo principal é estudar o processo de projeto de produto já consolidado (MANZINI; VEZZOLI, 2008) sob a perspectiva da fabricação digital orientada a projetos complexos de pequena escala, a fim de subsidiar o desenvolvimento de projetos sustentáveis visando à fabricação subtrativa. Além disso, permitirá vislumbrar novos métodos de projeto sustentáveis aliados às tecnologias digitais, orientando jovens designers e estudantes nos processos de design, e permitindo se atingir soluções mais integradas, sistêmicas e ecoeficientes. A base teórica parte dos principais temas: Fabricação digital (KOLAREVIC, 2005; GERSHENFELD, 2012); Processo de projeto e fabricação (SHINGO, 1996; LJUNGBERG, 2005); Softwares de modelagem (OOSTERHUIS, 2005; BLIKSTEIN, 2013) e Sustentabilidade (WALKER, 2005; MANZINI, VEZZOLI, 2008). Considerando que no Brasil as metodologias voltadas para a fabricação digital ainda são incipientes, a pesquisa buscou investigar a atuação dos softwares digitais durante o processo de projeto, apresentando estratégias dessa aproximação no âmbito sustentável e também contribuindo com um código programável para trabalhar no plug-in paramétrico Grasshopper contribuindo e facilitando o processo de produto otimizado. The revolution in manufacturing processes that have become digital, with machines controlled by computational parameters, contributed to the emergence of modeling software, in which creation has become much more complex. Thus, the relationship between design and production, where the designer controls the entire process, from creation to manufacture, is reconfigured. However, Digital Fabrication (FD) also presents many challenges to be overcome, especially those related to the environment. In the case of CNC milling machine production, it concerns the high volume of waste resulting from projects with high formal complexity, without the possibility of reuse. This master's research, with an exploratory theoretical basis and qualitative character, combines theoretical steps with practices. It aims to investigate the relationships between design and production, specifically those related to CNC milling processes, and interactivity with new digital modeling software, seeking to detect how digital applications can assist the design process in search of sustainability. The main objective is to study the already consolidated product design process (MANZINI; VEZZOLI, 2008) from the perspective of digital manufacturing oriented to complex small-scale projects, in order to subsidize the development ofsustainable projects aiming at subtractive manufacturing. In addition, it will make it possible to envision new sustainable design methods combined with digital technologies, guiding young designers and students in the design processes, and allowing them to achieve more integrated, systemic and eco-efficient solutions. The theoretical basis is based on the main themes: Digital manufacturing (KOLAREVIC, 2005; GERSHENFELD, 2012); Design and manufacturing process (SHINGO, 1996; LJUNGBERG, 2005); Modeling software (OOSTERHUIS, 2005; BLIKSTEIN, 2013) and Sustainability (WALKER, 2005; MANZINI, VEZZOLI, 2008). Considering that in Brazil the methodologies for digital manufacturing are still incipient, the research sought to investigate the performance of digital applications during the design process, presenting strategies of this approach in the sustainable scope and also contributing with a programmable code to work on the Grasshopper parametric plug-in contributing and facilitating the optimized product process. Dissertação (Mestrado)
- Published
- 2020
43. A fog computing-based software architecture for patient-centered management of medical records
- Author
-
Silva, Cícero Alves da, Venâncio Neto, Augusto José, Batista, Thais Vasconcelos, Almeida, André Gustavo Duarte de, Trinta, Fernando Antônio Mota, and Aquino Júnior, Gibeon Soares de
- Subjects
Blockchain ,Internet das coisas ,E-Saúde ,Arquitetura de software ,Computação em Névoa - Abstract
O envelhecimento da população mundial e o crescimento do número de pessoas com do-enças crônicas têm aumentado os gastos com atendimento médico. Desse modo, o uso de soluções tecnológicas, inclusive as baseadas em Internet das Coisas, vêm sendo am-plamente adotadas na área médica no intuito de melhorar a saúde dos pacientes. Neste contexto, abordagens baseadas em Computação em Nuvem têm sido adotadas para re-alizar o armazenamento e processamento das informações geradas nessas soluções. No entanto, o uso de Nuvem pode gerar atrasos intoleráveis para aplicações médicas. Assim,o paradigma de Computação em Névoa surgiu como uma alternativa para contornar esse problema, provendo computação e armazenamento mais próximo das fontes de dados. En-tretanto, a gestão dos dados médicos armazenados na Névoa ainda é um desao. Além do mais, características de privacidade, condencialidade e interoperabilidade precisam ser consideradas em abordagens que tenham o objetivo de explorar esta problemática. As-sim, este trabalho dene uma arquitetura de software, baseada em Computação em Névoa, projetada para prover o gerenciamento dos registros médicos centrado no paciente. Estaarquitetura utiliza a tecnologia Blockchain para prover as características de privacidadenecessárias. Nesta tese também descreve-se um estudo de caso que analisou os requisitosde privacidade, condencialidade e interoperabilidade em um cenário de Home Care. Porm, o comportamento do desempenho relacionado ao acesso aos dados gerenciadas naarquitetura proposta foi analisado no cenário mencionado. The aging of the world's population and the growth in the number of people with chronic diseases have increased expenses with medical care. Thus, the use of technological solutions, including Internet of Things-based solutions, has been widely adopted in the medical field to improve the patients' health. In this context, approaches based on Cloud Computing have been used to store and process the information generated in these solutions. However, using Cloud can create delays that are intolerable for medical applications. Thus, the Fog Computing paradigm emerged as an alternative to overcome this problem, bringing computation and storage closer to the data sources. However, managing medical data stored in Fog is still a challenge. Moreover, characteristics of privacy, con dentiality, and interoperability need to be considered in approaches that aim to explore this problem. So, this work de nes a Fog Computing-based software architecture designed to provide patient-centered management of medical records. This architecture uses Blockchain technology to provide the necessary privacy features. This thesis also describes a case study that analyzed the requirements of privacy, confidentiality, and interoperability in a Home Care scenario. Finally, the performance behavior related to access to data managed in the proposed architecture was analyzed in the mentioned scenario.
- Published
- 2020
44. A Gestão da Informação aplicada ao acervo do Diário de Natal/O Poti: um enfoque na descrição arquivística e na curadoria de conteúdo através de um sistema computacional
- Author
-
Silva, Wellington Rodrigues da, Carvalho, Andrea Vasconcelos, Oliveira, Margarida Maria Dias de, Junqueira, Wagner, and Perales, Wattson José Saenz
- Subjects
Diário de Natal/O Poti ,NOBRADE ,Arquivologia ,Modelo MVC ,ISAD(G) ,Descrição arquivística ,Curadoria de conteúdo ,Arquitetura de Software - Abstract
Atualmente sob custódia da Universidade Federal do Rio Grande do Norte (UFRN), que tem como responsabilidade a sua preservação e divulgação, o espólio jornalístico do Diário de Natal/O Poti representa um acervo extremamente rico para a produção de saber sobre diversas áreas do conhecimento, tais como economia, política, artes, administração pública e história. Diante deste contexto, o objetivo geral desta pesquisa foi: analisar os elementos de descrição arquivística presentes nas normas nacionais e internacionais para simular a sua aplicabilidade sobre o acervo do Diário de Natal/O Poti em um sistema computacional. Os objetivos específicos foram: a) Identificar, por meio de uma pesquisa documental, as normas nacionais e internacionais de descrição arquivística atualmente em vigor; b) Definir as funções arquivísticas, os elementos de descrição e os metadados a serem aplicados na organização e processamento técnico do acervo; c) Formatar o Quadro de Arranjo do acervo a partir das tipologias documentais e coleções identificadas; d) Elaborar processos de curadoria de conteúdo visando contextualizar o acervo e agregar valor à informação; e) Definir qual a melhor solução de sistema computacional a ser utilizado para simular a aplicação prática da normatização e da curadoria de conteúdo; e f) Validar o banco de dados do sistema computacional de forma a exemplificar a aplicação prática da normatização e as suas vantagens na disseminação da informação e intercâmbio de dados. Tendo em vista que estas intervenções se inserem no âmbito da Ciência da Informação, foram pesquisados autores que versam sobre Gestão Documental, Arquivologia e organização de arquivos, proporcionando uma reflexão sobre como essas disciplinas se relacionam para o tratamento informacional. A metodologia escolhida foi a pesquisa-ação, onde ocorre a produção de conhecimento a partir da realização de uma pesquisa direcionada para um tema específico e, de maneira simultânea, é produzida uma ação visando a modificação de uma dada realidade. Os procedimentos de coleta de dados utilizados foram entrevista não estruturada, observação participante e pesquisa documental, tendo sido aplicada a análise de conteúdo para tratar as inferências e gerar os resultados. A validação institucional da pesquisa junto aos especialistas, os responsáveis pelo acervo, foi efetuada através de um grupo focal. O objetivo geral foi atingido com o desenvolvimento de um protótipo computacional para simular a normatização em vigor e os processos de curadoria de conteúdo e, como resultados, foram apresentadas propostas que possibilitam o tratamento desta massa documental conforme recomendações do Conselho Internacional de Arquivos (CIA). Espera-se que esta pesquisa contribua para uma eficiente classificação, descrição e divulgação do acervo do Diário de Natal/O Poti, criando assim um ambiente que propicie a criação do conhecimento. Currently in the custody of the Federal University of Rio Grande do Norte (UFRN), which is responsible for its preservation and dissemination, the journalistic collection of the Diário de Natal / O Poti represents an extremely rich collection for the production of knowledge on various areas of knowledge , such as economics, politics, arts, public administration and history. Given this context, the general objective of this research was: to analyze the elements of archival description present in national and international standards to simulate their applicability on the collection of Diário de Natal / O Poti in a computer system. The specific objectives were: a) To identify, through documentary research, the national and international standards of archival description currently in force; b) Define the archival functions, the elements of description and metadata to be applied in the organization and technical processing of the collection; c) Format the Collection Arrangement Chart based on the documentary types and collections identified; d) To elaborate content curation processes aiming to contextualize the collection and add value to the information; e) Define the best computer system solution to be used to simulate the practical application of standardization and content curation; and f) Validate the computer system database in order to exemplify the practical application of standardization and its advantages in the dissemination of information and data exchange. Bearing in mind that these interventions fall within the scope of Information Science, authors were researched that deal with Document Management, Archivology and file organization, providing a reflection on how these disciplines relate to informational treatment. The chosen methodology was action research, where knowledge is produced based on the realization of a research directed to a specific theme and, simultaneously, an action is produced aiming at the modification of a given reality. The data collection procedures used were unstructured interviews, participant observation and documentary research, and content analysis was applied to address the inferences and generate the results. The institutional validation of the research with the specialists, those responsible for the collection, was carried out through a focus group. The general objective was achieved with the development of a computational prototype to simulate the national and international standards of archival description currently in force and the content curation processes and, as a result, proposals were presented that allow the treatment of this documentary mass as recommended by the International Council of Archives (CIA). It is hoped that this research will contribute to an efficient classification, description and dissemination of the newspaper Diário de Natal/O Poti, thus creating an environment that allows the creation of knowledge.
- Published
- 2020
45. Proveniência de dados distribuída: computação em nuvem e blockchains para fomentar controle de privacidade, confiança e confiabilidade
- Author
-
Lautert, Filipe, Gomes Junior, Luiz Celso, Pigatto, Daniel Fernando, Maziero, Carlos Alberto, and Berardi, Rita Cristina Galarraga
- Subjects
Ciência da Computação ,CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO [CNPQ] ,Software architecture ,Web applications ,Electronic data processing - Distributed processing ,Interface de programas aplicativos (Software) ,Reliability ,Aplicações Web ,Proteção de dados ,Computação em nuvem ,Sistemas de recuperação da informação ,Confiabilidade ,Arquitetura de software ,Cloud computing ,Application Program Interfaces (Computer software) ,Processamento eletrônico de dados - Processamento distribuído ,Data protection - Abstract
Sistemas para Proveniência de Dados permitem o rastreamento da origem e evolução da informação, melhorando a confiança entre as partes. Este é um requisito importante para uma ampla gama de aplicações, como vigilância sanitária de alimentos, cadeias de abastecimento e monitoramento de surtos epidêmicos, entre outros. Muitas dessas aplicações são inerentemente distribuídas e exigem altos níveis de privacidade e confiança. Computação em névoa e Blockchains são soluções tecnológicas recentes que nasceram de avanços da computação em nuvem e distribuída. A computação em névoa concentra-se em trazer a nuvem para mais perto do usuário final, enquanto Blockchain fornece transparência sem uma entidade centralizada. Ambos podem ser complementares, com a computação em névoa distribuindo dados e o armazenamento, enquanto o Blockchain mantém a consistência e confiabilidade. Este trabalho descreve uma arquitetura que permite o rastreamento da proveniência dos dados em uma camada de névoa distribuída. Blockchains são empregados para fornecer transparência, e cada nó da névoa tem controle sobre o que é tornado público na nuvem. Por meio de serviços que mantêm as informações consistentes entre todas as partes interessadas, a arquitetura proposta permite proveniência de dados rápida e confiável para clientes executando na névoa. As informações do sistema estão associadas a uma prova de autenticidade, e os autores têm controle sobre a publicação dessas informações. A arquitetura foi desenvolvida com base no modelo de proveniência Prov definido pelo W3C, simplificando a adoção da solução. Foi desenvolvida uma aplicação composta por um cliente e uma API restful que é capaz de armazenar e compartilhar informações de proveniência em um Blockchain usando padrões abertos. São relatados resultados de testes extensivos demonstrando que a arquitetura proposta tem um desempenho adequado em vários cenários de recursos e diferentes níveis de confiabilidade de rede. Data Provenance systems enable tracking of the origin and evolution of information, improving trust among parties. This is an important requirement for a wide range of applications such as food safety, supply chains, and monitoring of epidemic outbreaks. Many of these applications are inherently distributed and require high levels of privacy and trust. Fog computing and Blockchains are recent technological solutions that were born from advancements in Cloud and distributed computing. Fog computing focuses on bringing the Cloud closer to the edge user while Blockchain provides transparency without a trusted centralized entity. Both can be complimentary as Fog computing spreads the data and computer storage while Blockchain can keep it consistent and trustworthy. This dissertation describes an architecture that allows the tracking of data provenance in a widearea distributed Fog layer. While Blockchains are employed to provide transparency, each Fog node has control over what is made public on the Cloud. The architecture proposed in this paper enables fast and reliable data provenance for clients executing in the Fog node using software services that keep the information consistent across all interested parties in the Cloud. Information in the system is associated with a proof of authenticity, but authors have control over the eventual publication of such information.The architecture was built upon the well established provenance model W3C Prov, which simplifies adoption of the framework. An application was developed consisting of a client and a restful API that is able to store and share provenance information in a Blockchain using open standards. Results from extensive tests are reported showing that the proposed architecture performs adequately in several scenarios of varying resources and levels of network reliability.
- Published
- 2020
46. Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
- Author
-
Melo, Deyvisson Carlos Borges de, Kulesza, Uira, Santos Neto, Baldoino Fonseca dos, and Barbosa, Eiji Adachi Medeiros
- Subjects
Spring batch ,Arquitetura de software ,Aplicações batches ,Code smells ,Design smells ,Processamento em lote - Abstract
Para atender as constantes mudanças de requisitos e necessidades de novas funcionalidades, os sistemas de software permanecem sempre em um estado de constante evolução. O controle do processo de evolução e manutenção de um software é crucial e uma das fases mais complicadas do desenvolvimento de software. Se esse controle não for gerenciado, os sistemas correm o risco de degradação de importantes atributos de qualidade que consequentemente afetam diretamente o grau de manutenibilidade das aplicações. Fatores como inexperiência, falta de conhecimento e pressões em relação ao tempo de conclusão de tarefas levam a adoção de más práticas de design de software e são a origem dos Design Smells. Para se obter um melhor controle do processo de evolução e manutenção de um software, é importante saber identificar a ocorrência de Design Smells nos projetos, e novos estudos indicam que a utilização de informações específicas do contexto da aplicação, como a natureza dos programas ou papeis arquiteturais utilizados, podem influenciar no processo de detecção e na identificação de problemas que só existem no contexto estudado. Este trabalho realiza um estudo para a definição e identificação de Design Smells específicos ao contexto das aplicações de processamento em lotes, e propõe a definição de um catálogo de 7 Design Smells e a implementação de uma ferramenta para automatizar o processo de detecção. A ferramenta implementada foi utilizada em um estudo de caso em que os códigos de 40 sistemas foram analisados. Nesse estudo, observou-se que os smells específicos ao contexto das aplicações de processamento em lotes afetaram quase 20% das classes e mais que 30% das linhas de código dos sistemas analisados. Também foi possível observar, por meio da aplicação da ferramenta em várias versões de dois sistemas, que o número de smells se manteve constante ao longo das versões, e em alguns casos até cresceu. O que pode evidenciar a falta de conhecimento da existência dos smells e dos impactos negativos que podem incorporar nas aplicações. To meet the constant changes of requirements and needs for new features, software systems always remain in a state of constant evolution. The control of the software evolution and maintenance process is crucial and one of the most complicated phases of software development. If this control is not managed, systems are at risk of degradation of important quality attributes, that consequently directly affect the degree of maintainability of applications. Factors such as inexperience, lack of knowledge and pressure in relation to the time to complete tasks lead to the adoption of bad practices of software design and are the origin of Design Smells. In order to obtain a better control of the software evolution and maintenance process, it is important to know how to identify the occurrence of Design Smells in projects, and new studies indicate that the use of information specific to the context of the application, such as the nature of the programs or architectural roles used, can influence the detection process and the identification of problems that only exist in the studied context. This work carries out a study to define and identify Design Smells specific to the context of batch applications, and proposes the definition of a catalog with 7 Design Smells and the implementation of a tool to automate the detection process. The implemented tool was used in a case study in which the codes of 40 systems were analyzed. In this study, it was observed that smells specific to the context of batch processing applications affected almost 20% of the classes and more than 30% of the lines of code of the systems analyzed. It was also possible to observe, through the application of the tool in several versions of two systems, that the number of smells remained constant throughout the versions, and in some cases it even grew. What can evidence the lack of knowledge about the existence of the smells and the negative impacts that they can incorporate in the applications.
- Published
- 2020
47. A 5g vehicle-to-everything ecosystem with internet of vehicles based approaches [recurso eletrônico]/Carlos Renato Storck ; orientador: Fatima de Lima Procopio Duarte
- Author
-
Storck, Carlos Renato, Figueiredo, Fátima de Lima Procópio Duarte Orientador, and Pontifícia Universidade Católica de Minas Gerais.Programa de Pós-Graduação em Informática Instituição
- Subjects
Sistemas de comunicação sem fio-Medidas de segurança ,Sistemas de comunicação móvel-Pesquisa ,Processamento de sinal ,621.391.6 ,Arquitetura de software ,Sensoriamento remoto ,Comunicações digitais ,Redes de sensores ,Foundation (Framework) - Abstract
Tese (Doutorado) - Pontifícia Universidade Católica de Minas Gerais, Programa de Pós-Graduação em Informática. Bibliografia: f. 1982-199 The past century's future vision used to include wireless phones, people talking through screens, smart vehicles, everything interconnected with everything. The future has arrived. Nowadays, the Internet connects more things than people. The vehicles are among many things connected to the Internet. They are increasingly intelligent, automatic, and connected. The vehicle networks can be useful in the control, alert, and minimization of accidents. They can also monitor traffic, and provide multimedia entertainment applications on board. Vehicles can be connected among themselves in Vehicle-to-Vehicle (V2V) mode, or they can be connected to other elements in a virtual environment called Vehicle-to-Everything (V2X). The Internet of Vehicles (IoV) is an open and integrated network system with several components, including vehicles, people, and things that needs a good network infrastructure to be part of smart cities. The Fifth Generation (5G) cellular network is the certainly infrastructure to connect vehicles. 5G technology influences IoV and the development of smart cars. Created by Cellular-based V2X (C-V2X) technology, the virtual environment can provide greater comfort to drivers, more safety on roads through the Advanced Driver Assistance Systems (ADAS) and autonomous steering for more reliable connections. The solutions must be compatible with 5G communication network and beyond. 5G aims to provide ultra-high bandwidth to allow enough network capacity to many connected things. The air interfaces at millimeter Wave (mmWave) frequencies and innovations across the wireless technology in the V2X ecosystem are some features to provide it. New network technologies are required to support the 5G new services models. Vehicles, things, and people fully connected are the main goal of the IoV and the V2X technologies. But there are a set of challenges related to the V2X by IoV applications connectivity such as lack of infrastructure and suitable coverage; connected vehicle density; integration of distinct technologies, services, and standards; user-based services installation; and a very high number of handovers in scenarios with great mobility.This thesis proposes strategic approaches for the IoV connection over a 5G V2X ecosystem, with the technologies integration. The motivation for the development of this work has come from challenges to solve actual problems such as connected vehicle density; integration of distinct technologies, services, standards; and mobility. Despite the expected capacity gain, the densification of the cellular network causes difficulties in the cell selection. Thus, there may be a greater number of failed and unnecessary handovers (ping-pong effect), longer delays and energy consumption, and high packet losses. Innovation is needed across the wireless technology in the V2X ecosystem but the lack of a common international standard is a big problem. In addition, the high vehicular mobility makes it difficult to maintain the connection of the network nodes.The goals of this work were the characterization of the IoV architecture supported by a 5G network on C-V2X communications; the proposition of a 5G V2X ecosystem; the presentation of a probabilistic approach about user-centered Virtual Cells (V-Cells) selection; the indication of a handover decisions solution for 5G Ultra-Dense Network (UDN) connected vehicles; and the validation of a 5G network technology structure model as a new services provider facilitator. The need for strategic solutions for IoV connections in a 5G V2X ecosystem lays on the problem that such technology does not exist. This thesis proposal and contributions include specific approaches to the virtual cell installation, the deal with the frequent handovers, to provide the demanded onboard video entertainment, and location-based services under Software-Defined Networking (SDN) control to enable the efficient performance of C-V2X communication in applications supported by the 5G network through IoV connections.This thesis has five parts. In the first part (chapter 2), the study about IoV by 5G is presented highlighting the V2X integrated network, architecture, features, standards, communications protocols, infrastructure, modes, evaluation, recent advances, technological challenges and future directions. In the second part (chapter 3), a 5G V2X ecosystem for providing IoV is proposed indicating a vehicular mobility simulation with Dynamic Adaptive Streaming over HTTP (DASH) as an adaptive algorithm used in rural and urban scenarios with different densities of vehicle that are connected to the 5G, considering playback interruptions, video quality, transitions, buffer level, bit-rate and frequency. In the third part (chapter 4), a vehicle-centric probabilistic approach is presented to address the problem of V-Cells management in an UDN with scenarios of vehicles in high mobility, discussing the evaluation results of the use of complex networks to the cell selection. In the fourth part (chapter 5), the main contribution of the thesis is finally presented by the 5G Vehicular Handover (FiVH) as handover decision for vehicles that are connected in 5G UDN, pointing out in the approach the inter-v-cell relevance, the congestion control and balancing, but also the average speed and Quality of Service (QoS) rules. The thesis uses a combination of complex network metrics to choose the best virtual cell for the vehicle in motion through an optimal path. The thesis considered the integration with SDN controller, since the 5G cellular network needs high-speed mobility support. In the fifth part (chapter 6), a 5G network technology model is proposed for location-based services to support V2X applications and other smart city services, considering the Urban Computing Framework in 5G Networks (CoUrbF5G). The ns-3 discrete event simulator and the Mininet network emulator were used for simulations and emulations of the proposed solutions. The obtained results have shown the potential of the proposed solutions to guarantee quality of services using 5G V2X communications. Keywords: IoV connections. 5G V2X communications. Connected vehicles. C-V2X. 5G UDN. FiVH. A visão de futuro, do século passado, costumava incluir telefones sem fio, pessoas falando através de telas, veículos inteligentes, tudo interconectado com tudo. O futuro chegou. Hoje em dia, a Internet conecta mais coisas que pessoas. Os veículos estão entre as muitas coisas conectadas à Internet. Eles estão cada vez mais inteligentes, automáticos e conectados. As redes de veículos podem ser úteis no controle, no alerta e na minimização de acidentes. Eles também podem monitorar o tráfego e fornecer aplicativos de entretenimento multimídia a bordo. Os veículos podem ser conectados, entre si, no modo ?veículo a veículo? (V2V - Vehicle-to-Vehicle), ou podem ser conectados a outros elementos em um ambiente virtual denominado ?veículo para tudo? (V2X - Vehicle-to-Everything). A ?Internet de veículos? (IoV ? Internet of Vehicles) é um sistema de rede aberto e integrado com vários componentes, incluindo veículos, pessoas e coisas que precisam de uma boa infraestrutura de rede para fazer parte de cidades inteligentes.A rede celular de quinta geração (5G - Fifth Generation) é certamente a infraestrutura para conectar veículos. A tecnologia 5G influencia a IoV e o desenvolvimento de carros inteligentes. Criado pela tecnologia ?celular baseado no V2X? (C-V2X - Cellular-based V2X), o ambiente virtual pode proporcionar maior conforto aos motoristas, mais segurança, nas estradas, por meio do ?sistema avançado de assistência ao motorista? (ADAS - Advanced Driver Assistance Systems) e da direção autônoma para conexões mais confiáveis. As soluções devem ser compatíveis com a rede de comunicação 5G e além. As redes 5G visam fornecer largura d
- Published
- 2020
48. Um plano de controle seguro e distribuído para redes definidas por software
- Author
-
Silva, Jefferson Pereira da and Alchieri, Eduardo Adilio Pelinson
- Subjects
Segurança da informação ,Redes Definidas por Software (SDN) ,Arquitetura de software ,Controladores - Abstract
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020. Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES). Redes Definidas por Software (SDN) surgiram como um novo paradigma para gerencia- mento de redes, definindo uma arquitetura que separa os planos de dados e de controle. Uma arquitetura SDN baseada em um controlador centralizado não escala e nem tolera falhas, pois apresenta um ponto único de falhas. Controladores distribuídos baseados em um modelo de consistência eventual para gerenciamento do estado da rede também apre- sentam sérios problemas: um modelo de programação complexo para as aplicações de rede; e pode gerar anomalias (como loops) na rede. Consequentemente, soluções considerando um modelo de dados com consistência forte para o armazenamento das informações da rede SDN foram propostos. Nestas abordagens, os controladores distribuídos usam um armazenamento de dados consistente e tolerante a falhas para armazenar o estado rele- vante das aplicações e da rede. Infelizmente, estas propostas existentes não consideram requisitos fundamentais de segurança para a arquitetura SDN. Este trabalho apresenta nossos esforços no projeto, implementação e avaliação de um modelo seguro e consistente para o plano de controle, baseado no DepSpace, que é um espaço de tuplas com pro- priedades de segurança. Modificamos duas aplicações de rede (Aprendizado de Switch e Balanceador de carga) de um controlador de mercado (i.e., Floodlight), integrando ao DepSpace e verificamos os custos introduzidos nesta arquitetura. Além disso, verificamos os custos apenas com a utilização do DepSpace considerando os acessos necessários para cada aplicação. Por fim, verificamos o uso de um mecanismo de coordenação extensível, presente no DepSpace para melhorar o desempenho da nossa arquitetura. Experimentos foram realizados aplicando nossa proposta e foi possível verificar o ganho de benefícios associados a manutenção de informações sensíveis em um espaço seguro evitando acessos indevidos e garantindo uma alta disponibilidade com a utilização de um armazenamento distribuído e seguro. Resultados mostram, ainda, um custo de aproximadamente 0, 4 se- gundos para se conectar ao armazenamento de dados seguro, significando um custo muito pequeno comparado com as vantagens das propriedades de seguranças adquiridas com o uso de tal arquitetura. Software Defined Networks (SDN) emerged as a new paradigm for network management, defining an architecture that physically decouples the control and data planes. A SDN ar- chitecture based on a central controller does not scale and neither is fault-tolerant since it presents a single point of failure. Distributed SDN controllers based on eventually consis- tent model for the network state also brings serious drawbacks: a complex programming model for network applications; and it can lead to network anomalies. Consequently, so- lutions considering a strong consistent model for the network state are emerging. In these approaches, the distributed controllers use a consistent and fault-tolerant data store that keeps relevant network and applications state. Unfortunately, these approaches do not consider security requirements for the SDN network. This work aims to design, implement and evaluate a secure and consistent model for the control plane based on DepSpace, a secure tuple space implementation. Experimental results show the practical feasibility of the proposed architecture. We modified two network applications (switch learning and load balancer) from a market controller (i.e., Floodlight), integrated them in DepSpace and analysed the costs introduced in this architecture. In addition, we check costs only with the use of DepSpace considering the accesses necessary in each application. Finally, we verified the use of extensible coordination, present in DepSpace, to improve the per- formance of our architecture. Experiments were performed using our proposal to verify the benefits with the use of a distributed and secure storage. Results also show an ap- proximate cost of 0.4 seconds to connect to secure data storage, meaning a very low cost when compared to the advantages of security properties provided by the architecture.
- Published
- 2020
49. An architectural style for internet of things
- Author
-
Santos, Lidiane Oliveira dos, Nakagawa, Elisa Yumi, Cavalcante, Everton Ranielly de Sousa, Oquendo, Flávio, Leite, Jair Cavalcanti, and Batista, Thais Vasconcelos
- Subjects
Internet das Coisas (IoT) ,CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO [CNPQ] ,Arquitetura de software ,Linguagem de descrição arquitetural ,Estilo arquitetural - Abstract
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES A Internet das Coisas (Internet of Things – IoT) vem contribuindo para uma nova revolução tecnológica, promovendo expressivo impacto social. A ideia básica de IoT é permitir conectividade, interação e integração de objetos inteligentes endereçáveis de forma única, que colaboram uns com os outros para atingir objetivos comuns. Embora IoT seja um paradigma promissor para a integração de dispositivos e tecnologias de comunicação, é necessário rever os métodos tradicionais de desenvolvimento de software, considerando as particularidades exigidas pelos sistemas de IoT. Dado o papel fundamental da arquitetura de software no desenvolvimento de sistemas intensivos de software, os desafios relacionados ao desenvolvimento de sistemas de IoT devem ser considerados desde o nível arquitetural. Arquiteturas de software permitem que os stakeholders raciocinem sobre as decisões do projeto antes da implementação, definam restrições, analisem atributos de qualidade e sejam melhor orientados em termos de manutenção e evolução do sistema. No contexto de arquitetura de software, os estilos arquiteturais têm um papel primordial uma vez que especificam os elementos arquiteturais comumente utilizados por uma determinada família de sistemas, juntamente com um conjunto de restrições sobre como esses elementos devem ser usados. Portanto, um estilo arquitetural fornece um ponto de partida para uma modelagem coerente da arquitetura de software, permitindo o reuso de elementos e de um conjunto de decisões arquiteturais previamente definidas e validadas, facilitando o processo de modelagem da arquitetura. A literatura dispõe de muita informação sobre IoT e estilos arquiteturais, porém, existe uma lacuna na integração dos mesmos. As vantagens proporcionadas pelo uso de estilos arquiteturais podem beneficiar a especificação arquitetural de sistemas de IoT, porém, até o momento, não há na literatura um estilo arquitetural específico para esse tipo de sistema. No contexto de arquitetura de software para sistemas de IoT, a norma ISO/IEC 30141 propõe um modelo de referência e uma arquitetura de referência para sistemas de IoT, e representa um consenso internacional sobre arquitetura de software para IoT. Porém, tal norma não define um estilo arquitetural. Visando preencher essa lacuna, o principal objetivo deste trabalho é a definição e automatização de um estilo arquitetural que ofereça diretrizes para a modelagem da arquitetura de software de sistemas de IoT, em conformidade com a norma ISO/IEC 30141. A especificação do estilo é realizada usando a linguagem SysADL, uma Linguagem de Descrição Arquitetural (ADL) voltada para a modelagem de sistemas intensivos de software. Esse trabalho também apresenta avaliações do estilo proposto, realizadas através de: (i) uma avaliação de expressividade do estilo utilizando o framework proposto por PATIG (2004), (ii) uma avaliação de usabilidade do estilo, utilizando o framework Cognitive Dimensions of Notation (CDN) (BLACKWELL; GREEN, 2003) e (iii) uma avaliação experimental por meio de dois experimentos controlados para avaliar os efeitos proporcionados pelo uso do estilo. The Internet of Things (IoT) has been contributing to a new technological revolution, promoting a significant social impact. The basic idea of IoT is to enable connectivity, interaction, and integration of uniquely addressable intelligent objects that collaborate with each other to achieve common goals. Although IoT is a promising paradigm for the integration of communication devices and technologies, it is necessary to review the traditional methods of software development considering the particularities required by IoT systems. Given the fundamental role of software architecture in the development of intensive software systems, the challenges related to the development of IoT systems must be considered since the architectural level. A software architecture allows stakeholders to reason about project decisions prior to implementation, define constraints, analyze quality attributes, and be better oriented in terms of system maintenance and evolution. In the context of software architecture, architectural styles have a key role since they specify the architectural elements commonly used by a particular class of systems, along with a set of constraints on how these elements are to be used. Therefore, an architectural style provides a starting point for a coherent modeling of the software architecture, allowing the reuse of elements and a set of previously defined and validated architectural decisions, thus facilitating the architecture modeling process. The literature has much information about IoT and architectural styles, but there is a gap in their integration. The advantages offered by the use of architectural styles can benefit the architectural specification of IoT systems, but there is still no specific architectural style for this type of system in the literature. In the context of software architecture for IoT systems, the ISO/IEC 30141 standard proposes a reference model and a reference architecture for IoT systems, and represents an international consensus on software architecture for IoT. However, such a standard does not define an architectural style. Aiming to fill this gap, the main goal of this work is the definition and automation of an architectural style that offers guidelines for modeling the software architecture of IoT systems, in accordance with the ISO/IEC 30141 standard. The style is specified using the SysADL language, an Architectural Description Language (ADL) focused on the modeling of intensive software systems. This work also presents evaluations of the proposed style, performed through: (i) an evaluation of expressiveness of the style using the framework proposed by PATIG (2004), (ii) a usability evaluation of the style using the Cognitive Dimensions of Notation (CDN) framework (BLACKWELL; GREEN, 2003) and (iii) an experimental evaluation using two controlled experiments to evaluate the effects provided by the use of style.
- Published
- 2020
50. Desenvolvimento de Software requer Processo e Gestão
- Author
-
Antonio Mendes Silva Filho
- Subjects
Software ,processo ,arquitetura de software ,gestão ,Social sciences (General) ,H1-99 - Abstract
Software, de modo genérico, é uma entidade que se encontra em quase constante estado de mudança. Essas mudanças ocorrem por necessidade de corrigir erros existentes no software e/ou de adicionar novos recursos e funcionalidades. Igualmente, os sistemas computacionais (isto é, aqueles que têm software como um de seus principais elementos) também sofrem mudanças freqüentemente. Essa necessidade evolutiva do sistema de software o torna predisposto a defeitos (isto é ‘não confiável’), podendo resultar em atraso na entrega e em custos acima do estimado. Concomitante com esses fatos, o crescimento em tamanho e complexidade dos sistemas de software exige que os profissionais da área raciocinem, projetem, codifiquem e se comuniquem por meio de componentes (de software) e qualquer concepção ou solução de sistema passa então para o nível arquitetural. Nesse sentido, o objetivo deste artigo é discutir e explorar o fato de que software não é construído como uma TV ou geladeira, mas desenvolvido. E, o desenvolvimento de software requer processo (de desenvolvimento) e gestão (do projeto de desenvolvimento). O artigo destaca a importância de se ter processo e gestão de projeto para obtenção de um produto ou serviço.
- Published
- 2011
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.