65 research outputs found
AADLib, A Library of Reusable AADL Models
The SAE Architecture Analysis and Design Language is now a well-established language for the description of critical embedded systems, but also cyber-physical ones. A wide range of analysis tools is already available, either as part of the OSATE tool chain, or separate ones.
A key missing elements of AADL is a set of reusable building blocks to help learning AADL concepts, but also experiment already existing tool chains on validated real-life examples.
In this paper, we present AADLib, a library of reusable model elements. AADLib is build on two pillars: 1/ a set of ready-to- use examples so that practitioners can learn more about the AADL language itself, but also experiment with existing tools. Each example comes with a full description of available analysis and expected results. This helps reducing the learning curve of the language. 2/ a set of reusable model elements that cover typical building blocks of critical systems: processors, networks, devices with a high level of fidelity so that the cost to start a new project is reduced.
AADLib is distributed under a Free/Open Source License to further disseminate the AADL language. As such, AADLib provides a convenient way to discover AADL concepts and tool chains, and learn about its features
A distributed hard real-time Java system for high mobility components
In this work we propose a methodology for providing real-time capabilities to component-based, on-the-fly reconfigurable, distributed systems. In such systems, software components migrate across computational resources at run-time to allow applications to adapt to changes in user requirements or to external events. We describe how we achieve run-time reconfiguration in distributed Java applications by appropriately migrating servers. Guaranteed-rate schedulers at the servers provide the necessary temporal protection and so simplify remote method invocation management. We describe how we manage overhead and resource utilization by controlling the parameters of the server schedulers. According to our measurements, this methodology provides real-time capability to component-based reconfigurable distributed systems in an effcient and effective way.
In addition, we propose a new resource discovery protocol, REALTOR, which is based on a combination of pull-based and push-based resource information dissemination. REALTOR has been designed for real-time component-based distributed applications in very dynamic or adverse environments. REALTOR supports survivability and information assurance by allowing the migration of components to safe locations under emergencies suchas externalattack, malfunction, or lackofresources. Simulation studies show that under normal and heavy load conditions REALTOR remains very effective in finding available resources, and does so with a reasonably low communication overhead.REALTOR 1)effectively locates resources under highly dynamic conditions, 2) has an overhead that is system-size independent, and 3) works well in highlyadverse environments.We evaluate the effectiveness of a REALTOR implementation as part of Agile Objects, an infrastructure for real-time capable, highly mobile Java components
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
On the use of code mobility mechanisms in real-time systems
Applications with soft real-time requirements can benefit from code mobility mechanisms, as long as those mechanisms
support the timing and Quality of Service requirements of applications. In this paper, a generic model for code mobility
mechanisms is presented. The proposed model gives system designers the necessary tools to perform a statistical timing
analysis on the execution of the mobility mechanisms that can be used to determine the impact of code mobility in
distributed real-time applications
Circus Models for Safety-Critical Java Programs
Safety-critical Java (SCJ) is a restriction of the real-time specification for Java to support the development and certification of safety-critical applications. The SCJ technology specification is the result of an international effort from industry and academia. In this paper, we present a formalization of the SCJ Level 1 execution model, formalize a translation strategy from SCJ into a refinement notation and describe a tool that largely automates the generation of the formal models. Our modelling language is part of the Circus family; at the core, we have Z, communicating sequential processes and Morgan’s calculus, but we also use object-oriented and timed constructs from the OhCircus and Circus Time variants. Our work is an essential ingredient for the development of refinement-based reasoning techniques for SCJ
- …