• Nenhum resultado encontrado

Implementação da Especificação de Tempo Real Java para o EPOS

N/A
N/A
Protected

Academic year: 2021

Share "Implementação da Especificação de Tempo Real Java para o EPOS"

Copied!
11
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Curso de Ciências da Computação

Implementação da Especificação de Tempo Real Java

para o EPOS

ANDERSON LUIS ZAPELLO

(2)

ANDERSON LUIS ZAPELLO

Implementação da Especificação de Tempo Real Java

para o EPOS

Relatório informacional de Trabalho de Conclusão de Curso

Universidade Federal de Santa Catarina

Centro Tecnológico

Departamento de Informática e Estatística

Curso de Ciências da Computação

Orientador: Prof. Dr. Antônio Augusto Fröhlich

Professor responsável: Prof. Dr. Antônio Augusto Fröhlich

(3)

ANDERSON LUIS ZAPELLO

Implementação da Especificação de Tempo Real Java

para o EPOS

Relatório a ser entregue em 05/07/2005.

Professor responsável e orientador:

_____________________________________________________________

Prof. Dr. Antônio Augusto Fröhlich

(4)

1 Objetivo

1.1

Tema

Atualmente, estima-se que apenas 2% dos processadores produzidos sejam empregados em computadores propriamente ditos (Personal Computers (PCs), estações de trabalho e servidores). Assim, os 98% restantes equipariam sistemas computacionais dedicados, de forma que, por estarem embutidos em outros equipamentos, muitos desses processadores podem não ser percebidos. Conforme Tennehouse (2000), a maioria destes 98% baseia-se em arquiteturas de 8 ou 16 bits.1 Apesar de pouca visibilidade, esse mercado vem, gradualmente, ganhando maior dimensão: processadores que há alguns anos eram utilizados somente para fins industriais, militares, aeronáuticos e automobilísticos, passaram a estar muito próximos de aparelhos presentes no cotidiano das pessoas geladeiras, microondas e DVDs, por exemplo. Tendo em vista essa expansão, torna-se cada vez mais necessário o desenvolvimento de pesquisas que contemplem a área de sistemas computacionais embarcados, incluindo os desafios inerentes à criação de novas aplicações para hardware, que apresentam restrições tais como o clock do processador, a quantidade de memória e o gerenciamento de energia, entre outras.

Entre as indicações de plataformas para sistemas embutidos, a Java por muito tempo foi apontada como alternativa definitiva. Porém, a complexidade tanto de sua linguagem quanto de seu sistema de suporte de tempo de execução (JRE) dificulta a definição da Java

1

(5)

como melhor tecnologia para implementação de tais sistemas. 2 Isso porque o compilador Java gera um código objeto, denominado bytecode, que necessariamente deve ser executado em uma máquina virtual Java (JVM), a qual fornece uma interface entre o hardware e o software. Com isso a SUN empresa que desenvolveu a tecnologia - garante que um código escrito em Java possa ser executado em qualquer plataforma sem sofrer alterações.

Dessa forma, apesar de serem notáveis as facilidades e benefícios que a plataforma JAVA traria para os sistemas embutidos, o fato de estar presa à máquina virtual JVM, máquina virtual que tem como característica um grande overhead de execução que diminui o desempenho do aplicativo -, faz com que essa tecnologia não seja muito utilizada em sistemas embarcados. Além disso, outro problema acarretado pelo uso de Java consiste na falta de previsibilidade, de modo que essa plataforma não poderia ser utilizada em aplicações de tempo-real que exigem determinismo. Na tentativa de resolver esse problema, o Java Experts Group (JEG) propôs uma extensão da linguagem, que suportaria requisitos temporais: a Real Time Specification for Java (RTSJ).

Conforme o exposto, consiste em um desafio a tentativa de tornar Java uma plataforma aplicável a qualquer sistema embarcado, independente de suas características e quantidade de recursos. Nesse contexto, este trabalho tem por objetivo a implementação de especificação de tempo real Java para Embedded Parallel Operating Systems (EPOS), ou seja, encontrar famílias de abstrações do EPOS que suportem os requisitos temporais de

2

