Return to search

TRADUÇÃO DA ESPECIFICAÇÃO SCJ PARA LINGUAGEM DE PROGRAMAÇÃO C++ / TRANSLATION SCJ SPECIFICATION IN C ++ PROGRAMMING LANGUAGE

Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Safety critical systems are systems where its failures can cause irreparable damage for
this reason the development of safety critical systems involves safety issues and require rigorous
validation in the certification process. Certification processes are expensive and lengthy to
follow laws and rigorous rules. With the continuous evolution provided by general purpose programming
languages, ease of learning, and the use of these languages in industry and academy,
researches have been performed aiming to adapt general purpose programming languages for
use in safety-critical applications. The purpose of these adaptations is to reduce the scope of
commands found in general purpose languages in order to develop safety critical systems, for
example, to avoid or reduce the use of recursions. Some examples of these adaptations include
the Real Time Specification for Java (RTSJ), developed in 1998 and Safety Critical Java.
SCJ uses objects and concepts defined by the RTSJ focusing on the development of safetycritical
applications. In SCJ, the concept of missions is deployed where each mission consists of
schedulable objects defined by the RTSJ. The portability of a Java application is one of the main
factors for choosing this language. However, there is great difficulty in finding virtual machines
for embedded safety-critical systems, therefore it is difficult to benefit from the portability provided
by the Java virtual machine in this context. Nevertheless, an application developed in
the C++ programming language can be executed directly on the device without using a virtual
machine. This work presents a translation of the Safety Critical Java to the C++ programming
language, maintaining the behaviour of objects that implement the concept of missions for SCJ
in C++. This enables the execution of safety-critical applications in embedded devices without
the use of a virtual machine. / Sistemas críticos são sistemas em que suas falhas podem causar danos irreparáveis
como colocar a vida de pessoas em risco e por este motivo envolve questões de segurança e
exige uma validação rigorosa no processo de certificação. Processos de certificação são caros
e demorados que seguem leis e regras rigorosas. Com a evolução contínua proporcionada
por linguagens de programação de propósito geral, a facilidade de aprendizado, assim como
a utilização destas linguagens na indústria e acadêmia, pesquisas vem sendo realizadas com o
intuito de adaptar linguagens de programação de propósito gerais para serem utilizadas em aplicações
críticas de tempo real. O objetivo destas adaptações é de tornar o escopo de comandos
das linguagens para desenvolvimento de sistemas críticos mais restritos, como por exemplo,
ao evitar ou reduzir a utilização de recursões. Alguns exemplos dessas adaptações são a Especificação
de Tempo Real Java (Real Time Specification for Java - RTSJ) desenvolvida no ano
de 1998, e a Safety Critical Java (SCJ) que utiliza objetos e conceitos definidos pela RTSJ
com enfoque no desenvolvimento de aplicações para sistemas críticos. Na SCJ foi implementado
o conceito de missões onde cada missão é composto por objetos escalonáveis definidos
pela RTSJ. A portabilidade de uma aplicação desenvolvida em Java é um dos principais fatores
dos quais desenvolvedores desejam utilizá-la. Todavia, existe uma grande dificuldade de
encontrar máquinas virtuais para sistemas críticos embarcados, dificultando a portabilidade da
qual a linguagem Java fornece. Por outro lado, uma aplicação desenvolvida na linguagem de
programação C++ pode ser executada diretamente no dispositivo sem a necessidade de utilizar
uma máquina virtual. Por este motivo, nesta dissertação é apresentada uma tradução da especificação
Safety Critical Java na linguagem de programação C++, com o objetivo de manter o
comportamentos de uma aplicação desenvolvida em SCJ e assim possibilitando a execução de
uma aplicação com requisitos temporais em diversos dispositivos embarcados.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufsm.br:1/5452
Date28 April 2015
CreatorsSilva, Ricardo Frohlich da
ContributorsSantos, Osmar Marchi dos, Ceolin, Simone Regina, Perozzo, Reiner Franthesco
PublisherUniversidade Federal de Santa Maria, Programa de Pós-Graduação em Informática, UFSM, BR, Ciência da Computação
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Repositório Institucional da UFSM, instname:Universidade Federal de Santa Maria, instacron:UFSM
Rightsinfo:eu-repo/semantics/openAccess
Relation100300000007, 400, 300, 300, 300, 300, 395bedff-2411-4a8b-ac21-5815d13d092b, 933426a9-9d2e-4b1d-b17b-e0182d84681c, 6e3760f1-a58d-4b0c-b784-827045f2ddaa, 0efe7742-4400-4142-8592-a20ab5f64c03

Page generated in 0.0025 seconds