Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos

Detalhes bibliográficos
Autor(a) principal: Oliveira , Paulo Renato Mendes
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.22/19931
Resumo: The present work is inserted in the area of Cyber-Physical Systems (CPS), with particular emphasis on the automotive domain. With the ever increasing globalization of this industry, and the increasing levels of production required to satisfy customer needs, a necessity arises to automatize many tasks which allow for the development of systems that can support the growth of the industry. Developing complex CPS applications for the automotive domain is a complex task, due to the criticality inherent to this domain and the need for increased functionality, safety, and security. In order to properly address such complexity of the design and development process, the development of a new Domain Specific Language (DSL) is proposed. This DSL aims to provide a mostly automatized integration process between the different entities or components of a CPS application, abstracting away technical details of these components and enabling rigorous methods of verification, customization, and deployment. To this end, the DSL provides different views of the system, where properties or constraints imposed in a view propagate to other views, increasing the set of systemwide properties that need to be ensured correct in order for the system to be considered safe. Each of these views has language concepts associated, which get translated into target language, as the objective is to build a system or parts of a system that respect the restrictions imposed by those views and concepts. The DSL was implemented using Meta Programming System (MPS) and artifacts were generated from a given specification of DSL concepts and utilized in a deployment environment utilizing a BananaPi-M1 board with a custom configured Linux distribution and kernel. Custom scripts were also deployed that help in the installation of the operating system as well as relevant packages to install on the first boot. Additionally, application layer artifacts were also deployed, using a message oriented architecture (publish/subscribe), executing on top of a Robot Operating System (ROS) instance.
id RCAP_1489932c872e12353fcd1220bee5dcf3
oai_identifier_str oai:recipp.ipp.pt:10400.22/19931
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Linguagem Específica de Domínio para a Integração de Sistemas Ciber FísicosDomain Specific Languages for Cyber-Physical Systems Component IntegrationDSLViewIntegrationThe present work is inserted in the area of Cyber-Physical Systems (CPS), with particular emphasis on the automotive domain. With the ever increasing globalization of this industry, and the increasing levels of production required to satisfy customer needs, a necessity arises to automatize many tasks which allow for the development of systems that can support the growth of the industry. Developing complex CPS applications for the automotive domain is a complex task, due to the criticality inherent to this domain and the need for increased functionality, safety, and security. In order to properly address such complexity of the design and development process, the development of a new Domain Specific Language (DSL) is proposed. This DSL aims to provide a mostly automatized integration process between the different entities or components of a CPS application, abstracting away technical details of these components and enabling rigorous methods of verification, customization, and deployment. To this end, the DSL provides different views of the system, where properties or constraints imposed in a view propagate to other views, increasing the set of systemwide properties that need to be ensured correct in order for the system to be considered safe. Each of these views has language concepts associated, which get translated into target language, as the objective is to build a system or parts of a system that respect the restrictions imposed by those views and concepts. The DSL was implemented using Meta Programming System (MPS) and artifacts were generated from a given specification of DSL concepts and utilized in a deployment environment utilizing a BananaPi-M1 board with a custom configured Linux distribution and kernel. Custom scripts were also deployed that help in the installation of the operating system as well as relevant packages to install on the first boot. Additionally, application layer artifacts were also deployed, using a message oriented architecture (publish/subscribe), executing on top of a Robot Operating System (ROS) instance.Este trabalho está inserido no domínio dos Sistemas Ciber-Físicos, com um ênfase particular no domínio automóvel. Com o crescimento desta indústria e clientes com necessidades que requerem níveis de produção mais elevados, existe uma necessidade de simplificar e automatizar tarefas que fazem parte de processos de desenvolvimento de sistemas que consigam suportar o crescimento da indústria. Tipicamente, o desenvolvimento deste tipo de sistemas é uma tarefa complexa, devido à criticalidade inerente a este domínio. Para conseguir mitigar este problema, propõe-se o desenvolvimento de uma DSL, que irá providenciar uma integração semi-automática entre as diferentes tecnologias que compõe este domínio, abstraindo os detalhes mais técnicos da integração entre estas tecnologias para providênciar uma experiência mais simplificada aos utilizadores. Para atingir este objetivo, a DSL providencia diferentes vistas do sistema, sendo que cada uma dessas vistas captura um conjunto de propriedades diferente, que poderão ser partilhadas entre elas, com o objetivo de produzir um sistema que respeite essas mesmas propriedades. Cada uma destas vistas tem conceitos da linguagem associados, sendo que estes conceitos são traduzidos para a(s) linguagem(s) alvo. A implementação desta DSL foi feita com recurso ao MPS que é uma sistema que permite desenvolver DSL’s de maneira intuitiva. Este desenvolvimento, tipicamente, requer a adoção dos padrões de desenvolvimento enforçados pela ferramenta, nomeadamente, a criação de conceitos da linguagem que são na sua essência uma unidade que representa algo no domínio. Para cada um destes conceitos é necessário definir a sua estrutura (propriedades, filhos, referências), o seu editor, que é a forma que o conceito irá ser apresentado ao utilizador da DSL e o seu componente de geração de texto, que dita como o conceito é traduzido para linguagem alvo. Adicionalmente, para cada conceito são definidas também quaisquer restrições de domínio que tenha, que na verdade poderão ser transformadas em restrições de sintaxe para o utilizador final, bem como quaisquer comportamentos relevantes para o domínio daquele conceito, comportamentos estes que muitas vezes ajudam na tradução para a linguagem alvo. O objetivo é produzir um sistema com recurso a estas vistas, que seja extensível, configurável e manipulável, mas ao mesmo tempo, oferecer algum isolamento a partes criticas que poderão requerer acesso ininterrupto a recursos de hardware. Posto isto, propõe-se um caso de uso em que o objetivo será gerar configurações do Jailhouse, que é um hypervisor que é um hypervisor particional baseado em Linux. Nesta configuração será possível incluir também partições, que são blocos isolados no sistema que providênciam o acesso controlado a recursos de hardware. Este isolamento deverá ser configurável pelo que o caso de uso contempla a configuração de canais de comunicação entre partições. Adicionalmente, propõe-se a configuração de um sistema operativo, sendo que esta configuração envolve todo o processo de obter uma base, configurar o sistema de ficheiros, injetar scripts de configuração de pacotes nesse sistema de ficheiros e também configurar o kernel da distribuição escolhida. Para terminar, o caso de uso contempla também a produção de uma camada aplicacional, executada em cima de ROS (Robot Operating System), que consiste num conjunto de aplicações com arquitetura orientada a mensagens Pub/Sub. Dado que uma vista de sistema envolve um conjunto de conceitos que podem ou não ser partilhados com outras vistas, a partir de uma configuração especifica de conceitos com as suas propriedades definidas, é possível correr o gerador de linguagem e gerar então artefactos. A partir de uma destas configurações, foram então gerados um conjunto de artefactos que foram utilizados para produzir uma prova de conceito, utilizando uma board BananaPiM1, implantada com um conjunto de sistema operativo Linux e kernel, configurados pelo utilizador utilizando a DSL. Adicionalmente, foram gerados scripts que ajudam a esta configuração, instalação do sistema operativo e pacotes de software relevantes para ajudar na execução do caso de uso.Pereira, David Miguel RamalhoRepositório Científico do Instituto Politécnico do PortoOliveira , Paulo Renato Mendes2022-11-18T01:31:17Z20212021-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/19931TID:202797074enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-03-13T13:14:49Zoai:recipp.ipp.pt:10400.22/19931Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:39:59.907961Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
Domain Specific Languages for Cyber-Physical Systems Component Integration
title Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
spellingShingle Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
Oliveira , Paulo Renato Mendes
DSL
View
Integration
title_short Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
title_full Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
title_fullStr Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
title_full_unstemmed Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
title_sort Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
author Oliveira , Paulo Renato Mendes
author_facet Oliveira , Paulo Renato Mendes
author_role author
dc.contributor.none.fl_str_mv Pereira, David Miguel Ramalho
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Oliveira , Paulo Renato Mendes
dc.subject.por.fl_str_mv DSL
View
Integration
topic DSL
View
Integration
description The present work is inserted in the area of Cyber-Physical Systems (CPS), with particular emphasis on the automotive domain. With the ever increasing globalization of this industry, and the increasing levels of production required to satisfy customer needs, a necessity arises to automatize many tasks which allow for the development of systems that can support the growth of the industry. Developing complex CPS applications for the automotive domain is a complex task, due to the criticality inherent to this domain and the need for increased functionality, safety, and security. In order to properly address such complexity of the design and development process, the development of a new Domain Specific Language (DSL) is proposed. This DSL aims to provide a mostly automatized integration process between the different entities or components of a CPS application, abstracting away technical details of these components and enabling rigorous methods of verification, customization, and deployment. To this end, the DSL provides different views of the system, where properties or constraints imposed in a view propagate to other views, increasing the set of systemwide properties that need to be ensured correct in order for the system to be considered safe. Each of these views has language concepts associated, which get translated into target language, as the objective is to build a system or parts of a system that respect the restrictions imposed by those views and concepts. The DSL was implemented using Meta Programming System (MPS) and artifacts were generated from a given specification of DSL concepts and utilized in a deployment environment utilizing a BananaPi-M1 board with a custom configured Linux distribution and kernel. Custom scripts were also deployed that help in the installation of the operating system as well as relevant packages to install on the first boot. Additionally, application layer artifacts were also deployed, using a message oriented architecture (publish/subscribe), executing on top of a Robot Operating System (ROS) instance.
publishDate 2021
dc.date.none.fl_str_mv 2021
2021-01-01T00:00:00Z
2022-11-18T01:31:17Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.22/19931
TID:202797074
url http://hdl.handle.net/10400.22/19931
identifier_str_mv TID:202797074
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799131487467995136