FRÖHLICH. Antônio Augusto. Proposta de ênfase em Sistemas Embutidos para o Curso de Ciências de Computação da Universidade Federal de Santa Catarina. Disponível em

(6)

aplicações RT-Java. Porém, caso não seja encontrada nenhuma família que obedeça a esse critério, tentar-se-á implementá-la, na medida do possível.

Além de ampla revisão bibliográfica, o que inclui pesquisas anteriormente produzidas na área, este trabalho terá como base conceitos básicos referentes ao Real Time Specification for Java (RTSJ); ao Embedded Parallel Operating Systems (O EPOS) e a Sistemas de Tempo Real, conforme especificado, de forma bastante breve, a seguir.

Real Time Specification for Java (RTSJ)

Na especificação JAVA tradicional, o escalonamento e a sincronização não são suficientemente precisos para programação em tempo real. Isso faz com que, em JAVA, o

gerenciamento automático de memória geralmente cause atrasos não determinísticos nas

tarefas. A RTSJ consiste em uma Application Programming Interface (API) para a linguagem JAVA que suporta requisitos temporais cuja exigência se dá em tempo-real, além de manter compatibilidade entre aplicações RT-Java e Java tradicionais. As aplicações RT-Java necessitam de máquinas virtuais que suportem tempo real, pois as JVMs tradicionais não são previsíveis e foram criadas para uso geral, de modo que não apresentam suporte aos requisitos temporais necessários às aplicações RT-Java. Entre os exemplos de JVMs tempo-real estão JamaicaVM e jRATE.

EPOS

O EPOS (Embedded Parallel Operating Systems) é um sistemas operacional baseado nos conceitos de Sistemas Operacionais Orientados à Aplicação , usado para gerar

(7)

sistemas de aplicações específica . 3 Dessa forma, o EPOS compõe-se de famílias resultantes de decomposições do domínio do problema. Essas famílias são divididas em dois grupos: abstrações e mediadores.

As abstrações são componentes independentes de arquitetura que implementam o sistema operacional. Os mediadores, por sua vez, são abstrações dependentes de alguma arquitetura, que implementam as funcionalidades conforme as necessidades das abstrações, oferecendo uma interface imutável para as aplicações. Assim, os mediadores são conceitos- chave para a portabilidade do EPOS. Além disso, cabe ressaltar que o EPOS possui um conjunto de Aspects , Configurable Feature and Utilities, o que acaba por fornecer aos programadores um ambiente de desenvolvimento mais configurável e fácil de usar.

Sistemas de Tempo Real

De acordo com Wehrmeister, Sistemas de Tempo-Real correspondem a uma classe de sistemas computacionais nos quais o correto processamento dos algoritmos implementados não é suficiente para garantir o correto funcionamento do sistema, ou seja, o resultado do processamento dos algoritmos do sistema devem estar prontos nos tempos definidos pelos requisitos temporais do sistema tempo-real .3 Assim, em sistemas de tempo real, um dos aspectos mais importantes a serem observados diz respeito a sua previsibilidade.

3

WEHRMEISTER, Marco Aurélio Framework Orientado a Objetos para Projeto de Hardware e Software Embarcados para Sistemas Tempo-Real. Porto Alegre: PPGC da Universidade Federal do Rio Grande do Sul, 2005, p. 17.

(8)

Um sistema de tempo real é dito ser previsível ("predictable") no domínio lógico e no domínio temporal quando, independentemente de variações ocorrendo à nível de hardware (i.e. desvios do relógio), da carga e de falhas, o comportamento do sistema pode ser antecipado, antes de sua execução .4

2 Objetivo geral

Conforme o exposto, o trabalho terá como objetivo principal a tentativa de concretizar a proposta de tornar a plataforma Java utilizável em qualquer máquina. Para tanto, a primeira etapa do trabalho será dedicada à implementação da Real Time

Specification for Java (RTSJ) para o Embedded Parallel Operating Systems (EPOS). Em

uma segunda etapa, pretende-se verificar se a RTSJ manteve as características fundamentais da aplicação.

3 Objetivos específicos

