JAVA DEVELOPMENT PLATFORM FOR REAL-TIME APPLICATIONS IN MULTI-CORE ARCHITECTURES
Autor(a) principal: | |
---|---|
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 |