Linguagem Específica de Domínio para a Integração de Sistemas Ciber Físicos
Autor(a) principal: | |
---|---|
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 |