Spelling suggestions: "subject:"8oftware architecture"" "subject:"5oftware architecture""
141 |
AGIRA - Um processo ágil de desenvolvimento de software baseado em arquiteturas de referência / AGIRA - An agile software development method based on reference architecturesZani, Vinícius Augusto Tagliatti 04 March 2013 (has links)
A área de pesquisa de Arquitetura de Software tem recebido cada vez mais atenção dentro da Engenharia de Software, visto que arquiteturas de software têm tido papel determinante para a qualidade de sistemas de software. Nesse contexto, arquiteturas de referência surgiram como um tipo especial de arquitetura que provê diretrizes para construção de arquiteturas de software de uma dada classe de sistemas, promovendo também o reúso do conhecimento sobre um dado domínio de aplicação. Considerando sua relevância, arquiteturas de referência têm sido propostas e utilizadas com sucesso em diferentes domínios. Em outra perspectiva, a indústria de software tem cada vez mais adotado métodos ágeis de desenvolvimento de software, visando, entre outros aspectos, diminuir o tempo de entrega de seus produtos. De um modo geral, esses métodos têm como característica comum ciclos curtos de produção e entrega no desenvolvimento de software. Consequentemente, minimizam a quantidade de documentação gerada no processo. Dessa forma, parece ser conflitante a adoção de arquiteturas de referência no contexto de métodos ágeis. No entanto, iniciativas já podem ser encontradas, apesar de haver uma carência de trabalhos que propõem a utilização de ambas de forma integrada. Dessa forma, o principal objetivo desse projeto de mestrado foi o estabelecimento um processo ágil de desenvolvimento de software, denominado AGIRA, que explora as vantagens do uso de arquiteturas de referência. A avaliação de tal processo foi realizada em duas frentes. A primeira foi por meio da condução de um action case com alunos de uma disciplina de Arquitetura de Software da Universidade de Bolzano. A segunda frente foi conduzida através de um questionário com especialistas da indústria. Resultados alcançados mostram que o AGIRA tem potencial para ser utilizado pela indústria e que, dessa forma, arquiteturas de referência podem ser aplicadas juntamente com métodos ágeis / Software architectures and reference architectures have been playing a significant role in determining the success of software systems. In particular, reference architectures have emerged, achieving well-recognized understanding of specific domains, promoting reuse of design expertise and facilitating the development of systems. In another perspective, agile methods have been widely adopted as a promising iterative, incremental and collaborative software development process, including by the software industry. However, it is observed that reference architectures have not been widely used together with agile methods. Therefore, the main advantage of reference architectures, i.e., the reuse of knowledge contained in such architectures, has not been combined with the agility promoted by these methods. In this sense, the main objective of this master´s project was to establish an agile software development process, named AGIRA, that aims at exploring the advantages of the use of reference architectures. The evaluation of the process was done in two parts. The first one was through the conduction of an action case with students of a Software Architecture course in the University of Bolzano. The second part of the evaluation was done in the industry context, through the conduction of a survey with experts in software architecture and agile methods. Results point out that AGIRA has potential to be used by the industry and, consequently, reference architectures can be used in the context of agile methods
|
142 |
Checagem de arquiteturas de controle de veículos submarinos: uma abordagem baseada em especificações formais. / Model checking underwater vehicles control architectures: a formal specification based approach.Assis, Fábio Henrique de 08 July 2009 (has links)
O desenvolvimento de arquiteturas de controle para veículos submarinos é uma tarefa complexa. Estas podem ser caracterizadas pelos seguintes atributos: tempo real, multitarefa, concorrência e comunicações distribuídas em rede. Neste cenário, existem múltiplos processos sendo executados em paralelo, possivelmente distribuídos, e se comunicando uns com os outros. Neste contexto, o modelo comportamental pode levar a fenômenos como deadlocks, livelocks, disputa por recursos, entre outros. A fim de se tentar minimizar os efeitos de tais dificuldades, neste trabalho será apresentado um método para checagem de modelos de arquiteturas de controle de veículos submarinos baseado em Especificações Formais. A linguagem de especificação formal escolhida foi CSP-OZ, uma combinação de CSP e Object-Z. Object-Z é uma extensão orientada a objetos da linguagem Z para a especificação de predicados, tipicamente pré e pós condições, além de invariantes de dados. CSP (Communicating Sequential Process) é uma álgebra de processos desenvolvida para descrever modelos comportamentais de processos paralelos. A checagem de modelos especificados formalmente consiste na análise das especificações para verificar se um sistema possui certas propriedades através de uma busca exaustiva em todos os estados em que este pode entrar durante sua execução. Neste contexto, é possível checar corretude, livelocks, deadlocks, etc. Além disso, pode-se relacionar duas especificações diferentes a fim de se checar relações de refinamento. Para as especificações, o verificador de modelos FDR da Formal Systems Ltd. será utilizado. A implementação é desenvolvida utilizando um perfil da linguagem Ada denominado RavenSPARK, uma junção do perfil Ravenscar (desenvolvido na Universidade de York) com a linguagem SPARK (um subconjunto da linguagem Ada desenvolvido pela Praxis, Inc.). O Ravenscar é um perfil para desenvolvimento de processos, e portanto os processos de CSP, incluindo seus canais de comunicação, podem ser facilmente criados. Por outro lado, SPARK é uma linguagem onde podem ser inseridos predicados para os dados (originalmente especificados em Object-Z) utilizando anotações da própria linguagem. A linguagem SPARK possui uma ferramenta, o Examinador, que pode checar códigos de modelos baseado nestas anotações. Em resumo, o método proposto permite tanto a checagem de modelos em CSP quanto a checagem no nível de código. Para isso, as especificações em Object-Z devem inicialmente ser convertidas em um código na linguagem SPARK juntamente com suas respectivas anotações, para que então a checagem do modelo possa ser realizada no código. O desenvolvimento de uma arquitetura de controle reativa para um ROV denominado VSOR (Veículo Submarino Operado Remotamente) é utilizado como exemplo de uso do método proposto. Toda a arquitetura de controle é codificada utilizando a linguagem Ada com o perfil RavenSPARK e embarcada em um computador do tipo PC104 com o sistema operacional de tempo real VxWorks, da Windriver, Inc. / The development of control architectures for Underwater Vehicles is a complex task. These control architectures might be chracterised by the following attributes: real-time, multitasking, concurrency, and distributed over communication networks. In this scenario, we have multiple processes running in parallel, possibly distributed, and engaging in communication between each other. In this context, the behavioural model might lead to phenomena like deadlocks, livelocks, race conditions, among others. In order to try to minimize the effects of such difficulties, in this work a method for model checking control architectures of underwater vehicles based on formal specifications is presented. The chosen formal specification language is CSP-OZ, a combination of CSP and Object-Z. Object-Z is an object-oriented extension of Z for the specification of predicates, typically, data pre, post and invariant conditions. CSP (Communicating Sequential Process) is a process algebra developed to describe behavioural models of parallel process. The model checking of formal specifications is a task of reasoning on specifications in which a system verifies certain properties by means of an exhaustive search of all possible states that a system could enter during its execution. In this context, it is possible to check about correctness, liveness, deadlock, etc. Also, one can relate two different specifications in order to check a refinement ordering. For the specifications, the model checker FDR of Formal Systems Ltd. is utilised. The implementation is developed using an ADA language profile called RavenSPARK, a union of the Ravenscar profile (developed at the University of York) and the SPARK language (a subset of the ADA language developed by Praxis, Inc.). The Ravenscar is a profile for developing processes, so CSP processes including their message channels can be easily deployed. On the other hand, SPARK is a language where one can insert data predicates (originally specified in Object-Z) using language annotations. The SPARK language has a tool, the Examiner, that can model check code based on these annotations. In summary, the proposed method allows model checking of CSP processes but does not allow any checking in the code level. On the contrary, Object-Z specifications must first be converted into a SPARK language code, together with proper annotations, and then model checking can be realised in code. The development of a real-time reactive control architecture of an ROV named VSOR (Veiculo Submarino Operado Remotamente) is used as an example of the use of the proposed method. The whole control architecture is coded using the ADA Language with the RavenSPARK profile and deployed into a PC104 cpu system running the Vxworks real-time operating system of Windriver, Inc.
|
143 |
A quality model for critical embedded systems / Um modelo de qualidade para sistemas embarcados críticosOliveira, Brauner Roberto do Nascimento 04 May 2017 (has links)
Embedded systems, including critical embedded systems (CES) are increasingly present in the modern society, providing specific solutions from small to large complex systems, such as in cars, airplanes, and healthcare equipment. Failures in these systems can result in damage to human beings, and to the environment, or can represent an unrecoverable financial loss. In this sense, it is very important to ensure they are built with quality. To provide such quality, it is necessary to consider their software architecture, which impacts on the quality of the systems. This way, the main objective of this Masters project is to propose a quality model concerning the most important quality attributes for CES, which may be used to support (but not limited to) architectural activities such as analysis and evaluation in the context of CES. / Sistemas embarcados, incluindo sistemas embarcados críticos (SEC), estão cada vez mais presentes na sociedade moderna, provendo soluções específicas que variam de sistemas pequenos até sistemas grandes e complexos, como é possível encontrar em carros, aviões e equipamentos médicos. Falhas nesses sistemas podem resultar em danos à seres humanos e ao meio ambiente, ou então em uma perda financeira irrecuperável. Sendo assim, é muito importante garantir que os SEC sejam construídos e apresentem um nível adequado de qualidade. Para garantir que esses sistemas alcancem tal qualidade, é necessário considerar sua arquitetura de software, já que esta impacta de maneira significativa na qualidade do software enquanto artefato ou produto. Deste modo, o objetivo deste projeto de mestrado é de propor um modelo de qualidade que contém os atributos de qualidade mais importantes para SEC, servindo como artefato para apoiar a execução de atividades arquiteturais (além de outras que possam se beneficiar) tais como análise e avaliação, no contexto de SEC.
|
144 |
Une approche dirigée par les simulations à base de modèles pour concevoir les architectures de systèmes-des-systèmes à logiciel prépondérant / A simulation-driven model-based approach for designing softwareintensive systems-of-systems architecturesGraciano Neto, Valdemar Vicente 27 March 2018 (has links)
Contexte : Les systèmes à logiciels prépondérants sont de plus en plus interopérables formant des alliances nommées « Systèmes-des-Systèmes » (SdS). Les applications des SdS peuvent aller des systèmes de gestion du trafic jusqu’aux systèmes de gestion de crises. Étant donné que les SdS supportent souvent des domaines critiques, ils doivent être fiables en traitant les disfonctionnements ou les défauts et en évitant les défaillances qui pourraient causer des dégâts et pertes importantes aux utilisateurs.Problème : Ajuster les opérations d’un SdS dépend d’une spécification précise et une attestation rigoureuse de sa consistance opérationnelle. Cependant, en plus des limitations des langages pour capturer conjointement la structure et le comportement des SdS, les prédictions de la consistance opérationnelle des SdS reposent sur leurs systèmes constitutifs qui ne sont pas totalement connus au moment de la conception. Par conséquent, les SdS ont été développés et déployés sans évaluation de leurs opérations, puisque les langages actuels ne supportent pas ce type de précision lors de l’évaluation. Objectif : Cette thèse fournit des solutions théoriques et pratiques basées sur un langage formel de description d’architectures pour supporter une évaluation précoce des opérations du SdS par rapport à la structure et le comportement du SdS à travers les simulations. Contributions : Les contributions essentielles de ce projet comprennent (i) une approche de transformation des modèles pour produire automatiquement des modèles de simulation à partir des descriptions des architectures logicielles du SdS, combinant la description structurelle et comportementale du SdS dans la même solution, (ii) une méthode d’évaluation de l’architecture logicielle du SdS pour la prédiction des opérations du SdS tout en considérant les changements inhérents qui peuvent se produire, (iii) la modélisation de l’environnement et la génération automatique des générateurs de stimulus pour soutenir la simulation des SdS, livrant des données pour nourrir tel simulation, et (iv) une méthode pour la synchronisation automatique entre l’architecture descriptive d’exécution (qui change à l’exécution par suite de l’architecture dynamique) et son architecture prescriptive d’origine basée sur des mécanismes de découverte et de récupération de modèles et une transformation de modèle à l'envers.Évaluation : Nous avons conduit des cas d’études pour évaluer nos approches en utilisant le SdS de surveillance des inondations et le SdS d’espace.Résultats : Notre approche montre une précision importante pour (i) produire des simulations des architectures logicielles des SdS sans failles et complètement opérationnelles, (ii) supporte une évaluation et une prédiction fiable des opérations du SdS à la phase de conception, (iii) génère de manière automatique des générateurs de stimuli pour soutenir et nourrir l’exécution de la simulation et (iv) maintien la synchronisation entre les versions descriptives et prescriptives de l’architecture du SdS.Conclusion : Nous avons conclu que les approches proposées font évoluer l’état de l’art de l’évaluation des architectures logicielles des SdS en offrant des solutions pour prédire l’efficacité des opérations du SdS pour maintenir une opération continue malgré les changements architecturaux, fournissant plus de confidence aux utilisateurs qui reposent dans l’avenir sur les services du SdS. / Context: Software-intensive systems have been increasingly interoperated forming alliances termed as “Systems-of-Systems” (SoS). SoS comprises a collection of systems joined to achieve a set of missions that none of the systems can individually accomplish. Each constituent system keeps its own management, goals, and resources while coordinating within the SoS and adapting to meet SoS goals. Applications of SoS range from traffic control to emergency response and crisis management. As SoS often support critical domains, such systems must be trustworthy by dealing with malfunction or defects and avoiding failures that could cause extensive damage and losses to the users.Problem: Correct SoS operations depend on a precise specification of the SoS structure and a rigorous attestation of its behaviors. However, besides limitations on languages to jointly capture SoS structure and behavior, predictions on the SoS emergent behaviors rely on constituent systems not totally known at design-time. Therefore, SoS have been developed and deployed without evaluating their operation, since current languages do not support such precision in evaluation.Objectives: This PhD project provides solutions founded on a formal architectural description language to support an early evaluation of SoS behaviors regarding its inherent SoS structure and dynamics through simulations.Contribution: The main contributions of this project comprise (i) a model transformation approach for automatically producing simulation models from SoS software architecture descriptions, combining SoS structure and behavior description in a same solution, (ii) a SoS software architecture evaluation method for SoS operation prediction considering the inherent changes that can occur, (iii) environment modeling and automatic generation of stimuli generators to sustain the SoS simulation, delivering data to feed such simulation, and (iv) a method for the automatic synchronization between the runtime descriptive architecture (changed at runtime due to dynamic architecture) and its original prescriptive architecture based on model discovery and recovery mechanisms and a backward model transformation.Evaluation: We conducted case studies to assess our approaches using Flood Monitoring SoS and Space SoS.Results: Our approaches show a high accuracy to (i) produce fault-free and operational simulations for SoS software architectures, (ii) support a reliable evaluation and prediction of SoS operation at design-time, (iii) automatically generate stimuli generators to sustain and feed the simulation execution, and (iv) maintain the synchronization between descriptive and prescriptive versions of the SoS architecture.Conclusions: We concluded that the proposed approaches advance the state of the art in SoS software architecture evaluation by offering solutions to predict the SoS operations effectiveness to maintain a continuous operation despite architectural changes, providing more trust for users that in the future shall rely on SoS services.
|
145 |
A$: arquitetura de componentes de software aplicados à produção brasileira de laranjas. / A$: components architecture of software applied to Brazilian orange belt production.Motta, Eduardo Giovannetti 31 October 2007 (has links)
Este trabalho apresenta a proposta de desenvolvimento de componentes de software orientados a serviço para prover informações financeiras e fitossanitárias, aplicadas ao mercado brasileiro de laranjas. O setor citrícola brasileiro produz metade do suco de laranja no mundo e é o responsável por 80% da comercialização internacional, gerando 420 mil empregos diretos e movimentando anualmente US$ 5,0 bilhões em negócios. A cada ano a produção de laranja aumenta, fazendo com que os produtores rurais necessitem de informações confiáveis para o apoio à decisão. O desenvolvimento dos componentes foi elaborado através de uma arquitetura de referência para sistemas de informação orientados a serviço. Esta arquitetura está dividida em camadas lógicas que definem a apresentação, integração, troca de informações e serviços de software. Os componentes desenvolvidos integram a camada de serviço fornecendo os custos operacionais, a previsão de ocupação de mão de obra, a série mensal de preços e o calendário fitossanitário. Como prova de conceito foi desenvolvido um software para apoio à decisão que utiliza os componentes financeiro e fitossanitário desenvolvidos. O objetivo deste software é apoiar o produtor a obter uma melhor utilização de seus recursos, e com isso aumentar a produtividade. A principal contribuição deste trabalho é disseminar a arquitetura de componentes abertos para a agricultura, a proposição e elaboração de dois novos componentes financeiro e fitossanitário e a implementação de uma ferramenta de auxílio à tomada de decisão no processo de produção de laranjas. / This work presents a service-oriented software component development proposal to provide financial and phytosanitary information applied to the Brazilian orange market. The Brazilian citric sector produces half of the world\'s orange juice and is responsible for 80% of the international commercialization, creating 420 thousand direct jobs and moving annually US$ 5,0 billion in business. Each year the orange production increases, making the rural producers need reliable information for decision support. The development of the components was elaborated on a reference architecture for service-oriented information systems. This architecture is divided in logical layers that define the presentation, integration, information exchange and software services. The components developed integrate the service layer, providing the operational costs, the occupation forecast, the monthly price series and the phytosanitary plant timetable. As proof of concept, a software was developed for decision support that uses the financial and phytosanitary components that were developed. The objective of this software is support the producer to obtain a better use of his resources and as a result increase his productivity. The main contribution of this work is disseminating the architecture of open components for agriculture, the proposition and elaboration of two new components for the architecture and the implementation of a tool to aid in decision-making in the process of orange production.
|
146 |
Towards a portal and search engine to facilitate academic and research collaboration in engineering andUnknown Date (has links)
While international academic and research collaborations are of great importance at this
time, it is not easy to find researchers in the engineering field that publish in languages
other than English. Because of this disconnect, there exists a need for a portal to find
Who’s Who in Engineering Education in the Americas. The objective of this thesis is to
built an object-oriented architecture for this proposed portal. The Unified Modeling
Language (UML) model developed in this thesis incorporates the basic structure of a
social network for academic purposes. Reverse engineering of three social networks
portals yielded important aspects of their structures that have been incorporated in the
proposed UML model. Furthermore, the present work includes a pattern for academic
social networks. / Includes bibliography. / Thesis (M.S.)--Florida Atlantic University, 2014. / FAU Electronic Theses and Dissertations Collection
|
147 |
Um arcabouço para o desenvolvimento de simuladores de procedimentos em realidade virtual. / A framework for developing procedures simulators in virtual reality.Belloc, Olavo da Rosa 17 December 2010 (has links)
Os simuladores de treinamento têm se tornado cada vez mais populares, apresentando aplicações em diversas áreas, como na condução de veículos terrestres, aeronaves, procedimentos médicos, operações militares, entre outras. Estes simuladores podem ser classificados em diferentes grupos, de acordo com a finalidade do seu treinamento. Os simuladores que envolvem o treinamento de procedimentos têm a finalidade de capacitar o usuário na execução de atividades bem definidas, dando ênfase às ações que o usuário precisa efetuar e às relações de dependência existentes entre estas ações. As aplicações deste grupo de simuladores são o objeto deste trabalho e podem ser usadas em diversas situações, como na montagem, desmontagem, operação e manutenção de máquinas complexas, na execução de atividades que ofereçam risco ao usuário ou, possam causar dano ao equipamento utilizado. As vantagens associadas com o treinamento em Realidade Virtual têm aumentado a procura por este tipo de aplicação. Apesar disto, no cenário nacional, poucos trabalhos acadêmicos foram publicados nesta área de pesquisa. Com a finalidade de auxiliar o desenvolvimento de simuladores de procedimentos, este trabalho apresenta a proposta de um arcabouço de treinamento, que foi elaborado com base nos elementos obtidos na revisão da literatura e na investigação de outras arquiteturas e ferramentas. A revisão da literatura considerou diversas técnicas usadas na descrição dos cenários de treinamento, entre elas, podemos citar a Máquina de estados, Sistema baseado em regras, STORM, Grafos, Diagrama LORA e rede de Petri. O arcabouço proposto _e composto por uma arquitetura, que define os componentes e os conceitos envolvidos no treinamento de procedimentos, e uma biblioteca de software, planejada com base nesta arquitetura e elaborada com o propósito de facilitar o desenvolvimento de aplicações de treinamento. As características deste arcabouço foram verificadas e validadas através da implementação de dois casos de uso. O primeiro caso consiste em uma aplicação de simulação de troca de cruzeta em linha viva, onde o usuário realiza um procedimento de risco na manutenção de redes de distribuição, e o segundo caso, envolve a prática da montagem e desmontagem de uma Unidade Geradora Hidrelétrica. Em ambas as aplicações, o modelo de Máquina de estados foi utilizado de forma simplificada na representação dos objetos interativos, e o modelo de rede de Petri foi usado para representar os procedimentos de treinamento. / The simulators for training have become increasingly popular, with applications in several areas, such as in land vehicles, aircraft, medical procedures, military operations, among others. These simulators can be classified into different groups according to the purpose of their training. The simulators that involve the training of procedures are intended to empower the user to perform well defined activities, with an emphasis on the actions that the user needs to perform and on the existing dependencies between these actions. The applications of this group of simulators are the subject of this work, and can be used in various situations, such as in assembly, disassembly, operation and maintenance of complex machinery, in performing activities that poses any danger to the user, or may cause damage to the equipment. The advantages associated with virtual reality training have increased the demand for this type of application. Despite this, in Brazil, few papers have been published in this area of research. In order to assist the development of procedure simulators, this work proposes a framework for virtual training, which was based on evidences obtained in the literature review and while investigating other architectures and tools. The literature review found several techniques used in the description of the training scenarios, among them, we may mention the state machine, rule-based system, STORM, Graphs, LORA Diagram and Petri net. The proposed framework consists of an architecture, that defines the components and concepts involved in training procedures, and a software library, which was planned based on this architecture and elaborated with the purpose of facilitating the development of applications for training. The characteristics of this framework has been verified and validated through the implementation of two use cases. The first case is a application for simulating the exchange of a crosshead, where the user performs a risky procedure in the maintenance of distribution networks, and the second case, which involves assembling and disassembling of a Hydroelectric Generating Unit. In both applications, the model of simple state machine was used to represent the behavior of interactive objects, and the Petri net model was used to represent the training procedures.
|
148 |
Um processo de migração de sistema legado funcional para orientado a objetos direcionado por indicadores de qualidade. / A quality indicator driven process to toward object oriented from functional legacy systems.Santos, Wagner Leal dos 06 June 2007 (has links)
A manutenção de sistemas legados tem se tornado uma preocupação constante das grandes empresas. O setor bancário brasileiro, por exemplo, possui milhões de linhas de código confeccionados em linguagens procedurais, essenciais para atingir os objetivos de negócios destas instituições. Muitos desses programas são considerados bem antigos, possuindo mais de 30 anos de existência e, apesar de serem extremamente úteis para estas organizações, não permitem aproveitar as vantagens das novas tecnologias, tais como o uso de interfaces gráficas, processamento distribuído, entre outros. Fazer um outro aplicativo de software a partir do início pode ser uma tarefa muito árdua e incorrer em grandes riscos para o negócio da empresa. Migrar esses sistemas aos poucos parece ser a melhor estratégia. Isso porque, a utilização dessa abordagem permite que a adaptação dos usuários ao novo sistema seja gradativa, ou seja, ocorre à medida que as funcionalidades de negócio são contempladas pelo novo sistema. Considerando a necessidade evidente que essa migração terá de ocorrer mais cedo ou mais tarde, este trabalho propõe um processo para permitir uma evolução gradual do software legado para uma plataforma mais moderna e de mais amplo uso atualmente, que possa atender melhor às novas necessidades dos negócios. Esse processo é formado por etapas de avaliação da situação atual do sistema, de transformação de arquitetura e de transformação do código funcional para o orientado a objetos. Além disso, é direcionado por indicadores de qualidade e apoiado por tipos de visão e respectivos estilos arquiteturais. O foco deste trabalho está em sistemas de instituições financeiras desenvolvidos em Mainframe ou AS/400, onde há grande incidência de códigos antigos orientados a procedimentos. / The maintenance of old legacies software has become a constant concern of the great companies. The Brazilian banking sector, for example, has millions of lines of code made under the functional paradigm, essential to reach the business-oriented objectives of these institutions. Many of these systems are very old, arriving to possess more than 30 years of existence. These programs, extremely useful for these organizations, do not allow the use of the advantages of the new technologies, such as the use of graphical interfaces, distributed processing and so on. The replacement of all old system for a new on may be a very arduous task and to incur into great risks for the company. Migrate these systems in small steps seems to a better strategy to deal with this problem that will have to be faced earlier or later. This work considers process to allow the gradual evolution of the legacy system to a better platform that allows the use of the advantages of the new technologies, through the use of quality indicators, the evaluation of the current system, the transformation of the architecture with focus at the change of functional paradigm to the object oriented one and of the use of view types and the corresponding architectural styles. This work is mainly delivered to financial institutions systems developed in Mainframe or AS/400 that have great incidence of these old legacies systems.
|
149 |
Synthesis of software architectures for systems-of-systems: an automated method by constraint solving / Síntese de arquiteturas de software para sistemas-de-sistemas: um método automatizado por resolução de restriçõesMargarido, Milena Guessi 27 September 2017 (has links)
Systems-of-Systems (SoS) encompass diverse and independent systems that must cooperate with each other for performing a combined action that is greater than their individual capabilities. In parallel, architecture descriptions, which are the main artifact expressing software architectures, play an important role in fostering interoperability among constituents by facilitating the communication among stakeholders and supporting the inspection and analysis of the SoS from an early stage of its life cycle. The main problem addressed in this thesis is the lack of adequate architectural descriptions for SoS that are often built without an adequate care to their software architecture. Since constituent systems are, in general, not known at design-time due to the evolving nature of SoS, the architecture description must specify at design-time which coalitions among constituent systems are feasible at run-time. Moreover, as many SoS are being developed for safety-critical domains, additional measures must be placed to ensure the correctness and completeness of architecture descriptions. To address this problem, this doctoral project employs SoSADL, a formal language tailored for the description of SoS that enables one to express software architectures as dynamic associations between independent constituent systems whose interactions are mediated for accomplishing a combined action. To synthesize concrete architectures that adhere to one such description, this thesis develops a formal method, named Ark, that systematizes the steps for producing such artifacts. The method creates an intermediate formal model, named TASoS, which expresses the SoS architecture in terms of a constraint satisfaction problem that can be automatically analyzed for an initial set of properties. The feedback obtained in this analysis can be used for subsequent refinements or revisions of the architecture description. A software tool named SoSy was also developed to support the Ark method as it automates the generation of intermediate models and concrete architectures, thus concealing the use of constraint solvers during SoS design and development. The method and its accompanying tool were applied to model a SoS for urban river monitoring in which the feasibility of candidate abstract architectures is investigated. By formalizing and automating the required steps for SoS architectural synthesis, Ark contributes for adopting formal methods in the design of SoS architectures, which is a necessary step for obtaining higher reliability levels. / Sistemas-de-sistemas (SoS) englobam sistemas diversos e independentes que cooperam entre si para executar uma ação combinada que supera suas competências individuais. Em paralelo, descrições arquiteturais são artefatos que expressam arquiteturas de software, desempenhando no contexto de SoS um importante papel na promoção da interoperabilidade entre constituintes ao facilitar a comunicação entre interessados e apoiar atividades de inspeção e análise desde o início de seu ciclo de vida. O principal problema abordado nessa tese consiste na falta de descrições arquiteturais adequadas para SoS que estão sendo desenvolvidos sem um devido cuidado à sua arquitetura de software. Uma vez que os sistemas constituintes não são necessariamente conhecidos em tempo de projeto devido à natureza evolucionária dos SoS, a descrição arquitetural precisa definir em tempo de projeto quais coalisões entre sistemas constituintes são possíveis em tempo de execução. Como muitos desses sistemas são desenvolvidos para o domínio crítico de segurança, medidas adicionais precisam ser adotadas para garantir a correção e completude da descrição arquitetural. Visando tratar esse problema, esse projeto de doutorado emprega SosADL, uma linguagem formal criada especialmente para o domínio de SoS que permite expressar arquiteturas de software como associações dinâmicas entre sistemas independentes em que as interações devem ser mediadas para desempenhar uma ação conjunta. Em particular, é proposto um novo método formal, denominado Ark, para sistematizar os passos necessários na síntese de arquiteturas concretas aderentes a essa descrição. Para isso, o método cria um modelo formal intermediário, denominado TASoS, que expressa a arquitetura do SoS em termos de um problema de satisfatibilidade de restrições, possibilitando desse modo a verificação automática de um conjunto inicial de propriedades. O resultado obtido por essa análise pode ser utilizado em refinamentos e revisões subsequentes da descrição arquitetural. Uma ferramenta de apoio denominada SoSy também foi desenvolvida para automatizar a geração de modelos intermediários e arquiteturas concretas, ocultando o uso de solucionadores de restrições no projeto e desenvolvimento de SoS. O método e sua ferramenta foram aplicados em um modelo de SoS para monitoramento de rios em áreas urbanas em que a viabilidade de arquiteturas abstratas foi investigada. Ao formalizar e automatizar os passos necessários para a síntese arquitetural de SoS, é possível adotar métodos formais no projeto arquitetural de SoS, que são necessários para alcançar níveis maiores de confiabilidade.
|
150 |
Supporting architectural design of acknowledged SoS / Suporte ao projeto arquitetural de SoS reconhecidosGonçalves, Marcelo Benites 12 December 2016 (has links)
System-of-Systems (SoS) refer to complex, large-scale, and sometimes critical software-intensive systems that has raised as a promising class of systems in several application domains. In parallel, software architectures play a significant role in the development of software-intensive systems, dealing with both functional and non-functional requirements. In particular, systematic processes to design SoS software architectures can tackle challenges from SoS development, including to handle collaboration of independent constituent systems with different owners, missions, and interests. Despite the relevance and necessity of software-intensive SoS for diverse application domains, most of their software architectures have been still developed in an ad hoc manner. In general, there is a lack of structured processes for architecting SoS, hindering the secure adoption of SoS, reducing possibilities of sharing common architectural solutions, and negatively impacting in the success rate for these systems. This thesis presents SOAR (\\General Process for Acknowledged SoS Software Architectures\") that supports the establishment of architectural design processes for acknowledged SoS. Conceived to provide different levels of support according to each SoS development context, it comprises a high level kernel that describes what must be done when architecting SoS and also three practices with specific activities and work products to guide how to perform architectural analysis, synthesis, and evaluation. To evaluate SOAR, three surveys, a viability study, and an experiment were conducted. Results achieved in these evaluation studies indicate that SOAR can positively support the instantiation of architecting processes for acknowledged SoS and, as a consequence, contribute to the development and evolution of these complex, software-intensive systems. / Sistemas-de-sistemas ou SoS (do inglês, \"Systems-of-Systems\"), são sistemas complexos de larga escala e, algumas vezes, críticos e intensivos a software que têm se mostrado uma classe de sistemas promissora em vários domínios de aplicação. Em paralelo, arquiteturas de software têm um papel importante no desenvolvimento de sistemas intensivos a software, tratando requisitos funcionais e não-funcionais. Processos sistemáticos para o design de arquiteturas de software de SoS podem lidar com desafios do desenvolvimento desses sistemas, incluindo a promoção da colaboração de sistemas constituintes independentes, envolvendo diferentes proprietários, missões e interesses. Embora SoS intensivos a software sejam relevantes e necessários em diversos domínios de aplicação, a maior parte de suas arquiteturas tem sido desenvolvidas de forma ad hoc. Há uma ausência de processos estruturados para arquitetar SoS, dificultando a adoção segura de SoS, reduzindo possibilidades de compartilhamento de soluções arquiteturais para problemas comuns e impactando negativamente no sucesso desses sistemas. Esta tese apresenta um processo geral para SoS reconhecidos chamado SOAR (do inglês, \"General Process for Acknowledged SoS Software Architectures\") que dá suporte ao estabelecimento de instâncias de processos para o design arquitetural desses sistemas. Concebido para prover diferentes níveis de suporte de acordo com o contexto de desenvolvimento de cada SoS, o SOAR é constituído por um kernel de alto nível que descreve o que precisa ser feito para arquitetar SoS e também por três práticas que descrevem atividades e produtos de trabalho para guiar como conduzir a análise, a síntese e a avaliação arquitetural. Na avaliação do SOAR, foram realizados três surveys, um estudo de viabilidade e um experimento. Os resultados obtidos indicam que o SOAR pode oferecer um suporte positivo na instanciação de processos para o design de SoS reconhecidos e, como consequência, contribuir para o desenvolvimento e a evolução destes sistemas complexos intensivos a software.
|
Page generated in 0.0812 seconds