3,227 research outputs found
A Methodology for Transforming Java Applications Towards Real-Time Performance
The development of real-time systems has traditionally been based on low-level programming languages, such as C and C++, as these provide a fine-grained control of the applications temporal behavior. However, the usage of such programming languages suffers from increased complexity and high error rates compared to high-level languages such as Java. The Java programming language provides many benefits to software development such as automatic memory management and platform independence. However, Java is unable to provide any real-time guarantees, as the high-level benefits come at the cost of unpredictable temporal behavior.This thesis investigates the temporal characteristics of the Java language and analyses several possibilities for introducing real-time guarantees, including official language extensions and commercial runtime environments. Based on this analysis a new methodology is proposed for Transforming Java Applications towards Real-time Performance (TJARP). This method motivates a clear definition of timing requirements, followed by an analysis of the system through use of the formal modeling languageVDM-RT. Finally, the method provides a set of structured guidelines to facilitate the choice of strategy for obtaining real-time performance using Java. To further support this choice, an analysis is presented of available solutions, supported by a simple case study and a series of benchmarks.Furthermore, this thesis applies the TJARP method to a complex industrialcase study provided by a leading supplier of mission critical systems. Thecase study proves how the TJARP method is able to analyze an existing and complex system, and successfully introduce hard real-time guaranteesin critical sub-components
Evaluating Android OS for embedded real-time systems
Since its official public release, Android has captured
the interest from companies, developers and the general
audience. From that time up to now, this software platform
has been constantly improved either in terms of features or
supported hardware and, at the same time, extended to new
types of devices different from the originally intended mobile
ones. However, there is a feature that has not been explored
yet - its real-time capabilities.
This paper intends to explore this gap and provide a basis
for discussion on the suitability of Android in order to be used
in Open Real-Time environments. By analysing the software
platform, with the main focus on the virtual machine and its
underlying operating system environments, we are able to point
out its current limitations and, therefore, provide a hint on
different perspectives of directions in order to make Android
suitable for these environments.
It is our position that Android may provide a suitable
architecture for real-time embedded systems, but the real-time
community should address its limitations in a joint effort at
all of the platform layers
Challenges in real-time virtualization and predictable cloud computing
Cloud computing and virtualization technology have revolutionized general-purpose computing applications in the past decade. The cloud paradigm offers advantages through reduction of operation costs, server consolidation, flexible system configuration and elastic resource provisioning. However, despite the success of cloud computing for general-purpose computing, existing cloud computing and virtualization technology face tremendous challenges in supporting emerging soft real-time applications such as online video streaming, cloud-based gaming, and telecommunication management. These applications demand real-time performance in open, shared and virtualized computing environments. This paper identifies the technical challenges in supporting real-time applications in the cloud, surveys recent advancement in real-time virtualization and cloud computing technology, and offers research directions to enable cloud-based real-time applications in the future
Patterns for Providing Real-Time Guarantees in DOC Middleware - Doctoral Dissertation, May 2002
The advent of open and widely adopted standards such as Common Object Request Broker Architecture (CORBA) [47] has simplified and standardized the development of distributed applications. For applications with real-time constraints, including avionics, manufacturing, and defense systems, these standards are evolving to include Quality-of-Service (QoS) specifications. Operating systems such as Real-time Linux [60] have responded with interfaces and algorithms to guarantee real-time response; similarly, languages such as Real-time Java [59] include mechanisms for specifying real-time properties for threads. However, the middleware upon which large distributed applications are based has not yet addressed end-to-end guarantees of QoS specifications. Unless this challenge can be met, developers must resort to ad hoc solutions that may not scale or migrate well among different platforms. This thesis provides two contributions to the study of real-time Distributed Object Computing (DOC) middleware. First, it identifies potential bottlenecks and problems with respect to guaranteeing real-time performance in contemporary middleware. Experimental results illustrate how these problems lead to incorrect real-time behavior in contemporary middleware platforms. Second, this thesis presents designs and techniques for providing real-time QoS guarantees in DOC middleware in the context of TAO [6], an open-source and widely adopted implementation of real-time CORBA. Architectural solutions presented here are coupled with empirical evaluations of end-to-end real-time behavior. Analysis of the problems, forces, solutions, and consequences are presented in terms of patterns and frame-works, so that solutions obtained for TAO can be appropriately applied to other real-time systems
On Software Quality-motivated Design of a Real-time Framework for Complex Robot Control Systems
Frameworks have fundamental impact on software quality of robot control systems. We propose systematic framework design aiming at high levels of support for all quality attributes that are relevant in the robotics domain. Design decisions are taken accordingly. We argue that certain areas of design are especially critical, as changing decisions there would likely require rewriting significant parts of the implementation. For these areas, quality-motivated solutions and benefits for actual applications are discussed. We illustrate and evaluate their implementations in our framework Finroc - after briefly introducing it. This includes a highly modular framework core and a well-performing, lock-free, zero-copying communication mechanism. Finroc is being used in complex and also in commercial robotic projects - which evinces that the approaches are suitable for real-world applications
Cooperative framework for open real-time systems
Actualmente, os sistemas embebidos estão presentes em toda a parte. Embora grande parte da população
que os utiliza não tenha a noção da sua presença, na realidade, se repentinamente estes sistemas deixassem
de existir, a sociedade iria sentir a sua falta. A sua utilização massiva deve-se ao facto de estarem
practicamente incorporados em quase os todos dispositivos electrónicos de consumo, telecomunicações,
automação industrial e automóvel.
Influenciada por este crescimento, a comunidade científica foi confrontada com novos problemas
distribuídos por vários domínios científicos, dos quais são destacados a gestão da qualidade de serviço e
gestão de recursos - domínio encarregue de resolver problemas relacionados com a alocação óptima de
recursos físicos, tais como rede, memória e CPU.
Existe na literatura um vasto conjunto de modelos que propõem soluções para vários problemas
apresentados no contexto destes domínios científicos. No entanto, não é possível encontrar modelos
que lidem com a gestão de recursos em ambientes de execução cooperativos e abertos com restrições
temporais utilizando coligações entre diferentes nós, de forma a satisfazer os requisitos não funcionais
das aplicações.
Devido ao facto de estes sistemas serem dinâmicos por natureza, apresentam a característica de não
ser possível conhecer, a priori, a quantidade de recursos necessários que uma aplicação irá requerer do
sistema no qual irá ser executada. Este conhecimento só é adquirido aquando da execução da aplicação.
De modo a garantir uma gestão eficiente dos recursos disponíveis, em sistemas que apresentam um
grande dinamismo na execução de tarefas com e sem restrições temporais, é necessário garantir dois
aspectos fundamentais. O primeiro está relacionado com a obtenção de garantias na execução de tarefas
de tempo-real. Estas devem sempre ser executadas dentro da janela temporal requirida. O segundo
aspecto refere a necessidade de garantir que todos os recursos necessários à execução das tarefas são
fornecidos, com o objectivo de manter os níveis de performance quer das aplicações, quer do próprio
sistema.
Tendo em conta os dois aspectos acima mencionados, o projecto CooperatES foi especificado com
o objectivo de permitir a dispositivos com poucos recursos uma execução colectiva de serviços com os
seus vizinhos, de modo a cumprir com as complexas restrições de qualidade de serviço impostas pelos
utilizadores ou pelas aplicações.
Decorrendo no contexto do projecto CooperatES, o trabalho resultante desta tese tem como principal
objectivo avaliar a practicabilidade dos conceitos principais propostos no âmbito do projecto. O trabalho
em causa implicou a escolha e análise de uma plataforma, a análise de requisitos, a implementação e
avaliação de uma framework que permite a execução cooperativa de aplicações e serviços que apresentem requisitos de qualidade de serviço.
Do trabalho desenvolvido resultaram as seguintes contribuições:
Análise das plataformas de código aberto que possam ser utilizadas na implementação dos conceitos
relacionados com o projecto CooperatES;
Critérios que influenciaram a escolha da plataforma Android e um estudo focado na análise da
plataforma sob uma perspectiva de sistemas de tempo-real;
Experiências na implementação dos conceitos do projecto na plataforma Android;
Avaliação da practicabilidade dos conceitos propostos no projecto CooperatES;
Proposta de extensões que permitam incorporar características de sistemas de tempo real abertos
na plataforma Android.Embedded devices are reaching a point where society does not notice its presence; however, if suddenly
taken away, everyone would notice their absence. The new, small, embedded devices used in consumer
electronics, telecommunication, industrial automation, or automotive systems are the reason for their
massive spread.
Influenced by this growth and pervasiveness, the scientific community is faced with new challenges
in several domains. Of these, important ones are the management of the quality of the provided services
and the management of the underlying resources - both interconnected to solve the problem of optimal
allocation of physical resources (namely CPU, memory and network as examples), whilst providing the
best possible quality to users.
Although several models have been presented in literature, a recent proposal handles resource management
by using coalitions of nodes in open real-time cooperative environments, as a solution to guarantee
that the application’s non-functional requirements are met, and to provide the best possible quality
of service to users. This proposal, the CooperatES framework, provides better models and mechanisms to
handle resource management in open real-time systems, allowing resource constrained devices to collectively
execute services with their neighbours, in order to fulfil the complex Quality of Service constraints
imposed by users and applications.
Within the context of the CooperatES framework, the work presented in this thesis evaluates the feasibility
of the implementation of the framework’s Quality of Service concept within current embedded
Java platforms, and proposes a solution and architecture for a specific platform: the Android operating
system. To this purpose, the work provides an evaluation of the suitability of Java solutions for real-time
and embedded systems, an evaluation of the Android platform for open real-time systems, as well as discusses
the required extensions to Android allowing it to be used within real-time system. Furthermore,
this thesis presents a prototype implementation of the CooperatES framework within the Android platform,
which allows determining the suitability of the proposed platform extensions for open real-time
systems applications
- …