Entre os objetivos específicos do trabalho, está o estudo mais aprofundado da RTSJ, visando identificar quais requisitos temporais mostram-se necessários para as aplicações RT-Java . Além disso, pretende-se estudar a linguagem C++, afim de melhor compreender

4

FARINES, Jean-Marie; FRAGA, Joni da Silva; OLIVEIRA, Rômulo Silva. 12ª Escola de Computação, IME-USP, São Paulo-SP, 24 a 28 de julho de 2000, pg 5.

(9)

o funcionamento do EPOS, e utilizar tal conhecimento na implementação, caso seja necessário.

Outro objeto de estudo para a realização do trabalho será o EPOS, pois propõe-encontrar famílias de abstrações necessárias para a RTSJ e também implementar, se preciso for, famílias que o EPS atualmente não suportaria por tratarem-se de especificações de tempo real Java. Por fim, o objetivo será testar o trabalho, por meio das aplicações RT-Java implementadas para o EPOS , além de comparar seu desempenho com aplicações já existentes, as quais rodem em máquinas virtuais que suportam RTSJ.

4 Motivações

A realização deste trabalho tem por motivação principal a possibilidade de estudar, de forma aprofundada, sistemas de tempo real e sistemas operacionais dedicados nesse caso, o EPOS. Conforme citado anteriormente, processadores dedicados correspondem a 98% do montante produzido atualmente, o que comprova a extrema necessidade de tornar a aplicação desses processadores um grande campo de pesquisa.

Outra aspecto que motivou a escolha do tema deste trabalho está no fato de a empresa SUN ainda não ter atingido em totalidade o seu objetivo de tornar Java realmente independente de plataforma

(10)

seja provável que a linguagem Java não se mostre a alternativa mais adequada nesse caso, por seu desempenho e outros problemas sobre os quais não cabe discorrer no momento, parece ser um grande desafio a um egresso do Curso de Ciências da Computação tentar tornar possível qualquer aplicação RT-Java.

(11)

REFERÊNCIAS BIBLIOGRÁFICAS

FRÖHLICH, Antônio A. Application-Oriented Operating Systems. Number17. in GMD Research Series. GMD - Forschungszentrum Informationstechnik GmbH, 2001.

FRÖHLICH, Antônio A. Proposta de ênfase em Sistemas Embutidos para o Curso de Ciências de Computação da Universidade Federal de Santa Catarina. Disponível em

http://www.lisha.ufsc.br/~guto/teaching/se/. Acesso em 20 de junho de 2005.

WEHRMESITER, Marco Aurélio Framework Orientado a Objetos para Projeto de Hardware e Software Embarcados para Sistemas Tempo-Real. Porto Alegre: PPGC da Universidade Federal do Rio Grande do Sul, 2005.

FARINES, Jean-Marie; FRAGA, Joni da Silva; OLIVEIRA, Rômulo Silva. 12ª Escola de Computação, IME-USP, São Paulo-SP, 24 a 28 de julho de 2000.

Referências

Documentos relacionados

Mathes and Nahai 20 con- ducted a detailed study of the vascular anatomy of the muscles, where the blood configuration model of the muscle determines how safe it is to

When the control group (blood clot) was compared with the experimental groups, it always showed better bone neoforma- tion.. We attribute this to the slower evolution of bone repair

Projeto JSF (Java JavaServer Faces – especificação para o desenvolvimento na plataforma WEB utilizando a linguagem Java e componentes voltados para este ambiente), JPA (Java

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

A utilizac¸˜ao de MPI em Java pode ser feita atrav´es de diferentes formas, tanto atrav´es do acesso `a vers˜oes j´a existentes, compiladas para uma determinada arquitetura,

Mesmo com o tratamento dessa interrupção de agendamento sendo mais com- plexo, devido a necessidade de re-programação do temporizador para a próxima tarefa da fila, na maioria

Adaptador de flange, adaptação de flange de fixação com centragem de 36 mm para placa de montagem quadrada de 63 mm, alumínio, incluindo 3 parafusos de cabeça chata M4

CDEG - CLUBE DESPORTIVO ESCOLAR DOS GINETES EPC - ESCOLA PROFISSIONAL DAS CAPELAS. JU FORNOS - JUVENTUDE UNIÃO DOS FORNOS