11 |
Automatic Co-Synthesis of Hardware and Software Safety Monitors for Embedded SystemsRezvani, Behnaz 19 September 2024 (has links)
Embedded systems have become pervasive and increasingly complex, especially in modern applications such as self-driving vehicles, where safety requires both accurate functionality and real-time guarantees. However, the complexity and the integration of artificial intelligence and machine learning algorithms in autonomous systems challenge conventional test-based verification methods. Given the continuous evolution and deployment of these systems, verification must keep pace to ensure their reliability and safety. Runtime verification is a promising approach for validating system behaviors during execution using monitors derived from formal system specifications. The adoption of runtime monitoring has historically been limited to experts, primarily due to the esoteric formal notations and verification processes.
To overcome this barrier, this dissertation presents GROOT, a novel methodology and framework designed to automate synthesis of hardware and/or software monitors from pseudo- English statements. The automatic steps include translating English properties to formalisms, converting the formalisms into monitor automata, and formally verifying the monitors.
GROOT addresses the distinction between functional and timing requirements inherent in real-time embedded systems by providing distinct pseudo-English languages and synthesis flows. This dual approach allows customized verification processes for each category.
To make the monitor structure simple, monitor inputs and responses are handled in separate external modules, allowing formal analysis methods to be used. The synthesized monitors can assist system development and be retained in fielded systems. Their lightweight nature enables the deployment of multiple monitors, each focusing on specific circumstances independently and concurrently. Monitor implementations can range from sequential software to parallel hardware, allowing for flexibility in meeting various system constraints. By eliminating the need for manual code generation and verification, GROOT allows practitioners to synthesize monitors without requiring a formal methods background. / Doctor of Philosophy / An embedded system is a computer system that is embedded into a device to perform specific tasks. These systems are designed to function within the device they are built into and are often found in everyday technologies such as cars, household appliances and medical devices.
They are programmed to carry out particular functions or operations automatically, without needing human intervention. These systems rely on precise timing and flawless functionality to operate safely and efficiently. However, ensuring that they work as intended, especially as they grow more complex and interconnected, presents significant hurdles. Traditional methods of verifying embedded systems rely on manual testing, which can be time-consuming and prone to errors. To address this issue, this dissertation introduces GROOT, a novel methodology and framework designed to automate the process of monitoring these systems in real-time. GROOT simplifies this complex task by automatically generating monitors from simple English statements. These monitors act as vigilant watchdogs, continuously checking whether the system behaves as intended and responds appropriately to its environment.
This automation makes the verification process more efficient and less error-prone. This framework handles both functional requirements (ensuring the system performs its intended tasks) and timing requirements (ensuring tasks are completed within specific time frames).
GROOT also offers flexibility in how monitors are implemented, allowing them to be tailored to specific hardware or software configurations. This flexibility allows GROOT's monitors to adapt to various applications, from small-scale prototypes to large-scale deployments.
|
12 |
Geração automática de código VHDL a partir de modelos UML para sistemas embarcados de tempo-real / Automatic VHDL code generation from UML models for real-time embedded systemsMoreira, Tomás Garcia January 2012 (has links)
A crescente demanda da indústria exige a produção de dispositivos embarcados em menos tempo e com mais funcionalidades diferentes. Isso implica diretamente no processo de desenvolvimento destes produtos requerendo novas técnicas para absorver a complexidade crescente dos projetos e para acelerar suas etapas de desenvolvimento. A linguagem UML vem sendo utilizada para absorver a complexidade do projeto de sistemas embarcados através de sua representação gráfica que torna o processo mais simples e intuitivo. Para acelerar o desenvolvimento surgiram processos que permitem, diretamente a partir modelos UML, a geração de código para linguagens de descrição de software embarcado (C, C++, Java) e para linguagens tradicionais de descrição de hardware (VHDL, Verilog). Diversos trabalhos e ferramentas comerciais foram desenvolvidos para automatizar o processo de geração de código convencional a partir de modelos UML (software). No entanto, pela complexidade da transformação existem apenas poucos trabalhos e nenhuma ferramenta comercial direcionado à geração de HDL a partir de UML, tornando este processo ainda pouco difundido. Nossa proposta é focada na geração de descrições de hardware na linguagem VHDL a partir de modelos UML de sistemas tempo-real embarcados (STRE), surgindo como alternativa ao processo de desenvolvimento de hardware. Apresenta uma metodologia completa para geração automática de código VHDL, permitindo que o comportamento descrito para o sistema modelado seja testado e validado antes de ser desenvolvido, acelerando o processo de produção de hardware e diminuindo as chances de erros de projeto. É proposto como um processo de engenharia dirigido por modelos (MDE) que cobre desde as fases de análise de requisitos e modelagem UML, até a geração de código fonte na linguagem VHDL, onde o foco é gerar na forma de descrições de hardware, todas aquelas funções lógicas de um sistema embarcado que normalmente são desenvolvidas em software. Para atingir este objetivo, foi desenvolvido neste trabalho um conjunto de regras de mapeamento que estende a funcionalidade da ferramenta GenERTiCA, utilizada como suporte ao processo. Adicionalmente, foram pesquisados e desenvolvidos conceitos que serviram como base para o desenvolvimento de regras utilizadas pela ferramenta suporte para guiar o processo de mapeamento entre as linguagens. Os conceitos e as regras propostas foram validados por meio de um estudo de caso, cujos resultados obtidos estão demonstrados nesta dissertação. / The growing market demand requires the production of embedded devices in less time and with more different features. This directly implies on the development process of these products requiring new techniques to absorb the growing complexity of projects and to accelerate their development stages. UML has been used to handle the embedded systems design complexity through its graphical representation that makes the process simpler and more intuitive. To speed up the development cycle, it has emerged some processes that permit code generating directly from UML models to embedded software description languages (C, C++, Java), and traditional hardware description languages (VHDL, Verilog). Several researches and commercial tools have been developed to automate the code generation process from UML models to conventional languages (software). However, due to the transformation complexity there are only few studies and no commercial tool addressed to HDL generation from UML models, making this process almost unknown. Our proposal is focused on generating hardware descriptions as VHDL code from UML models of real-time embedded systems (RTES), emerging as an alternative to the hardware development. It presents a complete methodology to the VHDL code generation, allowing the behavior described to the modeled system to be tested and validated before being implemented, accelerating the hardware production and decreasing the chances of design errors. It is proposed as a model-driven engineering (MDE) process that covers the phases of requirements analysis, UML modeling, models transformations, and the source code generating process to the VHDL language, where the focus is to generate as hardware descriptions all the logic functions of an embedded system which are usually developed as software. To achieve this goal, this work was developed a set of mapping rules which extends the functionality of the tool GenERTiCA, used to support the process. Additionally, it was researched and developed concepts that were the basis for the development of rules used by the tool support to guide the mapping process between languages. The concepts and proposed rules have been validated through a case study, whose results are shown in this dissertation.
|
13 |
Geração automática de código VHDL a partir de modelos UML para sistemas embarcados de tempo-real / Automatic VHDL code generation from UML models for real-time embedded systemsMoreira, Tomás Garcia January 2012 (has links)
A crescente demanda da indústria exige a produção de dispositivos embarcados em menos tempo e com mais funcionalidades diferentes. Isso implica diretamente no processo de desenvolvimento destes produtos requerendo novas técnicas para absorver a complexidade crescente dos projetos e para acelerar suas etapas de desenvolvimento. A linguagem UML vem sendo utilizada para absorver a complexidade do projeto de sistemas embarcados através de sua representação gráfica que torna o processo mais simples e intuitivo. Para acelerar o desenvolvimento surgiram processos que permitem, diretamente a partir modelos UML, a geração de código para linguagens de descrição de software embarcado (C, C++, Java) e para linguagens tradicionais de descrição de hardware (VHDL, Verilog). Diversos trabalhos e ferramentas comerciais foram desenvolvidos para automatizar o processo de geração de código convencional a partir de modelos UML (software). No entanto, pela complexidade da transformação existem apenas poucos trabalhos e nenhuma ferramenta comercial direcionado à geração de HDL a partir de UML, tornando este processo ainda pouco difundido. Nossa proposta é focada na geração de descrições de hardware na linguagem VHDL a partir de modelos UML de sistemas tempo-real embarcados (STRE), surgindo como alternativa ao processo de desenvolvimento de hardware. Apresenta uma metodologia completa para geração automática de código VHDL, permitindo que o comportamento descrito para o sistema modelado seja testado e validado antes de ser desenvolvido, acelerando o processo de produção de hardware e diminuindo as chances de erros de projeto. É proposto como um processo de engenharia dirigido por modelos (MDE) que cobre desde as fases de análise de requisitos e modelagem UML, até a geração de código fonte na linguagem VHDL, onde o foco é gerar na forma de descrições de hardware, todas aquelas funções lógicas de um sistema embarcado que normalmente são desenvolvidas em software. Para atingir este objetivo, foi desenvolvido neste trabalho um conjunto de regras de mapeamento que estende a funcionalidade da ferramenta GenERTiCA, utilizada como suporte ao processo. Adicionalmente, foram pesquisados e desenvolvidos conceitos que serviram como base para o desenvolvimento de regras utilizadas pela ferramenta suporte para guiar o processo de mapeamento entre as linguagens. Os conceitos e as regras propostas foram validados por meio de um estudo de caso, cujos resultados obtidos estão demonstrados nesta dissertação. / The growing market demand requires the production of embedded devices in less time and with more different features. This directly implies on the development process of these products requiring new techniques to absorb the growing complexity of projects and to accelerate their development stages. UML has been used to handle the embedded systems design complexity through its graphical representation that makes the process simpler and more intuitive. To speed up the development cycle, it has emerged some processes that permit code generating directly from UML models to embedded software description languages (C, C++, Java), and traditional hardware description languages (VHDL, Verilog). Several researches and commercial tools have been developed to automate the code generation process from UML models to conventional languages (software). However, due to the transformation complexity there are only few studies and no commercial tool addressed to HDL generation from UML models, making this process almost unknown. Our proposal is focused on generating hardware descriptions as VHDL code from UML models of real-time embedded systems (RTES), emerging as an alternative to the hardware development. It presents a complete methodology to the VHDL code generation, allowing the behavior described to the modeled system to be tested and validated before being implemented, accelerating the hardware production and decreasing the chances of design errors. It is proposed as a model-driven engineering (MDE) process that covers the phases of requirements analysis, UML modeling, models transformations, and the source code generating process to the VHDL language, where the focus is to generate as hardware descriptions all the logic functions of an embedded system which are usually developed as software. To achieve this goal, this work was developed a set of mapping rules which extends the functionality of the tool GenERTiCA, used to support the process. Additionally, it was researched and developed concepts that were the basis for the development of rules used by the tool support to guide the mapping process between languages. The concepts and proposed rules have been validated through a case study, whose results are shown in this dissertation.
|
14 |
Geração automática de código VHDL a partir de modelos UML para sistemas embarcados de tempo-real / Automatic VHDL code generation from UML models for real-time embedded systemsMoreira, Tomás Garcia January 2012 (has links)
A crescente demanda da indústria exige a produção de dispositivos embarcados em menos tempo e com mais funcionalidades diferentes. Isso implica diretamente no processo de desenvolvimento destes produtos requerendo novas técnicas para absorver a complexidade crescente dos projetos e para acelerar suas etapas de desenvolvimento. A linguagem UML vem sendo utilizada para absorver a complexidade do projeto de sistemas embarcados através de sua representação gráfica que torna o processo mais simples e intuitivo. Para acelerar o desenvolvimento surgiram processos que permitem, diretamente a partir modelos UML, a geração de código para linguagens de descrição de software embarcado (C, C++, Java) e para linguagens tradicionais de descrição de hardware (VHDL, Verilog). Diversos trabalhos e ferramentas comerciais foram desenvolvidos para automatizar o processo de geração de código convencional a partir de modelos UML (software). No entanto, pela complexidade da transformação existem apenas poucos trabalhos e nenhuma ferramenta comercial direcionado à geração de HDL a partir de UML, tornando este processo ainda pouco difundido. Nossa proposta é focada na geração de descrições de hardware na linguagem VHDL a partir de modelos UML de sistemas tempo-real embarcados (STRE), surgindo como alternativa ao processo de desenvolvimento de hardware. Apresenta uma metodologia completa para geração automática de código VHDL, permitindo que o comportamento descrito para o sistema modelado seja testado e validado antes de ser desenvolvido, acelerando o processo de produção de hardware e diminuindo as chances de erros de projeto. É proposto como um processo de engenharia dirigido por modelos (MDE) que cobre desde as fases de análise de requisitos e modelagem UML, até a geração de código fonte na linguagem VHDL, onde o foco é gerar na forma de descrições de hardware, todas aquelas funções lógicas de um sistema embarcado que normalmente são desenvolvidas em software. Para atingir este objetivo, foi desenvolvido neste trabalho um conjunto de regras de mapeamento que estende a funcionalidade da ferramenta GenERTiCA, utilizada como suporte ao processo. Adicionalmente, foram pesquisados e desenvolvidos conceitos que serviram como base para o desenvolvimento de regras utilizadas pela ferramenta suporte para guiar o processo de mapeamento entre as linguagens. Os conceitos e as regras propostas foram validados por meio de um estudo de caso, cujos resultados obtidos estão demonstrados nesta dissertação. / The growing market demand requires the production of embedded devices in less time and with more different features. This directly implies on the development process of these products requiring new techniques to absorb the growing complexity of projects and to accelerate their development stages. UML has been used to handle the embedded systems design complexity through its graphical representation that makes the process simpler and more intuitive. To speed up the development cycle, it has emerged some processes that permit code generating directly from UML models to embedded software description languages (C, C++, Java), and traditional hardware description languages (VHDL, Verilog). Several researches and commercial tools have been developed to automate the code generation process from UML models to conventional languages (software). However, due to the transformation complexity there are only few studies and no commercial tool addressed to HDL generation from UML models, making this process almost unknown. Our proposal is focused on generating hardware descriptions as VHDL code from UML models of real-time embedded systems (RTES), emerging as an alternative to the hardware development. It presents a complete methodology to the VHDL code generation, allowing the behavior described to the modeled system to be tested and validated before being implemented, accelerating the hardware production and decreasing the chances of design errors. It is proposed as a model-driven engineering (MDE) process that covers the phases of requirements analysis, UML modeling, models transformations, and the source code generating process to the VHDL language, where the focus is to generate as hardware descriptions all the logic functions of an embedded system which are usually developed as software. To achieve this goal, this work was developed a set of mapping rules which extends the functionality of the tool GenERTiCA, used to support the process. Additionally, it was researched and developed concepts that were the basis for the development of rules used by the tool support to guide the mapping process between languages. The concepts and proposed rules have been validated through a case study, whose results are shown in this dissertation.
|
15 |
Implementation of decision trees for embedded systemsBadr, Bashar January 2014 (has links)
This research work develops real-time incremental learning decision tree solutions suitable for real-time embedded systems by virtue of having both a defined memory requirement and an upper bound on the computation time per training vector. In addition, the work provides embedded systems with the capabilities of rapid processing and training of streamed data problems, and adopts electronic hardware solutions to improve the performance of the developed algorithm. Two novel decision tree approaches, namely the Multi-Dimensional Frequency Table (MDFT) and the Hashed Frequency Table Decision Tree (HFTDT) represent the core of this research work. Both methods successfully incorporate a frequency table technique to produce a complete decision tree. The MDFT and HFTDT learning methods were designed with the ability to generate application specific code for both training and classification purposes according to the requirements of the targeted application. The MDFT allows the memory architecture to be specified statically before learning takes place within a deterministic execution time. The HFTDT method is a development of the MDFT where a reduction in the memory requirements is achieved within a deterministic execution time. The HFTDT achieved low memory usage when compared to existing decision tree methods and hardware acceleration improved the performance by up to 10 times in terms of the execution time.
|
16 |
Cache optimization for real-time embedded systemsUnknown Date (has links)
Cache memory is used, in most single-core and multi-core processors, to improve performance by bridging the speed gap between the main memory and CPU. Even though cache increases performance, it poses some serious challenges for embedded systems running real-time applications. Cache introduces execution time unpredictability due to its adaptive and dynamic nature and cache consumes vast amount of power to be operated. Energy requirement and execution time predictability are crucial for the success of real-time embedded systems. Various cache optimization schemes have been proposed to address the performance, power consumption, and predictability issues. However, currently available solutions are not adequate for real-time embedded systems as they do not address the performance, power consumption, and execution time predictability issues at the same time. Moreover, existing solutions are not suitable for dealing with multi-core architecture issues. In this dissertation, we develop a methodology through cache optimization for real-time embedded systems that can be used to analyze and improve execution time predictability and performance/power ratio at the same time. This methodology is effective for both single-core and multi-core systems. First, we develop a cache modeling and optimization technique for single-core systems to improve performance. Then, we develop a cache modeling and optimization technique for multi-core systems to improve performance/power ratio. We develop a cache locking scheme to improve execution time predictability for real-time systems. We introduce Miss Table (MT) based cache locking scheme with victim cache (VC) to improve predictability and performance/power ratio. MT holds information about memory blocks, which may cause more misses if not locked, to improve cache locking performance. / VC temporarily stores the victim blocks from level-1 cache to improve cache hits. In addition, MT is used to improve cache replacement performance and VC is used to improve cache hits by supporting stream buffering. We also develop strategies to generate realistic workload by characterizing applications to simulate cache optimization and cache locking schemes. Popular MPEG4, H.264/AVC, FFT, MI, and DFT applications are used to run the simulation programs. Simulation results show that newly introduced Miss Table based cache locking scheme with victim cache significantly improves the predictability and performance/power ratio. In this work, a reduction of 33% in mean delay per task and a reduction of 41% in total power consumption are achieved by using MT and VCs while locking 25% of level-2 cache size in an 4-core system. It is also observed that execution time predictability can be improved by avoiding more than 50% cache misses while locking one-fourth of the cache size. / by Abu Asaduzzaman. / Vita. / Thesis (Ph.D.)--Florida Atlantic University, 2009. / Includes bibliography. / Electronic reproduction. Boca Raton, Fla., 2009. Mode of access: World Wide Web.
|
17 |
Time-triggered Controller Area Network (ttcan) Communication Scheduling: A Systematic ApproachKeskin, Ugur 01 August 2008 (has links) (PDF)
Time-Triggered Controller Area Network (TTCAN) is a hybrid communication
paradigm with combining both time-triggered and event-triggered traffic
scheduling. Different from the standard Controller Area Network (CAN),
communication in TTCAN is performed according to a pre-computed, fixed
(during system run) schedule that is called as TTCAN System Matrix. Thus,
communication performance of TTCAN network is directly related to structure of
the system matrix, which makes the design of system matrix a crucial process.
The study in this thesis consists of the extended work on the development of a
systematic approach for system matrix construction. Methods for periodic
message scheduling and an approach for aperiodic message scheduling are
proposed with the aim of constructing a feasible system matrix, combining three
important aspects: message properties, protocol constraints and system
performance requirements in terms of designated performance metrics. Also,
system matrix design, analyses and performance evaluation are performed on
example message sets with the help of two developed software tools.
|
18 |
Metodologia orientada a aspectos para a especificação de sistemas tempo-real embarcados distribuídos / Aspect-Oriented Methodology to Specify Distributed Real-time Embedded SystemsFreitas, Edison Pignaton de January 2007 (has links)
Sistemas de tempo-real embarcados distribuídos se caracterizam pela complexidade e especificidade de seus projetos. Tanto a complexidade quanto a especificidade apresentam forte influência dos diversos requisitos ligados às restrições advindas das três características que distinguem tais sistemas, i.e. presença de fortes restrições temporais, restrições de sistemas embarcados e distribuição de processamento. Estes requisitos, chamados de requisitos não-funcionais, afetam diversas partes do sistema de maneira não uniforme, tornando-se por esta razão difícil o seu gerenciamento. Metodologias orientadas a objetos não apresentam mecanismos específicos para tratar tais requisitos, o que implica na aplicação de um significativo esforço ao se realizar o reuso ou a manutenção de componentes afetados por requisitos de natureza nãofuncional. Novas tecnologias têm surgido com o objetivo de contornar este problema, notadamente a orientação a aspectos. Este paradigma propõe a separação no tratamento dos requisitos não-funcionais contribuindo com a modularização do sistema. Esta dissertação propõe a aplicação de orientação a aspectos para a especificação de sistemas tempo-real embarcados distribuídos. Para isto realizou-se a adaptação de uma metodologia de desenvolvimento de sistemas orientada a aspectos, a FRIDA (From RequIrements to Design using Aspects), contextualizando-a para o domínio de interesse. A utilização desta metodologia provê suporte ao mapeamento de requisitos em elementos de projeto de modo a promover a rastreabilidade entre as fases de análise e projeto. Na fase de projeto é proposta a utilização de aspectos em conjunto com elementos do perfil RT-UML para o tratamento dos requisitos identificados e especificados na fase de análise. / Distributed real-time embedded systems generally have complex and very specific projects. Those characteristics are influenced by several requirements that have relation with constraints about the time, embedded and distribution restrictions. Those requirements, called non-functional requirements, can affect the whole system in a nonuniform way, what makes it difficult to handle with this kind of requirement. Objectoriented methodologies do not present specific mechanisms to handle those requirements, what imply in a significant effort to perform reuse and maintainability tasks in those components affected by non-functional requirements. New technologies are emerging to fulfill this gap, noteworthy the aspect orientation. This paradigm proposes the separation in handling functional and non-functional requirements, giving a contribution to the system modularity. This dissertation proposes the use of aspect orientation to specify distributed realtime embedded systems. To support this proposal, it was performed an adaptation of an aspect-oriented method called FRIDA (From RequIrements to Design using Aspects). The use of this method supports the mapping of requirements in design model elements, in order to promote traceability between analysis and design phases. The presented approach proposes the use of RT-UML together with aspect oriented elements in design phase aiming to improve the handling of those requirements specified in the analysis phase.
|
19 |
An aspect-oriented model-driven engineering approach for distributed embedded real-time systems / Uma abordagem de engenharia guiada por modelos para o projeto de sistemas tempo-real embarcados e distribuídosWehrmeister, Marco Aurélio January 2009 (has links)
Atualmente, o projeto de sistemas tempo-real embarcados e distribuídos está crescendo em complexidade devido à sua natureza heterogênea e ao crescente número e diversidade de funções que um único sistema desempenha. Sistemas de automação industrial, sistemas eletrônicos em automóveis e veículos aéreos, equipamentos médicos, entre outros, são exemplos de tais sistemas. Tais sistemas são compostos por componentes distintos (blocos de hardware e software), os quais geralmente são projetados concorrentemente utilizando modelos, ferramentas e linguagens de especificação e implementação diferentes. Além disso, estes sistemas tem requisitos específicos e importantes, os quais não representam (por si só) as funcionalidades esperadas do sistema, mas podem afetar a forma como o sistema executa suas funcionalidades e são muito importantes para a realização do projeto com sucesso. Os chamados requisitos não-funcionais são difíceis de tratar durante todo o ciclo de projeto porque normalmente um único requisito não-funcional afeta vários componentes diferentes. A presente tese de doutorado propõe a integração automatizada das fases de projeto de sistemas tempo-real embarcados e distribuídos focando em aplicações na área da automação. A abordagem proposta usa técnicas de engenharia guiada por modelos (do inglês Model Driven Engineering ou MDE) e projeto orientado a aspectos (do inglês Aspect-Oriented Design ou AOD) juntamente com o uso de plataformas previamente desenvolvidas (ou desenvolvida por terceiros) para projetar os componentes de sistemas tempo-real embarcados e distribuídos. Adicionalmente, os conceitos de AOD permitem a separação no tratamento dos requisitos de naturezas diferentes (i.e. requisitos funcionais e não-funcionais), melhorando a modularização dos artefatos produzidos (e.g. modelos de especificação, código fonte, etc.). Além disso, esta tese propõe uma ferramenta de geração de código, que suporta a transição automática das fases iniciais de especificação para as fases seguintes de implementação. Esta ferramenta usa um conjunto de regras de mapeamento, que descrevem como elementos nos níveis mais altos de abstração são mapeados (ou transformados) em elementos dos níveis mais baixos de abstração. Em outras palavras, tais regras de mapeamento permitem a transformação automática da especificação inicial, as quais estão mais próximo do domínio da aplicação, em código fonte para os componentes de hardware e software, os quais podem ser compilados e sintetizados por outras ferramentas para se obter a realização/implementação do sistema tempo-real embarcado e distribuído. / Currently, the design of distributed embedded real-time systems is growing in complexity due to the increasing amount of distinct functionalities that a single system must perform, and also to concerns related to designing different kinds of components. Industrial automation systems, embedded electronics systems in automobiles or aerial vehicles, medical equipments and others are examples of such systems, which includes distinct components (e.g. hardware and software ones) that are usually designed concurrently using distinct models, tools, specification, and implementation languages. Moreover, these systems have domain specific and important requirements, which do not represent by themselves the expected functionalities, but can affect both the way that the system performs its functionalities as well as the overall design success. The so-called nonfunctional requirements are difficult to deal with during the whole design because usually a single non-functional requirement affects several distinct components. This thesis proposes an automated integration of distributed embedded real-time systems design phases focusing on automation systems. The proposed approach uses Model- Driven Engineering (MDE) techniques together with Aspect-Oriented Design (AOD) and previously developed (or third party) hardware and software platforms to design the components of distributed embedded real-time systems. Additionally, AOD concepts allow a separate handling of requirement with distinct natures (i.e. functional and non-functional requirements), improving the produced artifacts modularization (e.g. specification model, source code, etc.). In addition, this thesis proposes a code generation tool, which supports an automatic transition from the initial specification phases to the following implementation phases. This tool uses a set of mapping rules, describing how elements at higher abstraction levels are mapped (or transformed) into lower abstraction level elements. In other words, suchmapping rules allow an automatic transformation of the initial specification, which is closer to the application domain, in source code for software and hardware components that can be compiled or synthesized by other tools, obtaining the realization/ implementation of the distributed embedded real-time system.
|
20 |
An aspect-oriented model-driven engineering approach for distributed embedded real-time systems / Uma abordagem de engenharia guiada por modelos para o projeto de sistemas tempo-real embarcados e distribuídosWehrmeister, Marco Aurélio January 2009 (has links)
Atualmente, o projeto de sistemas tempo-real embarcados e distribuídos está crescendo em complexidade devido à sua natureza heterogênea e ao crescente número e diversidade de funções que um único sistema desempenha. Sistemas de automação industrial, sistemas eletrônicos em automóveis e veículos aéreos, equipamentos médicos, entre outros, são exemplos de tais sistemas. Tais sistemas são compostos por componentes distintos (blocos de hardware e software), os quais geralmente são projetados concorrentemente utilizando modelos, ferramentas e linguagens de especificação e implementação diferentes. Além disso, estes sistemas tem requisitos específicos e importantes, os quais não representam (por si só) as funcionalidades esperadas do sistema, mas podem afetar a forma como o sistema executa suas funcionalidades e são muito importantes para a realização do projeto com sucesso. Os chamados requisitos não-funcionais são difíceis de tratar durante todo o ciclo de projeto porque normalmente um único requisito não-funcional afeta vários componentes diferentes. A presente tese de doutorado propõe a integração automatizada das fases de projeto de sistemas tempo-real embarcados e distribuídos focando em aplicações na área da automação. A abordagem proposta usa técnicas de engenharia guiada por modelos (do inglês Model Driven Engineering ou MDE) e projeto orientado a aspectos (do inglês Aspect-Oriented Design ou AOD) juntamente com o uso de plataformas previamente desenvolvidas (ou desenvolvida por terceiros) para projetar os componentes de sistemas tempo-real embarcados e distribuídos. Adicionalmente, os conceitos de AOD permitem a separação no tratamento dos requisitos de naturezas diferentes (i.e. requisitos funcionais e não-funcionais), melhorando a modularização dos artefatos produzidos (e.g. modelos de especificação, código fonte, etc.). Além disso, esta tese propõe uma ferramenta de geração de código, que suporta a transição automática das fases iniciais de especificação para as fases seguintes de implementação. Esta ferramenta usa um conjunto de regras de mapeamento, que descrevem como elementos nos níveis mais altos de abstração são mapeados (ou transformados) em elementos dos níveis mais baixos de abstração. Em outras palavras, tais regras de mapeamento permitem a transformação automática da especificação inicial, as quais estão mais próximo do domínio da aplicação, em código fonte para os componentes de hardware e software, os quais podem ser compilados e sintetizados por outras ferramentas para se obter a realização/implementação do sistema tempo-real embarcado e distribuído. / Currently, the design of distributed embedded real-time systems is growing in complexity due to the increasing amount of distinct functionalities that a single system must perform, and also to concerns related to designing different kinds of components. Industrial automation systems, embedded electronics systems in automobiles or aerial vehicles, medical equipments and others are examples of such systems, which includes distinct components (e.g. hardware and software ones) that are usually designed concurrently using distinct models, tools, specification, and implementation languages. Moreover, these systems have domain specific and important requirements, which do not represent by themselves the expected functionalities, but can affect both the way that the system performs its functionalities as well as the overall design success. The so-called nonfunctional requirements are difficult to deal with during the whole design because usually a single non-functional requirement affects several distinct components. This thesis proposes an automated integration of distributed embedded real-time systems design phases focusing on automation systems. The proposed approach uses Model- Driven Engineering (MDE) techniques together with Aspect-Oriented Design (AOD) and previously developed (or third party) hardware and software platforms to design the components of distributed embedded real-time systems. Additionally, AOD concepts allow a separate handling of requirement with distinct natures (i.e. functional and non-functional requirements), improving the produced artifacts modularization (e.g. specification model, source code, etc.). In addition, this thesis proposes a code generation tool, which supports an automatic transition from the initial specification phases to the following implementation phases. This tool uses a set of mapping rules, describing how elements at higher abstraction levels are mapped (or transformed) into lower abstraction level elements. In other words, suchmapping rules allow an automatic transformation of the initial specification, which is closer to the application domain, in source code for software and hardware components that can be compiled or synthesized by other tools, obtaining the realization/ implementation of the distributed embedded real-time system.
|
Page generated in 0.0324 seconds