41 |
Uma arquitetura de referência colaborativa para estruturação de dados abertos governamentais. / A reference collaborative-oriented architecture for structuring information to open government data.Corrêa, Andreiwid Sheffer 14 February 2017 (has links)
O grande número de websites heterogêneos e sem padronização para divulgar informações sobre transparência pública é uma evidência do despreparo das instituições públicas frente ao movimento denominado Open Government Data ou Dados Abertos Governamentais. Este cenário é encontrado no mundo todo, porém com evidência nas instituições onde os princípios de dados abertos ainda são novidade, sobretudo os governos locais. Esta pesquisa objetiva definir uma arquitetura de referência para estruturação de dados a partir dos repositórios distribuídos caracterizados pelos websites de transparência. Os requisitos de qualidade da arquitetura foram identificados a partir dos problemas de disponibilização de dados em uma amostra de 561 websites mantidos por municípios brasileiros. Uma vez definida, a arquitetura passou por um processo de validação para verificar sua viabilidade e seu potencial de utilidade pela percepção dos usuários externos ao seu desenvolvimento e por meio da implementação em um protótipo de software. Com a arquitetura, e seu aspecto colaborativo envolvido, será possível implementar sistemas de software que disponibilizam ferramentas aos usuários para facilmente abrir os dados de qualquer instituição que utilize a internet para disseminar informações de transparência. / The large number of heterogeneous and non-standardized websites to disseminate information about public transparency is an evidence of the lack of preparation of public institutions in relation to the Open Government Data movement. This scenario is found all over the world, but with more frequency in institutions where open data principles are still new, especially local governments. This research aims to define a reference architecture for structuring data from distributed repositories characterized by transparency websites. The quality requirements of the architecture were identified from the problems of data availability in a sample of 561 websites maintained by Brazilian municipalities. Once defined, the architecture underwent a validation process to verify its viability and its potential of utility by the perception of external users to its development and by the implementation of a software prototype. With the architecture, and its collaborative aspect involved, it will be possible to implement software systems that provide users with tools to easily open data from any institution that uses the internet to disseminate transparency information. Keywords: Transparency. Open Government Data. OGD. Software architecture.
|
42 |
Um roteiro centrado em arquitetura para minimização de riscos e incertezas em projetos de software. / Architecture based method for minimization of software project risks and uncertainties.Pinna, Cristina Coelho de Abreu 13 July 2004 (has links)
Visando lidar com as crescentes complexidades dos sistemas de software e aumentar a maturidade do processo de desenvolvimento através da minimização dos riscos e incertezas, a disciplina de Gestão de Riscos tem se apresentado como tema crescente na indústria e na academia de software. Um gerenciamento de riscos adequado pode implicar em melhoria do produto e no aumento da produtividade do processo de desenvolvimento de software. O presente trabalho apresenta uma especialização do processo de Gestão de Riscos para projetos de software. Esta especialização consiste em uma estratégia preventiva da Gestão de Riscos que permite transformar riscos e incertezas de projetos de software em requisitos de Arquitetura de software, de forma que a Arquitetura final obtida não seja impactada pelas eventuais ocorrências desses riscos, garantindo assim qualidade do produto e produtividade do processo. Após a conceituação teórica sobre riscos, incertezas e Arquitetura de software e a descrição da estratégia para mapeamento das categorias de riscos e incertezas em requisitos de Arquitetura, o trabalho apresenta a aplicação da estratégia proposta a alguns projetos de software reais, destacando os pontos positivos da abordagem. Conclusivamente, são discutidas as vantagens e os pontos críticos para a aplicação da estratégia proposta em projetos do dia-a-dia das organizações. / In order to handle the growing complexities of software systems and increase the maturity of the development process through the minimization of risks and uncertainties, the Risk Management has been presented as an important subject in the software industry and academy. An adequate risk management can result in product quality improvement as well as increase the productivity of the software development process. This dissertation presents a specialization of Risk Management process for software projects. This specialization consists of a preventive strategy of Risk Management, which makes possible turning risks and uncertainties of software projects into requirements of software Architecture in a way that the final obtained Architecture is not impacted by eventual occurrences of these risks, therefore assuring the product quality and the process productivity. After the theoretical conceptualization of risks, uncertainties and software Architecture, and the description of the strategy for mapping risk and uncertainties categories in Architecture requirements, the dissertation presents the application of the proposed strategy to some software projects, emphasizing the positive points of the approach. Conclusively, the advantages and critical points for the application of the proposed strategy in regular projects are discussed.
|
43 |
Um estudo sobre a relação entre qualidade e arquitetura de software / A study about the relation between software quality and software architectureTsuruta, Mauricio 02 March 2011 (has links)
Diversos setores da economia tem alto grau de dependência de sistemas computacionais: telecomunicação, financeiro, infraestrutura, industrial dentre outros. Desta forma, a qualidade do software contido nestes sistemas é um ítem importante para o bom desempenho destes setores. A arquitetura de software é considerada fator determinante para a qualidade de software. Este trabalho estuda a maneira pela qual a arquitetura de software determina a qualidade do software produzido e as possibilidades de se obter os atributos de qualidade desejados através da especificação de uma arquitetura de software apropriada. O método de pesquisa se fundamenta na revisão da literatura e quatro abordagens para a especificação da arquitetura de software são consideradas: clássica, orientada a objetos, orientada a atributos e orientada a busca. A abordagem orientada a busca é um campo de estudo relativamente recente e os avanços realizados são reportados dentro da área de conhecimento denominada de Search Based Software Engineering. Esta área de conhecimento utiliza técnicas metaheurísticas para achar boas soluções para os problemas encontrados na Engenharia de Software. Uma das técnicas meta-heurísticas mais utilizadas, o algorítmo genético, é usada em uma aplicação cujo processo de design segue a abordagem orientada a busca. / Many sectors of economy depend highly on computing systems: telecommunication, finance, infrastructure, industrial, and others. Thus, the quality of software in these systems is an important item to achieve good performance in these sectors. The software architecture is considered one of the main factors that shape the software quality. This work studies the way software architecture determines the software quality and the possibilities to obtain the desired software quality attributes through specifying appropriate software architecture. The research method is based upon literature review and four approaches to software architecture design process are considered: classic, object oriented, attribute oriented and search oriented. The search oriented approach to software architecture design process is a relatively new field of study and advances are reported in a knowledge area called Search Based Software Engineering. This knowledge area uses metaheuristics techniques to find good solutions to problems found in software engineering. One of the metaheuristic technique most frequently used, the genetic algorithm, is used in an application that follows the search based approach.
|
44 |
Proposta de uma arquitetura de processamento distribuído aberto para aplicações em um escritório móvel convergente. / A proposal of an open distributed processing architecture for applications in a convergent mobile office.Figueiredo, Vilar Ribeiro de 24 November 2005 (has links)
Esta tese apresenta a proposta de uma arquitetura de Processamento Distribuído Aberto para Aplicações em um Escritório Móvel Convergente (EMC). O EMC é um dispositivo móvel portátil que disponibiliza os serviços de escritório com acesso a uma base de dados e com comunicação sem fio. O termo Convergente refere-se à convergência das tecnologias de Internet, telefonia móvel e televisão com transmissão digital, disponíveis em um único dispositivo móvel. A arquitetura de sistema proposta é baseada no Modelo de Referência de Processamento Distribuído Aberto (RMODP - Reference Model Open Distributed Processing) e pode ser implementada em objetos distribuídos. Como uma possível aplicação do sistema é apresentado um Escritório Móvel Convergente para o trabalho do arqueólogo em um sítio arqueológico. / This thesis presents the proposal for an Open Distributed Processing Architecture for Applications in a Convergent Mobile Office (EMC). The EMC is a mobile portable device that makes available the office services, with access to databases and also wireless communication. The word Convergent refers to the convergence of the technologies of Internet, mobile telephony and digital television, available in a single mobile device. The system architecture proposed is based on the Reference Model of Open Distributed Processing (RMODP) and it can be implemented in distributed objects. As a possible application of the system is presented a Convergent Mobile Office for the archeologist\'s work in an archeological site.
|
45 |
Arquitetura de software de domínio específico para apoio ao gerenciamento ágil de projetos distribuídos / Domain-specific software architecture to support distributed agile project managementMartins, Guilherme Delefrate 21 September 2011 (has links)
O gerenciamento ágil de projetos (APM) é uma abordagem que vem se disseminando rapidamente, em especial para o caso de produtos inovadores. A contribuição desta abordagem está em propor meios para simplificar e fornecer maior flexibilidade nos processos de trabalho, permitindo maior quantidade de mudanças no decorrer do projeto. Uma das estratégias é o uso de gestão visual, por meio de painéis, com adesivos autocolantes. Existem várias inconveniências do uso destes painéis e, paralelamente, vivencia-se a popularização de novas tecnologias de interação humano-computador painéis digital touchscreen. O objetivo deste projeto é propor uma nova arquitetura de software de domínio específico para a construção de sistemas de gerenciamento de projetos distribuídos, considerando o planejamento iterativo e visual do gerenciamento ágil de projetos e segundo o paradigma da sinalização digital; ao mesmo tempo em que os dados do projeto são enviados para Sistemas Integrados de Gerenciamento de Projetos tradicionais. Esta pesquisa combina vários procedimentos para o seu completo desenvolvimento, em seis etapas. Duas de levantamento bibliográfico, geral e específico, uma de estudo de tecnologias, duas principais para o desenvolvimento da arquitetura e protótipo e, por fim, a construção de um exemplo de aplicação para testar sua exequibilidade. A viabilidade técnica da proposta foi comprovada com um protótipo utilizando as tecnologias Adobe Flex, PHP e o software de gerenciamento de projetos (SGP) dotProject. Os resultados demonstram que a arquitetura proposta é viável e pode trazer uma série de vantagens frente o uso de softwares tradicionais e os softwares voltados para o APM. / The Agile Project Management (APM) approach was rapidly disseminated, especially in the case of innovative products. The contribution of this approach is to propose methods to simplify and provide flexibility in work processes with considerable amount of change throughout the project. The strategy is use visual management with white panels and stick notes, however, there are several concerns of using these panels. Moreover it is observed the popularization of new technologies for human computer interaction like the touchscreen panels. The main objective of this project is to propose a new Domain-Specific Software Architecture for building distributed project management systems considering iterative and visual planning of agile project management and according to the paradigm of digital signage while the project data is sent to the traditional Integrated Systems Project Management. This research combines various procedures to its development in six phases: two phases for bibliographical research, one phase for study the technologies, another two phases for the development of architecture and prototype, and finally one phase for build an application and test its workability. The prototype was developed using Adobe Flex technologies, PHP and project management software (PMS) dotProject to test the technical feasibility of the proposal. The results show that the proposed architecture is feasible and can bring a number of advantages over the use of traditional software and software aimed at the APM.
|
46 |
Sistemas móveis aplicado à modelagem de distribuição de espécies. / Mobile system applied to species distribution modeling.Silva, Álvaro Fagner Rodrigues da 03 November 2011 (has links)
Os sistemas de modelagem de distribuição provável de espécie são utilizados para identificar regiões onde há maior probabilidade de uma determinada espécie viver, baseado nas características ambientais de localizações onde é conhecido que há presença daquela espécie. Estes sistemas requerem computação de alto desempenho devido à grande quantidade de dados que precisam ser processados para se gerar um modelo com a distribuição provável. Um momento importante do processo de modelagem de distribuição de espécies é a coleta dos dados, no qual os pesquisadores vão a campo para identificar alguns pontos de presença ou ausência, no entanto este processo é feito de forma ainda manual. Este trabalho apresenta uma proposta de automação deste processo por meio da utilização de dispositivos móveis e arquitetura SOA. Historicamente, os sistemas que utilizam arquiteturas orientadas a serviço não consideram fortemente as limitações inerentes aos dispositivos móveis, tais como poder de processamento, capacidade de armazenamento e duração da bateria. A falta de uma infra-estrutura de referência para estes sistemas pode ser apontada como uma das causas deste problema. Assim, é proposta uma infra-estrutura de desenvolvimento para sistemas móveis que utilizam uma arquitetura orientada a serviços voltada à experiência do usuário. Esta infra-estrutura tem especial atenção a como as restrições dos sistemas móveis influenciam tanto a arquitetura de software quanto a apresentação dos serviços para o usuário final. Disserta-se sobre fatores e questões relevantes ao projeto de sistemas de natureza móvel sugerindo a sua consideração durante a elaboração de projetos semelhantes. São propostos também um conjunto de métricas para avaliação do desempenho para a realização de experimentos com o objetivo de validar os aspectos de usabilidade e arquitetura, além de identificar modificações na infra-estrutura proposta. / Species distribution modeling system are used to identify regions where there is the probability to a species survive, based on the environmental characteristics where there is for sure presence of a species. Those systems require high performance computation due the large amount of data that are processed in order to create the distribution model. An important moment of the modeling process is the data collecting, when the researchers go field to identify the localizations of presence or absence, but this process is still done manually. This paper presents a proposal for automating this process through the use of mobile devices and SOA architecture. Historically, systems using service oriented architectures do not consider strongly the limitations of mobile devices such as processing power, storage capacity and duration of battery. The lack of an infrastructure of reference for these systems can be considered one of the causes of this problem. Thus, we propose an infrastructure development for mobile systems using a service-oriented architecture focused on user experience. This infrastructure has special attention to the restrictions of mobile systems influence both the software architecture as the presentation of services to the end user. Mobile related issues are discussed suggesting its consideration during the development of similar projects. Also, it is proposed a set of metrics for performance evaluation to carry out experiments aimed at validating the architecture and usability aspects, and identify changes in the proposed infrastructure.
|
47 |
Arquitetura de processo aplicada na integração de fábricas de software. / Process architecture applied in the integration of software factories.Borsoi, Beatriz Terezinha 01 July 2008 (has links)
Práticas da manufatura industrial, como o uso de processos e de normas e modelos de qualidade, a integração de empresas e a atuação em rede, podem ser utilizadas para a solução de problemas que tem caracterizado a produção de software, como custo excessivo, falta de qualidade e não atendimento ao planejamento e ao cronograma. Considerando esse contexto, neste trabalho tem-se o objetivo de definir uma arquitetura de processo baseada na orientação a objetos para integrar fábricas de software. Um método para definir essa arquitetura é, também, proposto. Os procedimentos metodológicos para realizar a pesquisa se resumem nos métodos de pesquisa bibliográfica, indução por analogia e experimento em laboratório. A pesquisa bibliográfica permitiu definir o referencial teórico para fundamentar a proposta de pesquisa. A indução por analogia foi utilizada para definir a arquitetura de processo, as fases do método e o objeto processo, a partir da arquitetura de software, do processo de desenvolvimento de software e da orientação a objetos, respectivamente. O objeto processo e os conceitos estruturais e notacionais propostos compõem a base para definir a arquitetura de processo. Dois experimentos em laboratório didático de ensino foram realizados para avaliar a arquitetura de processo, obtida por meio do método proposto, e para verificar os objetivos da pesquisa. Como resultado deste trabalho obteve-se a definição de uma arquitetura de processo para integrar fábricas de software por meio de seus processos com o objetivo de desenvolver projetos cooperativos de software. / Practices of the industrial manufacture such as process, standards and models of quality, integration of enterprises, and enterprise networks and chains can be used to solve problems that have characterized software production, such as excessive cost, lack of quality, and disregard for users requirements, planning and schedule. Thus, considering this context, this research aims to define a process architecture based on object orientation to integrate software factories. A method to define this architecture is also proposed in this research. The methodological procedures to carry out this research can be summarized in the following methods: bibliographical research, induction by analogy, and experiment in didactic laboratory. The bibliographical research made it possible to define the state of the art and the theoretical referential used as foundation of the proposals made in this research. The induction by analogy was used to define the process architecture, the method phases, and the object process, with software architecture, software development process, and object-orientation, respectively. The proposed object process and the structural and notational concepts compose the base to define the process architecture. Two experiments were carried out to evaluate the process architecture obtained through the instantiation of the proposed method and to verify the goals defined in this research. The result of this research is the definition of a process architecture that makes software factory integration possible, by means of standard process models to develop cooperative software projects.
|
48 |
Uma arquitetura aberta para gerenciamento de set-top boxes e serviços em redes de TV digital. / An open architecture for the management of set-top boxes and services in digital TV networks.Ös, Marcelo Dutra 30 March 2006 (has links)
A TV digital é hoje uma realidade em muitos países e no Brasil as pesquisas já estão atingindo um estágio avançando. Muita expectativa gira em torno desta tecnologia, que oferece uma ampla variedade de serviços multimídia, abrindo as portas deste modo para criativas propostas e novas possibilidades de relacionamento com o usuário final. Esta complexidade e as novas opções de serviços que podem ser oferecidos demandam, obrigatoriamente, uma arquitetura adequada de gerenciamento, capaz de controlar e otimizar os terminais desta rede bem como os serviços oferecidos pela mesma. Neste trabalho são apresentados os requisitos funcionais e não funcionais necessários para a construção de um sistema genérico de gerenciamento de set-top boxes e serviços em TV digital, baseados no estudo de pesquisas semelhantes e nas particularidades deste ambiente. Também para este sistema genérico são detalhados todos os casos de uso de interesse. Além disso, uma arquitetura híbrida é proposta para a solução deste problema, utilizando para tanto padrões abertos e considerando alguns cenários possíveis de implantação no mundo real. Nesta arquitetura, é adotado o modelo clássico de gerenciamento gerente-agente, através do uso de um servidor de gerência, responsável pelo armazenamento e análise de todos os dados de gerenciamento bem como pelo disparo de comandos e recebimento de respostas (síncronas e/ou assíncronas) dos agentes. Tanto na definição deste sistema genérico como no desenho da arquitetura final, procurou-se na medida do possível adotar a utilização de princípios clássicos de gerenciamento que já são aplicados em várias arquiteturas existentes, inclusive de mercado. Deste modo, foi possível encontrar uma solução para um problema complexo através do uso de conceitos amplamente conhecidos, o que facilita o entendimento final. / Nowadays, digital TV systems are a reality in many countries and in Brazil the research in this field is reaching an advanced stage. Much excitement is expected from this technology, which may offer a wide variety of multimedia services, opening the doors for creative proposals and new possibilities of relationships with the final user. This complexity and the new options of services that can be offered demand a suitable architecture for management, which should be able to control and optimize the set-top boxes of this network as well as of the services offered by it. In this work, the requirements for the building of a generic management system for the digital TV environment are presented, based in the study of similar research and considering the specifics involved. Besides that, a hybrid architecture based on open standards is proposed for the solution of this problem. In this architecture, it is adopted the classical manager-agent model, through the use of a management server, which is responsible for the storage and analysis of all the management data as well for the triggering of commands and receptions of answers and traps sent by the agents. The conception and design of this architecture has followed as much as possible, classic principles of network management. With this approach, it was possible to find a simple solution to a very complex problem.
|
49 |
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
|
50 |
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.
|
Page generated in 0.1123 seconds