1 |
Strategies for embedded software development based on high-level models / Strategies for embedded software development based on high-level modelsBrisolara, Lisane Brisolara de January 2007 (has links)
Técnicas que partem de modelos de alto nível de abstração são requeridas para lidar com a complexidade encontrada nas novas gerações de sistemas embarcados, sendo cruciais para o sucesso do projeto. Uma grande redução do esforço pode ser obtida com o uso de modelos quando código em uma linguagem de programação pode ser gerado automaticamente a partir desses. Porém, ferramentas disponíveis para modelagem e geração de código normalmente são dependentes de domínio e o software embarcado normalmente possui comportamento heterogêneo, requerendo suporte a múltiplos modelos de computação. Nesta tese, estratégias para desenvolvimento de software embarcado baseado em modelos de alto nível usando UML e Simulink são analisadas. A partir desta análise, observaram-se as principais limitações das abordagens para geração de código baseadas em UML e Simulink. Esta tese, então, propõe estratégias para melhorar a automação provida por estas ferramentas, como por exemplo, propondo uma abordagem para geração de código multithread a partir de modelos Simulink. A comparação feita entre UML e Simulink mostra que, embora UML seja a linguagem mais usada no domínio de engenharia de software, UML é baseada em eventos e não é adequada para modelar sistemas dataflow. Por outro lado, Simulink é largamente usado por engenheiros de hardware e de controle, além de suportar dataflow e geração de código. Porém, Simulink provê abstrações de mais baixo nível, quando comparado a UML. Conclui-se que tanto UML como Simulink possuem prós e contras, o que motiva a integração de ambas linguagens em um único fluxo de projeto. Neste contexto, esta tese propõe também uma abordagem integradora para desenvolvimento de software embarcado que inicia com uma especificação de alto nível descrita usando diagramas UML, a partir da qual modelos dataflow e control-flow podem ser gerados. Desta maneira, o modelo UML pode ser usado como front-end para diferentes abordagens de geração de código, incluindo UML e a proposta geração de código multithread a partir de modelos Simulink. / The use of techniques starting from higher abstraction levels is required to cope with the complexity that is found in the new generations of embedded systems, being crucial to the design success. A large reduction of design effort when using models in the development can be achieved when there is a possibility to automatically generate code from them. Using these techniques, the designer specifies the system model using some abstraction and code in a programming language is generated from that. However, available tools for modeling and code generation are domain-specific and embedded software usually shows heterogeneous behavior, which pushes the need for supporting software automation under different models of computation. In this thesis, strategies for embedded software development based on high-level models using UML and Simulink were analyzed. We observed that the embedded software generation approaches based on UML and Simulink have limitations, and hence this thesis proposes strategies to improve the automation provided on those approaches, for example, proposing a Simulink-based multithread code generation. UML is a well used language in the software engineering domain, and we consider that it has several advantages. However, UML is event-based and not suitable to model dataflow systems. On the other side, Simulink is widely used by control and hardware engineers and supports dataflow, and time-continuous models. Moreover, tools are available to generate code from a Simulink model. However, Simulink models represent lower abstraction level compared to UML ones. This comparison shows that UML and Simulink have pros and cons, which motivates the integration of both languages in a single design process. As the main contribution, we propose in this thesis an integrated approach to embedded software design, which starts from a high-level specification using UML diagrams. Both dataflow and control-flow models can be generated from that. In this way, an UML model can be used as front-end for different code generation approaches, including UML-based one and the proposed Simulink-based multithread code generation.
|
2 |
Strategies for embedded software development based on high-level models / Strategies for embedded software development based on high-level modelsBrisolara, Lisane Brisolara de January 2007 (has links)
Técnicas que partem de modelos de alto nível de abstração são requeridas para lidar com a complexidade encontrada nas novas gerações de sistemas embarcados, sendo cruciais para o sucesso do projeto. Uma grande redução do esforço pode ser obtida com o uso de modelos quando código em uma linguagem de programação pode ser gerado automaticamente a partir desses. Porém, ferramentas disponíveis para modelagem e geração de código normalmente são dependentes de domínio e o software embarcado normalmente possui comportamento heterogêneo, requerendo suporte a múltiplos modelos de computação. Nesta tese, estratégias para desenvolvimento de software embarcado baseado em modelos de alto nível usando UML e Simulink são analisadas. A partir desta análise, observaram-se as principais limitações das abordagens para geração de código baseadas em UML e Simulink. Esta tese, então, propõe estratégias para melhorar a automação provida por estas ferramentas, como por exemplo, propondo uma abordagem para geração de código multithread a partir de modelos Simulink. A comparação feita entre UML e Simulink mostra que, embora UML seja a linguagem mais usada no domínio de engenharia de software, UML é baseada em eventos e não é adequada para modelar sistemas dataflow. Por outro lado, Simulink é largamente usado por engenheiros de hardware e de controle, além de suportar dataflow e geração de código. Porém, Simulink provê abstrações de mais baixo nível, quando comparado a UML. Conclui-se que tanto UML como Simulink possuem prós e contras, o que motiva a integração de ambas linguagens em um único fluxo de projeto. Neste contexto, esta tese propõe também uma abordagem integradora para desenvolvimento de software embarcado que inicia com uma especificação de alto nível descrita usando diagramas UML, a partir da qual modelos dataflow e control-flow podem ser gerados. Desta maneira, o modelo UML pode ser usado como front-end para diferentes abordagens de geração de código, incluindo UML e a proposta geração de código multithread a partir de modelos Simulink. / The use of techniques starting from higher abstraction levels is required to cope with the complexity that is found in the new generations of embedded systems, being crucial to the design success. A large reduction of design effort when using models in the development can be achieved when there is a possibility to automatically generate code from them. Using these techniques, the designer specifies the system model using some abstraction and code in a programming language is generated from that. However, available tools for modeling and code generation are domain-specific and embedded software usually shows heterogeneous behavior, which pushes the need for supporting software automation under different models of computation. In this thesis, strategies for embedded software development based on high-level models using UML and Simulink were analyzed. We observed that the embedded software generation approaches based on UML and Simulink have limitations, and hence this thesis proposes strategies to improve the automation provided on those approaches, for example, proposing a Simulink-based multithread code generation. UML is a well used language in the software engineering domain, and we consider that it has several advantages. However, UML is event-based and not suitable to model dataflow systems. On the other side, Simulink is widely used by control and hardware engineers and supports dataflow, and time-continuous models. Moreover, tools are available to generate code from a Simulink model. However, Simulink models represent lower abstraction level compared to UML ones. This comparison shows that UML and Simulink have pros and cons, which motivates the integration of both languages in a single design process. As the main contribution, we propose in this thesis an integrated approach to embedded software design, which starts from a high-level specification using UML diagrams. Both dataflow and control-flow models can be generated from that. In this way, an UML model can be used as front-end for different code generation approaches, including UML-based one and the proposed Simulink-based multithread code generation.
|
3 |
Strategies for embedded software development based on high-level models / Strategies for embedded software development based on high-level modelsBrisolara, Lisane Brisolara de January 2007 (has links)
Técnicas que partem de modelos de alto nível de abstração são requeridas para lidar com a complexidade encontrada nas novas gerações de sistemas embarcados, sendo cruciais para o sucesso do projeto. Uma grande redução do esforço pode ser obtida com o uso de modelos quando código em uma linguagem de programação pode ser gerado automaticamente a partir desses. Porém, ferramentas disponíveis para modelagem e geração de código normalmente são dependentes de domínio e o software embarcado normalmente possui comportamento heterogêneo, requerendo suporte a múltiplos modelos de computação. Nesta tese, estratégias para desenvolvimento de software embarcado baseado em modelos de alto nível usando UML e Simulink são analisadas. A partir desta análise, observaram-se as principais limitações das abordagens para geração de código baseadas em UML e Simulink. Esta tese, então, propõe estratégias para melhorar a automação provida por estas ferramentas, como por exemplo, propondo uma abordagem para geração de código multithread a partir de modelos Simulink. A comparação feita entre UML e Simulink mostra que, embora UML seja a linguagem mais usada no domínio de engenharia de software, UML é baseada em eventos e não é adequada para modelar sistemas dataflow. Por outro lado, Simulink é largamente usado por engenheiros de hardware e de controle, além de suportar dataflow e geração de código. Porém, Simulink provê abstrações de mais baixo nível, quando comparado a UML. Conclui-se que tanto UML como Simulink possuem prós e contras, o que motiva a integração de ambas linguagens em um único fluxo de projeto. Neste contexto, esta tese propõe também uma abordagem integradora para desenvolvimento de software embarcado que inicia com uma especificação de alto nível descrita usando diagramas UML, a partir da qual modelos dataflow e control-flow podem ser gerados. Desta maneira, o modelo UML pode ser usado como front-end para diferentes abordagens de geração de código, incluindo UML e a proposta geração de código multithread a partir de modelos Simulink. / The use of techniques starting from higher abstraction levels is required to cope with the complexity that is found in the new generations of embedded systems, being crucial to the design success. A large reduction of design effort when using models in the development can be achieved when there is a possibility to automatically generate code from them. Using these techniques, the designer specifies the system model using some abstraction and code in a programming language is generated from that. However, available tools for modeling and code generation are domain-specific and embedded software usually shows heterogeneous behavior, which pushes the need for supporting software automation under different models of computation. In this thesis, strategies for embedded software development based on high-level models using UML and Simulink were analyzed. We observed that the embedded software generation approaches based on UML and Simulink have limitations, and hence this thesis proposes strategies to improve the automation provided on those approaches, for example, proposing a Simulink-based multithread code generation. UML is a well used language in the software engineering domain, and we consider that it has several advantages. However, UML is event-based and not suitable to model dataflow systems. On the other side, Simulink is widely used by control and hardware engineers and supports dataflow, and time-continuous models. Moreover, tools are available to generate code from a Simulink model. However, Simulink models represent lower abstraction level compared to UML ones. This comparison shows that UML and Simulink have pros and cons, which motivates the integration of both languages in a single design process. As the main contribution, we propose in this thesis an integrated approach to embedded software design, which starts from a high-level specification using UML diagrams. Both dataflow and control-flow models can be generated from that. In this way, an UML model can be used as front-end for different code generation approaches, including UML-based one and the proposed Simulink-based multithread code generation.
|
4 |
Software embarcado de controle para triciclo assistido por estimulação elétrica / Embedded control software for a tricycle assisted by electrical stimulationBrindeiro, George Andrew 20 March 2017 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2017. / Submitted by Albânia Cézar de Melo (albania@bce.unb.br) on 2017-08-03T16:20:41Z
No. of bitstreams: 1
2017_GeorgeAndrewBrindeiro.pdf: 7244557 bytes, checksum: 8721ced187422d4cb825fa339c97c834 (MD5) / Approved for entry into archive by Raquel Viana (raquelviana@bce.unb.br) on 2017-09-06T22:53:07Z (GMT) No. of bitstreams: 1
2017_GeorgeAndrewBrindeiro.pdf: 7244557 bytes, checksum: 8721ced187422d4cb825fa339c97c834 (MD5) / Made available in DSpace on 2017-09-06T22:53:07Z (GMT). No. of bitstreams: 1
2017_GeorgeAndrewBrindeiro.pdf: 7244557 bytes, checksum: 8721ced187422d4cb825fa339c97c834 (MD5)
Previous issue date: 2017-09-06 / Este trabalho visa estudar e aplicar diferentes técnicas e práticas no desenvolvimento de software embarcado de controle de um triciclo adaptado para a prática do ciclismo auxiliado por estimulação elétrica funcional. Entre normas técnicas relacionadas a dispositivos médicos e boas práticas de engenharia de software, buscou-se entender que estratégias poderiam ser adotadas para mitigar anomalias e avaliar a qualidade de software nesse contexto. Levando em consideração os riscos presentes no dispositivo, foi proposta uma nova arquitetura de software para mitigá-los, utilizando o framework Robot Operating System (ROS). A arquitetura proposta e sua implementação foram avaliadas com base em quatro atributos internos de qualidade de software: modifiabilidade, reusabilidade, verifiabilidade e proteção. / This work aims to study and apply different development techniques and practices to the embedded control software to a tricycle adapted for functional electrical stimulation cycling. Between technical standards related to medical devices and software engineering best practices, it attempts to understand which strategies could be adopted to mitigate anomalies and evaluate the quality of software in this context. Considering the risks presented by the device, a new software architecture was proposed to mitigate them, using the Robot Operating System (ROS) framework. The proposed architecture and its implementation were evaluated based on four internal software quality attributes: modifiability, reusability, verifiability and safety.
|
5 |
Projeto de controladores para um sistema de direção elétrica utilizando a metodologia de projeto baseado em modelosSilva, Rafael Rodrigues da 11 August 2017 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2017. / Submitted by Raquel Almeida (raquel.df13@gmail.com) on 2018-01-02T16:05:46Z
No. of bitstreams: 1
2017_RafaelRodriguesdaSilva.pdf: 11955295 bytes, checksum: 8c22109982d2ae4551be89111169824f (MD5) / Approved for entry into archive by Raquel Viana (raquelviana@bce.unb.br) on 2018-02-22T13:13:16Z (GMT) No. of bitstreams: 1
2017_RafaelRodriguesdaSilva.pdf: 11955295 bytes, checksum: 8c22109982d2ae4551be89111169824f (MD5) / Made available in DSpace on 2018-02-22T13:13:16Z (GMT). No. of bitstreams: 1
2017_RafaelRodriguesdaSilva.pdf: 11955295 bytes, checksum: 8c22109982d2ae4551be89111169824f (MD5)
Previous issue date: 2018-02-22 / Fundação de Apoio a Pesquisa do Distrito Federal (FAP-DF). / A utilização e complexidade dos sistemas Eletroeletrônicos (E/E) automotivos têm crescido bastante ao longo dos anos. Esse crescimento é justificado pelos diversos benefícios que estes sistemas podem oferecer frente aos sistemas puramente mecânicos ou hidráulicos tais como: segurança, redução no consumo de combustível, redução na emissão de poluentes e aumento do conforto. Neste sentido, diversos subsistemas foram substituídos total ou parcialmente por dispositivos E/E. Paralelo ao desenvolvimento dos sistemas E/E automotivos, a complexidade dos softwares embarcados automotivos tem sido elevada consideravelmente. Pesquisas mostram que, atualmente, o desenvolvimento de software automotivo é responsável pelo maior custo no projeto de um veículo e o número de linhas de código podendo chegar a centenas de milhões. Devido a este a aumento significativo na quantidade e complexidade dos softwares automotivos, os desenvolvedores têm buscado cada vez mais metodologias que acelerem e sistematizem o processo de desenvolvimento. A Metodologia de Projeto Baseado em Modelos (MBD) surge como uma alternativa para o desenvolvimento de software automotivo, uma vez que apresenta uma série de benefícios em relação ao desenvolvimento de software tradicional. Neste trabalho a metodologia MBD é aplicada ao desenvolvimento do software de controle de um Sistema de Direção Elétrica Assistida (EPAS). Para isto, duas estratégias de controle foram propostas. A primeira é a estraté- gia de controle Linear Quadrática Gaussiana (LQG) que é composta por um controlador Linear Quadrático (LQR) e um Filtro de Kalman para estimação dos estados. A segunda estratégia é o Controlador Preditivo Baseado em Modelos (MPC). Complementar à estratégia de controle MPC, foi desenvolvido um método de parametrização exponencial, o qual contribui significativamente com a redução do custo computacional. Os resultados apresentados mostraram que as estratégias de controle propostas cumpriram de forma satisfatória os requisitos de controle, tanto em nível de simulação quanto em nível de hardware. Neste sentido a metodologia MBD foi implementada no desenvolvimento do software de controle do sistema EPAS e os resultados mostraram que esta técnica proporciona uma série de benefícios e é capaz de acelerar e sistematizar o processo de desenvolvimento. / The usage and complexity of automotive electro-electronic (E/E) systems have grown signifi- cantly over the years. This growth is justified by the many benefits these systems can offer in comparison to purely mechanical or hydraulic systems, such as: increased safety, reduced fuel consumption, reduced pollutant emissions and increased comfort. Thus, several subsystems have been totally or partially replaced by E/E devices. Simultaneously to the development of automotive E/E systems, the complexity of embedded automotive softwares has been raised considerably. Research shows that, today, automotive software development is responsible for the greatest cost in designing a vehicle, and the number of code-lines can reach hundreds of millions. Due to this significant increase in the quantity and complexity of automotive softwares, developers have increasingly sought methodologies that accelerate and systematize the development process. The Model-Based Design (MBD) methodology emerges as an alternative for the development of automotive software, since it presents a series of benefits in comparison to the development of traditional software. In this work, the MBD methodology is applied to the development of the control software of an Electric Power Assisted Steering (EPAS) system. In order to accomplish this, two control strategies were proposed. The first one is the Linear-Quadratic-Gaussian (LQG) control strategy, which is composed of a Linear-Quadratic-Regulator (LQR) and a Kalman Filter, for estimation of the states. The second strategy is the Model-Based Predictive Control (MPC). In addition to the MPC control strategy, an exponential parameterization method was developed, which contributes significantly to the reduction of computational cost. The results presented showed that the proposed control strategies fulfilled the control requirements satisfactorily, both at the simulation level and at the hardware level. This way, MBD methodology was implemented in the development of the EPAS control software and the results showed that this technique provides a series of benefits and is able to accelerate and systematize the development process.
|
6 |
Um método para o desenvolvimento e certificação de software de sistemas embarcados baseado em redes de petri coloridas e casos de garantia.CÉSAR SOBRINHO, Álvaro Álvares de Carvalho. 14 May 2018 (has links)
Submitted by Kilvya Braga (kilvyabraga@hotmail.com) on 2018-05-14T12:42:51Z
No. of bitstreams: 1
ÁLVARO ÁLVARES DE CARVALHO CÉSAR SOBRINHO - TESE (PPGCC) 2016.pdf: 17134758 bytes, checksum: 9420a0e5c444740bf9e0d441542a3714 (MD5) / Made available in DSpace on 2018-05-14T12:42:51Z (GMT). No. of bitstreams: 1
ÁLVARO ÁLVARES DE CARVALHO CÉSAR SOBRINHO - TESE (PPGCC) 2016.pdf: 17134758 bytes, checksum: 9420a0e5c444740bf9e0d441542a3714 (MD5)
Previous issue date: 2016 / Sistemas embarcados estão presentes em atividades diárias da população em geral, de ambientes domésticos até industriais e governamentais. O uso de sistemas embarcados tem aumentado como resultado, por exemplo, da disseminação da comunicação sem fio, de dispositivos eletrônicos com custos e tamanhos reduzidos, e de software embarcado em equipamentos eletrônicos. Software embarcado pode ser projetado como parte, desde sistemas embarcados simples para o controle de equipamentos domésticos, até sistemas críticos de segurança. Quanto mais complexo um sistema embarcado, maior a probabilidade de ocorrer situações adversas que ofereçam riscos financeiros, físicos, entre outros. Em sistemas embarcados críticos de segurança (e.g., médicos, aviônicos e aeroespaciais), falhas podem resultar em desastres naturais e danos à integridade física da população. Diante deste cenário, sistemas devem ser desenvolvidos de modo que sejam seguros e eficazes, e que estejam em conformidade com requisitos regulatórios. Portanto, um desafio importante que emerge dessa situação é o desenvolvimento de sistemas de acordo com sua especificação de requisitos, e ao mesmo tempo confiáveis e certificáveis. É no contexto de sistemas embarcados críticos de segurança que se insere esse trabalho. Propõe-se um método para o desenvolvimento e certificação de software desses sistemas. O método é baseado em redes de Petri coloridas (Coloured Petri Nets - CPN) e casos de garantia (assurance cases) representados com a notação estruturada por metas (Goal Structuring Notation - GSN). Conceitos associados com os processos de certificação prescritivo (padrões de processo) e baseado em metas (características de produto) são integrados durante o processo de desenvolvimento. Além disso, a definição e rastreabilidade de requisitos regulatórios e específicos do produto, juntamente com a verificação de conformidade com requisitos regulatórios, é realizada por meio de casos de garantia. Por fim, neste trabalho também é apresentado um estudo de caso sobre um sistema de Eletrocardiografia (ECG) configurado como um monitor cardíaco. Esse estudo de caso serve como cenário de implementação e avaliação experimental do método. / Embedded systems are part of the general population’s everyday life, from domestic, to industrial and governmental environments. The use of embedded systems has grown as a result, for example, of the dissemination of wireless communication, low power and portable electronic devices, and software embedded into electronic equipments. Embedded software can be designed to compose from simple embedded systems used to control domestic equipments, to safety-critical systems. The most complex an embedded system is, the more adverse situations are likely to occur, leading to financial risks, safety risks, among other. In safety-critical embedded systems (e.g., medical, avionics, and aerospace), failures may result in natural disasters and injuries to the population. Given this scenario, systemsmust be developedinorder tobesafeand effective, andto conform to regulatory requirements. Therefore, an important challenge that raises from this situation is to develop systems according to their requirements specification, and at the same time, being reliable and certifiable. This work is applied in the context of safety-critical embedded systems. A method to develop and certify software embedded in these systems is proposed. The method is based on Coloured Petri Nets (CPN) and assurance cases represented with the Goal Structuring Notation (GSN). Concepts related to prescriptive (process standards) and goal based (product features) certification processes are integrated during the development process. Moreover, the requirements specification and regulatory andproduct- specificrequirementstraceability,alongwiththeverificationofconformanceto regulatory requirements, is carried out through assurance cases. Finally, a case study on an Electrocardiography (ECG) system configured as a cardiac monitor is presented. The case study is useful as an implementation scenario and experimental evaluation of the method.
|
7 |
Implementação de uma metodologia de desenvolvimento de software embarcado baseado em modelos de computação e sua aplicação em um medidor de energia como prototipo alvoTorres, Weslley Medeiros January 2015 (has links)
Orientador: Prof. Dr. Carlos Eduardo Capovilla / Dissertação (mestrado) - Universidade Federal do ABC, Programa de Pós-Graduação em Engenharia Elétrica, 2015. / O desenvolvimento de software embarcado se tornou um gargalo para a introdu-
¸c¿ao de produtos complexos no mercado, como os sistemas de automa¸c¿ao, ve'ýculo,
aeronaves e plantas industriais de controle, pois, dever'a interagir com processos f'ýsicos
garantindo suporte 'a opera¸c¿ao em tempo real e de forma concorrente, ainda
mantendo os custos reduzidos. Com isso, o n'ývel de integra¸c¿ao conseguido com sistemas
embarcados 'e ainda maior, e aumentando a complexidade do desenvolvimento
do software. Portanto, uma metodologia efetiva deve ser estabelecida em todos os
est'agios, envolvendo ferramentas de software que suportem a gera¸c¿ao autom'atica ou
semi-autom'atica de c'odigo, al'em da possibilidade de reuso de c'odigo.
O desenvolvimento baseado em modelos tem sido empregado com sucesso na
implementa¸c¿ao de sistemas de software de uso geral e com isso reduzindo o n'umero
de erros e reduzindo os ciclos e custos, surgindo como uma solu¸c¿ao para os problemas
de desenvolvimento de software embarcado dentro da academia e ind'ustria. Devido
a utilizar um ambiente de desenvolvimento unificado, pode ser utilizado como uma
ferramenta de comunica¸c¿ao e desenvolvimento atrav'es das diferentes disciplinas de
engenharia.
O objetivo principal da metodologia 'e a mudan¸ca de paradigma de desenvolvimento
de software de forma manual a partir de especifica¸c¿oes informais para a
captura de requisitos funcionais e n¿ao funcionais do software embarcado a partir
de modelos matem'aticos do sistema. Claramente, um modelo matem'atico oferece
um modo comum para a integra¸c¿ao sistem'atica e coerente dos diferentes esfor¸cos na
especifica¸c¿ao do sistema, projeto, s'ýntese (gera¸c¿ao de c'odigo), an'alise (valida¸c¿ao),
execu¸c¿ao e manuten¸c¿ao(evolu¸c¿ao do projeto).
Esse trabalho emprega a metodologia de desenvolvimento baseada em modelos
de computa¸c¿ao para o desenvolvimento de um medidor de energia, composto por
um microcontrolador e hardware espec'ýfico para a medi¸c¿ao de consumo de energia
el'etrica. Ao final ser¿ao disponibilizados os dados de testes comparativos entre o
medidor de precis¿ao de energia el'etrica WT3000 da Yokogawa e o prot'otipo desenvolvido,
para a valida¸c¿ao da metodologia no prot'otipo desenvolvido. / Embedded software design has become the bottleneck in the market introduction
of complex products such as automation systems, automobiles, airplanes, and industrial
control plants, it must interact with physical processes guaranteeing support for
hard real-time operation and concurrency, also, with tight cost. Furthermore, the
level of integration with embedded system is even bigger, increasing software development
complexity. Due to the increasing complexity and shrinking time-to-market,
an effective methodology must at all stages involve automatic and semi-automatic
support by software tools and favor code re-use.
Model-based desing has been successfully used for development of general-purpose
software systems and it is known to reduce development errors, shorten development
cycles and thereby decrease overall development costs, emerging as a solution to embedded
software design issues as witnessed by both accademic and industrial efforts,
also uses a common environment for design and communication throughout the different
engineering disciplines.
The core principle of this methodology is to move away from manual coding
from informal specifications by capturing embedded software functional and nonfunctional
requirements from abstract mathematical models. Clearly, a mathematical
model offers a common ground for a systematic and coherent integration of
diverse efforts in system specification, design, synthesis (code generation), analysis
(validation), execution (runtime support), and maintenance (design evolution).
The present work investigates the application of software model based development
for an energy meter, which is composed by a microcontroller and some specific
hardware peripherals to measure electricity usage. At the end it will be conducted
comparative tests between the energy power meter WT3000 from Yokogawa and the
developed energy meter, to validate the used methodology into developed energy
meter.
|
8 |
Técnicas de testes aplicadas a software embarcado em redes ópticas / Tests techniques applied to embedded software in optical networksFadel, Aline Cristine, 1984- 19 August 2018 (has links)
Orientadores: Regina Lúcia de Oliveira Moraes, Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Tecnologia / Made available in DSpace on 2018-08-19T14:09:37Z (GMT). No. of bitstreams: 1
Fadel_AlineCristine_M.pdf: 3259764 bytes, checksum: a287ca33254d027f23e2f2f818464ee1 (MD5)
Previous issue date: 2011 / Resumo: Esse trabalho apresenta os detalhes e os resultados de testes automatizados e manuais que utilizaram a técnica de injeção de falhas e que foram aplicados em redes ópticas. No primeiro experimento o teste foi automatizado e utilizou a emulação de falhas físicas baseadas na máquina de estados do software embarcado dessa rede. Para esse teste foi utilizado uma chave óptica que é controlada por um robô de testes. O segundo experimento foi um teste manual, que injetou falhas nas mensagens de comunicação do protocolo dessa rede, a fim de validar os mecanismos de tolerância a falhas do software central dessa rede. Esse experimento utilizou a metodologia Conformance and Fault injection para preparar, executar e relatar os resultados dos casos de testes. Nos dois experimentos também foi utilizado um padrão de documentação de testes que visa facilitar a reprodução dos testes, a fim de que eles possam ser aplicados em outros ambientes. Com a aplicação desses testes, a rede óptica pode alcançar uma maior confiabilidade, disponibilidade e robustez, que são características essenciais para sistemas que requerem alta dependabilidade / Abstract: This work presents the details and the results of automatic and manual tests that used the fault injection technique and were applied on GPON network. In the first experiment the test was automated, and it performed the emulation of physical faults based on the state machine of the embedded software in this network. In this test is used an optical switch that is controlled by a test robot. The second experiment was a manual test, which injected faults on protocol communication message exchanged through the optical network, in order to validate the main software fault tolerance mechanisms. This experiment used a Conformance and Fault injection methodology to prepare, execute and report the results of the test cases. In both experiments, it was used a standard test documentation to facilitate the reproduction of the tests, so that they can be applied in other environments. With applying both tests, the optical networks reach greater reliability, availability and robustness. These attributes are essential for systems that require high dependability / Mestrado / Tecnologia e Inovação / Mestre em Tecnologia
|
9 |
[en] A MULTI-AGENT SYSTEM FOR REAL TIME MONITORING AND DATA ACQUISITION / [pt] UM SISTEMA MULTI-AGENTES PARA MONITORAMENTO E AQUISIÇÃO EM TEMPO REALFREDERICO SILVA GUIMARAES 24 August 2006 (has links)
[pt] Sistemas supervisores envolvendo software embarcados são
encontrados com
freqüência e são responsáveis pela supervisão de
equipamentos que vão
desde máquinas industriais e eletrodomésticos, a
celulares
e PDAs. Muitos
possuem severos requisitos de confiabilidade e tolerância
a
falhas, bem como
características de sistemas de tempo real. Esta pesquisa
investiga o uso de
tecnologias de ponta como Design by Contract, Agentes de
Software, Mock
Objects e Componentes de Software no auxílio ao
desenvolvimento de sistemas
de monitoramento e aquisição em tempo real. Explora-se,
ainda, o conceito de
sistemas orientados à recuperação. Para realizar tal
análise é utilizado como
estudo de caso um sistema de inspeção de dutos, que foi
implementado utilizando
tais tecnologias. De maneira resumida, pode-se dizer que
neste estudo de
caso percebeu-se que o uso dessas tecnologias fez com que
o sistema fosse
desenvolvido em um curto espaço de tempo, sendo que
questões relevantes não
foram prejudicadas, como por exemplo o fato do sistema
ser
robusto e tolerante
a falhas. É importante ressaltar que o sistema
apresentado
se encontra em uso em
inspeções de dutos reais. / [en] Supervisory systems allied to embedded software, a common
subject in the
literature, are responsible by the supervision of
equipments like industrial
machines, household-electric devices, cellular phones and
PDAs. Many of
them have severe requisites of fault tolerance and
reliability as well as real
time systems features. This research investigates the use
of state-of-the-art
technologies such as Design By Contract, Mock Objects,
software agents and
components in the development of real-time monitoring and
data-acquisition
systems. Recovery oriented systems concepts are also
explored. The case study
carried out to the research is a pipeline inspection
software system, which uses
such technologies. In a nutshell, it can be said that this
case study showed strong
evidence that the use of these technologies allowed the
development in a very
short time, without any loss of robustness, fault
tolerance and reliability. The
developed system is currently being used in real pipeline
inspections.
|
10 |
An approach for embedded software generation based in declarative alloy models / Uma abordagem para geração de software embarcado baseada em modelos declarativos alloySpecht, Emilena January 2008 (has links)
Este trabalho propõe uma nova abordagem para o desenvolvimento de sistemas embarcados, através da combinação da abstração e propriedades de verificação de modelos da linguagem declarativa Alloy com a ampla aceitação de Java na indústria. A abordagem surge no contexto de que a automação de software no domínio embarcado tornou-se extremamente necessária, uma vez que atualmente a maior parte do tempo de desenvolvimento é gasta no projeto de software de produtos tão restritos em termos de recursos. As ferramentas de automação de software embarcado devem atender a demanda por produtividade e manutenibilidade, mas respeitar restrições naturais deste tipo de sistema, tais como espaço de memória, potência e desempenho. As ferramentas de automação de projeto lidam com produtividade e manutenibilidade ao permitir especificações de alto nível, tarefa difícil de atender no domínio embarcado devido ao comportamento misto de muitas aplicações embarcadas. Abordagens que promovem meios para verificação formal também são atrativas, embora geralmente sejam difíceis de usar, e por este motivo não são de grande auxílio na tarefa de reduzir o tempo de chegada ao mercado do produto. Através do uso de Alloy, baseada em lógica de primeira-ordem, é possível obter especificações em altonível e verificação formal de modelos com uma única linguagem. Este trabalho apresenta a poderosa abstração proporcionada pela linguagem Alloy em aplicações embarcadas, assim como regras para obter automaticamente código Java a partir de modelos Alloy. A geração de código Java a partir de modelos Alloy, combinada a uma ferramenta de estimativa, provê exploração de espaço de projeto, atendendo assim as fortes restrições do projeto de software embarcado, o que normalmente não é contemplado pela engenharia de software tradicional. / This work proposes a new approach for embedded software development, by combining the abstraction and model verification properties of the Alloy declarative language with the broad acceptance in industry of Java. The approach comes into play since software automation in the embedded domain has become a major need, as currently most of the development time is spent designing software for such hardconstrained resources products. Design automation tools for embedded systems must meet the demand for productivity and maintainability, but constraints such as memory, power and performance must still be considered. Design automation tools deal with productivity and maintainability by allowing high-level specifications, which is hard to accomplish on the embedded domain due to the mixed behavior nature of many embedded applications. Approaches that provide means for formal verification are also attractive, but their usage is usually not straightforward, and for this reason they are not that helpful in dealing with time-tomarket constraints. By using Alloy, based in first-order logic, it is possible to obtain high-level specifications and formal model verification with a single language. This work shows the powerful abstraction provided by the Alloy language for embedded applications, as well as rules for obtaining automatically Java code from Alloy models. The Java source code generation from Alloy models, combined with an estimation tool, provides design space exploration to match tight embedded software design constraints, what is usually not taken into account by standard software engineering techniques.
|
Page generated in 0.0306 seconds