JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES

Detalhes bibliográficos
Autor(a) principal: Anjos, José Serafim Gouveia
Data de Publicação: 2009
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/13858
Resumo: É com pouca surpresa que verificamos que o nível de complexidade dos sistemas tem vindo a aumentar expressivamente. Actualmente faz parte do quotidiano utilizar serviços, online ou não, que atingem nível de complexidades muito superiores quando comparados aos sistemas de à 20, 30 anos atrás. Sistemas/Aplicações de tempo real são quase como uma subgrupo dentro dos sistemas actuais. Sistemas de tempo real podem ser encontrados nos mais diversos locais, actualmente quase todos os sistemas embebidos conteem componentes de tempo real. Alguns exemplos de sistemas que podem utilizar tempo real são, carros, radares, braços robóticos, linhas de montagem, satélites, UAV(Unmanned Aerial Vehicle) e até aviões. Geralmente para implementar sistemas de tempo real eram utilizadas linguagens consideradas mais tradicionais, tais como C ou ADA. No entanto o nível de complexidade tem aumentado tanto que os programadores têm procurado alternativas a essas linguagens. Uma das alternativas encontradas veio de uma linguagem já existente e extremamente popular, Java. Java é uma linguagem de programação desenvolvida pela Sun Microsystems. Conta actualmente com cerca de 6,5 milhões de programadores e pode ser encontrada em virtualmente todos os segmentos de indústria. Tudo isto faz do Java uma linguagem extremamente atractiva. Devido ao seu propósito e desenho quando Java foi introduzido em 1995 parecia irrelevante no campo da computação de tempo real. Apesar de boas características introduzidas pelo Java no desenvolvimento de software simplesmente não era compatível com sistemas de tempo real. No entanto devido a popularidade que o Java ganhou ao longo dos anos, em 1998 um grupo de programados juntou-se para criar o Real-Time Specification for Java (RTSJ). O Real-Time Specification for Java é uma série de interfaces e especificações que permite que se desenvolva sistemas de tempo real na linguagem de programação Java. O objectivo é fornecer informações complementares que permitam, entre outras coisas, estender o modelo de memória Java e melhorar a semântica do escalonador de threads. O RTSJ pretende criar uma extensão da especificação da linguagem Java e da sua máquina virtual. xi As arquitecturas multi-core são uma das possíveis soluções para o processamento paralelo. Multi-core tem sido a tecnologia de ponta há já alguns anos. A grande motivação por detrás do multi-core tem sido as limitações que os processadores de um único core apresentam. Um processador multi-core é um processador que combina mais que um core independente. Cada core pode implementar optimizações tais como multithreading. Um sistema que apresente n cores vê a sua performance optimizada quando se vê perante n threads a funcionar concorrentemente. Em termos gerais cada core num processador multi-core assemelha-se a uma implementação de um processador em singlecore. A ideia de ter paralelismo a um nível físico é uma ideia extremamente atractiva. Se conseguirmos dividir uma tarefa grande em várias pequenas e executar essas pequenas tarefas em simultâneo conseguimos obter resultados extremamente satisfatórios. No entanto por muito vantajoso que seja a utilização de modelos que utilizem paralelismo, a migração dos modelos sequenciais para modelos paralelos não é de todo trivial. Nem todas as tarefas são facilmente divididas em várias pequenas tarefas, e nas tarefas paralelas existem por vezes problemas com execuções concorrentes. Para obter com sucesso uma aplicação de tempo real é necessário suporte para o sistema, para isto é necessário um RTOS (Real-Time Operating System). Um RTOS é um sistema operativo que se destina a sistemas/aplicações de tempo-real. Tal como todos os sistemas de tempo-real, um RTOS oferece uma camada entre o software e os recursos de hardware. Espera-se que uma aplicação de tempo-real a correr num RTOS tenha um comportamento que encaixe em padrões temporal pré definido. Isto significa que a quantidade de tempo que cada serviço do sistema é conhecido e restrito. Apenas o RTOS não garante que um sistema seja capaz de cumprir os prazos que a aplicação requer. É da responsabilidade de quem está a desenvolver o sistema/aplicação fazer com que esse sistema/aplicação seja capaz de cumprir os prazos pretendidos. Neste sentido o objectivo principal de um RTOS é de fornecer um ambiente de execução que consiga suportar serviços para sistemas/aplicações de tempo real. O ARINC 653 (Avionics Application Standard Software Interface) é uma especificação para o espaço e partição temporal. Define uma API de aviação que segue a xii arquitectura IMA (Integrated Modular Avionics). O sistema IMA suporta uma ou mais aplicações de aviação em apenas um módulo, um módulo é uma máquina que contem aplicações ARINC 653, e permite a execução independente dessas aplicações. Isto pode ser atingido caso o sistema forneça separação funcional, normalmente chamada de partição robusta, de aplicações de aviação. A especificação faz parte da serie ARINC 600-Series Standards for Digital Aircraft & Flight Simulator. Este documento apresenta uma visão de como é possível fazer a transição de aplicações de tempo real sequenciais que utilizem linguagens mais tradicionais para aplicações de tempo real em arquitecturas multi-core utilizando Java. Para este efeito uma aplicação já existente vai ser utilizada. A aplicação é denominada como “Airline Operational Centre” ou AOC. O “Airline Operational Centre” foi desenvolvido pela Skysoft e é utilizado como uma solução de comunicação para aviões. O seu principal objectivo passa pela distribuição de relatórios entre as estações em terra (AGP - AOC Ground Platform) e o sistema no avião. O sistema dentro do avião é constituído por dois intervenientes, o próprio avião que vai fornecendo informação relevante como temperaturas, consumo de combustível etc., e o piloto. A aplicação AOC é uma aplicação ARINC653 e como tal segue a filosofia por detrás do conceito IMA. A aplicação AOC foi totalmente implementada utilizando a linguagem de programação C, e segue modelos de processamento sequenciais. A ideia por detrás da validação da aplicação passa por fazer não só uma versão mais simplificada do AOC original, mas também uma versão em Java e outra versão que utilize processamento paralelo. Com estes novos modelos esperamos provar que é possível implementar um AOC em Java que utilize processamento paralelo e que isso trás vários benefícios. O objectivo estratégico do projecto JEOPARD é fornecer ferramentas para o desenvolvimento de sistemas previsíveis que façam uso de arquitecturas multi-core. Estas ferramentas vão melhorar a produtividade do software e a sua reciclagem através da extensão da tecnologia de processador já estabelecida em sistemas desktop para as necessidades específicas de sistemas embebidos em arquitecturas multi-core. O projecto vai activamente contribuir com as normas requeridas para o desenvolvimento de software portável neste domínio, tal como o Real-Time Specification for Java. xiii Também, o projecto JEOPARD vai desenvolver uma plataforma de desenvolvimento para aplicações de tempo real em ambientes multi-core. A interface vai ser baseada em tecnológias existentes, que incluem o the Real-Time Specification for Java (JSR 1 and JSR 282) e o Safety-Critical Java (JSR 302). Estas tecnologias actualmente fornecem uma forte base para o desenvolvimento de sistemas de tempo real que sejam complexos e altamente fiáveis, mas ainda não fornecem suporte para sistemas multi-core. Ainda mais desafiante, é o facto de que algumas destas tecnologias não referem o facto de se poder utilizar mais que um core de cada vez, o que torna impossível desenvolver aplicações à escala com o número de processadores disponíveis em sistemas multi-core actuais e futuros. Como suporte a este documento vai ser utilizada a pesquisa que o projecto JEOPARD está a fazer como também as ferramentas que o projecto está a desenvolver.
id RCAP_bbc717152de39589dd2881b4b28eb029
oai_identifier_str oai:repositorio.ul.pt:10451/13858
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 JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURESMulti-CoreTempo realProcessamento paraleloPlataforma de desenvolvimentoARINC 653JavaÉ com pouca surpresa que verificamos que o nível de complexidade dos sistemas tem vindo a aumentar expressivamente. Actualmente faz parte do quotidiano utilizar serviços, online ou não, que atingem nível de complexidades muito superiores quando comparados aos sistemas de à 20, 30 anos atrás. Sistemas/Aplicações de tempo real são quase como uma subgrupo dentro dos sistemas actuais. Sistemas de tempo real podem ser encontrados nos mais diversos locais, actualmente quase todos os sistemas embebidos conteem componentes de tempo real. Alguns exemplos de sistemas que podem utilizar tempo real são, carros, radares, braços robóticos, linhas de montagem, satélites, UAV(Unmanned Aerial Vehicle) e até aviões. Geralmente para implementar sistemas de tempo real eram utilizadas linguagens consideradas mais tradicionais, tais como C ou ADA. No entanto o nível de complexidade tem aumentado tanto que os programadores têm procurado alternativas a essas linguagens. Uma das alternativas encontradas veio de uma linguagem já existente e extremamente popular, Java. Java é uma linguagem de programação desenvolvida pela Sun Microsystems. Conta actualmente com cerca de 6,5 milhões de programadores e pode ser encontrada em virtualmente todos os segmentos de indústria. Tudo isto faz do Java uma linguagem extremamente atractiva. Devido ao seu propósito e desenho quando Java foi introduzido em 1995 parecia irrelevante no campo da computação de tempo real. Apesar de boas características introduzidas pelo Java no desenvolvimento de software simplesmente não era compatível com sistemas de tempo real. No entanto devido a popularidade que o Java ganhou ao longo dos anos, em 1998 um grupo de programados juntou-se para criar o Real-Time Specification for Java (RTSJ). O Real-Time Specification for Java é uma série de interfaces e especificações que permite que se desenvolva sistemas de tempo real na linguagem de programação Java. O objectivo é fornecer informações complementares que permitam, entre outras coisas, estender o modelo de memória Java e melhorar a semântica do escalonador de threads. O RTSJ pretende criar uma extensão da especificação da linguagem Java e da sua máquina virtual. xi As arquitecturas multi-core são uma das possíveis soluções para o processamento paralelo. Multi-core tem sido a tecnologia de ponta há já alguns anos. A grande motivação por detrás do multi-core tem sido as limitações que os processadores de um único core apresentam. Um processador multi-core é um processador que combina mais que um core independente. Cada core pode implementar optimizações tais como multithreading. Um sistema que apresente n cores vê a sua performance optimizada quando se vê perante n threads a funcionar concorrentemente. Em termos gerais cada core num processador multi-core assemelha-se a uma implementação de um processador em singlecore. A ideia de ter paralelismo a um nível físico é uma ideia extremamente atractiva. Se conseguirmos dividir uma tarefa grande em várias pequenas e executar essas pequenas tarefas em simultâneo conseguimos obter resultados extremamente satisfatórios. No entanto por muito vantajoso que seja a utilização de modelos que utilizem paralelismo, a migração dos modelos sequenciais para modelos paralelos não é de todo trivial. Nem todas as tarefas são facilmente divididas em várias pequenas tarefas, e nas tarefas paralelas existem por vezes problemas com execuções concorrentes. Para obter com sucesso uma aplicação de tempo real é necessário suporte para o sistema, para isto é necessário um RTOS (Real-Time Operating System). Um RTOS é um sistema operativo que se destina a sistemas/aplicações de tempo-real. Tal como todos os sistemas de tempo-real, um RTOS oferece uma camada entre o software e os recursos de hardware. Espera-se que uma aplicação de tempo-real a correr num RTOS tenha um comportamento que encaixe em padrões temporal pré definido. Isto significa que a quantidade de tempo que cada serviço do sistema é conhecido e restrito. Apenas o RTOS não garante que um sistema seja capaz de cumprir os prazos que a aplicação requer. É da responsabilidade de quem está a desenvolver o sistema/aplicação fazer com que esse sistema/aplicação seja capaz de cumprir os prazos pretendidos. Neste sentido o objectivo principal de um RTOS é de fornecer um ambiente de execução que consiga suportar serviços para sistemas/aplicações de tempo real. O ARINC 653 (Avionics Application Standard Software Interface) é uma especificação para o espaço e partição temporal. Define uma API de aviação que segue a xii arquitectura IMA (Integrated Modular Avionics). O sistema IMA suporta uma ou mais aplicações de aviação em apenas um módulo, um módulo é uma máquina que contem aplicações ARINC 653, e permite a execução independente dessas aplicações. Isto pode ser atingido caso o sistema forneça separação funcional, normalmente chamada de partição robusta, de aplicações de aviação. A especificação faz parte da serie ARINC 600-Series Standards for Digital Aircraft & Flight Simulator. Este documento apresenta uma visão de como é possível fazer a transição de aplicações de tempo real sequenciais que utilizem linguagens mais tradicionais para aplicações de tempo real em arquitecturas multi-core utilizando Java. Para este efeito uma aplicação já existente vai ser utilizada. A aplicação é denominada como “Airline Operational Centre” ou AOC. O “Airline Operational Centre” foi desenvolvido pela Skysoft e é utilizado como uma solução de comunicação para aviões. O seu principal objectivo passa pela distribuição de relatórios entre as estações em terra (AGP - AOC Ground Platform) e o sistema no avião. O sistema dentro do avião é constituído por dois intervenientes, o próprio avião que vai fornecendo informação relevante como temperaturas, consumo de combustível etc., e o piloto. A aplicação AOC é uma aplicação ARINC653 e como tal segue a filosofia por detrás do conceito IMA. A aplicação AOC foi totalmente implementada utilizando a linguagem de programação C, e segue modelos de processamento sequenciais. A ideia por detrás da validação da aplicação passa por fazer não só uma versão mais simplificada do AOC original, mas também uma versão em Java e outra versão que utilize processamento paralelo. Com estes novos modelos esperamos provar que é possível implementar um AOC em Java que utilize processamento paralelo e que isso trás vários benefícios. O objectivo estratégico do projecto JEOPARD é fornecer ferramentas para o desenvolvimento de sistemas previsíveis que façam uso de arquitecturas multi-core. Estas ferramentas vão melhorar a produtividade do software e a sua reciclagem através da extensão da tecnologia de processador já estabelecida em sistemas desktop para as necessidades específicas de sistemas embebidos em arquitecturas multi-core. O projecto vai activamente contribuir com as normas requeridas para o desenvolvimento de software portável neste domínio, tal como o Real-Time Specification for Java. xiii Também, o projecto JEOPARD vai desenvolver uma plataforma de desenvolvimento para aplicações de tempo real em ambientes multi-core. A interface vai ser baseada em tecnológias existentes, que incluem o the Real-Time Specification for Java (JSR 1 and JSR 282) e o Safety-Critical Java (JSR 302). Estas tecnologias actualmente fornecem uma forte base para o desenvolvimento de sistemas de tempo real que sejam complexos e altamente fiáveis, mas ainda não fornecem suporte para sistemas multi-core. Ainda mais desafiante, é o facto de que algumas destas tecnologias não referem o facto de se poder utilizar mais que um core de cada vez, o que torna impossível desenvolver aplicações à escala com o número de processadores disponíveis em sistemas multi-core actuais e futuros. Como suporte a este documento vai ser utilizada a pesquisa que o projecto JEOPARD está a fazer como também as ferramentas que o projecto está a desenvolver.Schoofs, TobiasRufino, José Manuel de Sousa de MatosRepositório da Universidade de LisboaAnjos, José Serafim Gouveia2010-02-19T11:50:19Z20092009-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/13858porinfo: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-11-08T15:59:17Zoai:repositorio.ul.pt:10451/13858Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:35:46.666609Repositó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 JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
title JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
spellingShingle JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
Anjos, José Serafim Gouveia
Multi-Core
Tempo real
Processamento paralelo
Plataforma de desenvolvimento
ARINC 653
Java
title_short JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
title_full JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
title_fullStr JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
title_full_unstemmed JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
title_sort JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
author Anjos, José Serafim Gouveia
author_facet Anjos, José Serafim Gouveia
author_role author
dc.contributor.none.fl_str_mv Schoofs, Tobias
Rufino, José Manuel de Sousa de Matos
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Anjos, José Serafim Gouveia
dc.subject.por.fl_str_mv Multi-Core
Tempo real
Processamento paralelo
Plataforma de desenvolvimento
ARINC 653
Java
topic Multi-Core
Tempo real
Processamento paralelo
Plataforma de desenvolvimento
ARINC 653
Java
description É com pouca surpresa que verificamos que o nível de complexidade dos sistemas tem vindo a aumentar expressivamente. Actualmente faz parte do quotidiano utilizar serviços, online ou não, que atingem nível de complexidades muito superiores quando comparados aos sistemas de à 20, 30 anos atrás. Sistemas/Aplicações de tempo real são quase como uma subgrupo dentro dos sistemas actuais. Sistemas de tempo real podem ser encontrados nos mais diversos locais, actualmente quase todos os sistemas embebidos conteem componentes de tempo real. Alguns exemplos de sistemas que podem utilizar tempo real são, carros, radares, braços robóticos, linhas de montagem, satélites, UAV(Unmanned Aerial Vehicle) e até aviões. Geralmente para implementar sistemas de tempo real eram utilizadas linguagens consideradas mais tradicionais, tais como C ou ADA. No entanto o nível de complexidade tem aumentado tanto que os programadores têm procurado alternativas a essas linguagens. Uma das alternativas encontradas veio de uma linguagem já existente e extremamente popular, Java. Java é uma linguagem de programação desenvolvida pela Sun Microsystems. Conta actualmente com cerca de 6,5 milhões de programadores e pode ser encontrada em virtualmente todos os segmentos de indústria. Tudo isto faz do Java uma linguagem extremamente atractiva. Devido ao seu propósito e desenho quando Java foi introduzido em 1995 parecia irrelevante no campo da computação de tempo real. Apesar de boas características introduzidas pelo Java no desenvolvimento de software simplesmente não era compatível com sistemas de tempo real. No entanto devido a popularidade que o Java ganhou ao longo dos anos, em 1998 um grupo de programados juntou-se para criar o Real-Time Specification for Java (RTSJ). O Real-Time Specification for Java é uma série de interfaces e especificações que permite que se desenvolva sistemas de tempo real na linguagem de programação Java. O objectivo é fornecer informações complementares que permitam, entre outras coisas, estender o modelo de memória Java e melhorar a semântica do escalonador de threads. O RTSJ pretende criar uma extensão da especificação da linguagem Java e da sua máquina virtual. xi As arquitecturas multi-core são uma das possíveis soluções para o processamento paralelo. Multi-core tem sido a tecnologia de ponta há já alguns anos. A grande motivação por detrás do multi-core tem sido as limitações que os processadores de um único core apresentam. Um processador multi-core é um processador que combina mais que um core independente. Cada core pode implementar optimizações tais como multithreading. Um sistema que apresente n cores vê a sua performance optimizada quando se vê perante n threads a funcionar concorrentemente. Em termos gerais cada core num processador multi-core assemelha-se a uma implementação de um processador em singlecore. A ideia de ter paralelismo a um nível físico é uma ideia extremamente atractiva. Se conseguirmos dividir uma tarefa grande em várias pequenas e executar essas pequenas tarefas em simultâneo conseguimos obter resultados extremamente satisfatórios. No entanto por muito vantajoso que seja a utilização de modelos que utilizem paralelismo, a migração dos modelos sequenciais para modelos paralelos não é de todo trivial. Nem todas as tarefas são facilmente divididas em várias pequenas tarefas, e nas tarefas paralelas existem por vezes problemas com execuções concorrentes. Para obter com sucesso uma aplicação de tempo real é necessário suporte para o sistema, para isto é necessário um RTOS (Real-Time Operating System). Um RTOS é um sistema operativo que se destina a sistemas/aplicações de tempo-real. Tal como todos os sistemas de tempo-real, um RTOS oferece uma camada entre o software e os recursos de hardware. Espera-se que uma aplicação de tempo-real a correr num RTOS tenha um comportamento que encaixe em padrões temporal pré definido. Isto significa que a quantidade de tempo que cada serviço do sistema é conhecido e restrito. Apenas o RTOS não garante que um sistema seja capaz de cumprir os prazos que a aplicação requer. É da responsabilidade de quem está a desenvolver o sistema/aplicação fazer com que esse sistema/aplicação seja capaz de cumprir os prazos pretendidos. Neste sentido o objectivo principal de um RTOS é de fornecer um ambiente de execução que consiga suportar serviços para sistemas/aplicações de tempo real. O ARINC 653 (Avionics Application Standard Software Interface) é uma especificação para o espaço e partição temporal. Define uma API de aviação que segue a xii arquitectura IMA (Integrated Modular Avionics). O sistema IMA suporta uma ou mais aplicações de aviação em apenas um módulo, um módulo é uma máquina que contem aplicações ARINC 653, e permite a execução independente dessas aplicações. Isto pode ser atingido caso o sistema forneça separação funcional, normalmente chamada de partição robusta, de aplicações de aviação. A especificação faz parte da serie ARINC 600-Series Standards for Digital Aircraft & Flight Simulator. Este documento apresenta uma visão de como é possível fazer a transição de aplicações de tempo real sequenciais que utilizem linguagens mais tradicionais para aplicações de tempo real em arquitecturas multi-core utilizando Java. Para este efeito uma aplicação já existente vai ser utilizada. A aplicação é denominada como “Airline Operational Centre” ou AOC. O “Airline Operational Centre” foi desenvolvido pela Skysoft e é utilizado como uma solução de comunicação para aviões. O seu principal objectivo passa pela distribuição de relatórios entre as estações em terra (AGP - AOC Ground Platform) e o sistema no avião. O sistema dentro do avião é constituído por dois intervenientes, o próprio avião que vai fornecendo informação relevante como temperaturas, consumo de combustível etc., e o piloto. A aplicação AOC é uma aplicação ARINC653 e como tal segue a filosofia por detrás do conceito IMA. A aplicação AOC foi totalmente implementada utilizando a linguagem de programação C, e segue modelos de processamento sequenciais. A ideia por detrás da validação da aplicação passa por fazer não só uma versão mais simplificada do AOC original, mas também uma versão em Java e outra versão que utilize processamento paralelo. Com estes novos modelos esperamos provar que é possível implementar um AOC em Java que utilize processamento paralelo e que isso trás vários benefícios. O objectivo estratégico do projecto JEOPARD é fornecer ferramentas para o desenvolvimento de sistemas previsíveis que façam uso de arquitecturas multi-core. Estas ferramentas vão melhorar a produtividade do software e a sua reciclagem através da extensão da tecnologia de processador já estabelecida em sistemas desktop para as necessidades específicas de sistemas embebidos em arquitecturas multi-core. O projecto vai activamente contribuir com as normas requeridas para o desenvolvimento de software portável neste domínio, tal como o Real-Time Specification for Java. xiii Também, o projecto JEOPARD vai desenvolver uma plataforma de desenvolvimento para aplicações de tempo real em ambientes multi-core. A interface vai ser baseada em tecnológias existentes, que incluem o the Real-Time Specification for Java (JSR 1 and JSR 282) e o Safety-Critical Java (JSR 302). Estas tecnologias actualmente fornecem uma forte base para o desenvolvimento de sistemas de tempo real que sejam complexos e altamente fiáveis, mas ainda não fornecem suporte para sistemas multi-core. Ainda mais desafiante, é o facto de que algumas destas tecnologias não referem o facto de se poder utilizar mais que um core de cada vez, o que torna impossível desenvolver aplicações à escala com o número de processadores disponíveis em sistemas multi-core actuais e futuros. Como suporte a este documento vai ser utilizada a pesquisa que o projecto JEOPARD está a fazer como também as ferramentas que o projecto está a desenvolver.
publishDate 2009
dc.date.none.fl_str_mv 2009
2009-01-01T00:00:00Z
2010-02-19T11:50:19Z
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/10451/13858
url http://hdl.handle.net/10451/13858
dc.language.iso.fl_str_mv por
language por
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_ 1799134257111629824