1,721,064 research outputs found

    C++ hard-real-time active library: Syntax, semantics, and compilation of tice programs

    No full text
    General-purpose programming languages C and C++ address only the functional aspect of programs. In contrast, real-time programming languages address not only the functional aspect but also the nonfunctional real-time aspect to automatically ensure the consistency of both aspects in the resulting code. Despite many real-time programming languages proposed in the literature, embedded and real-time programs for economical reasons have continued to be written in C/C++ with their real-time aspect being dealt separately using modeling tools (e.g., MATLAB/Simulink) and the consistency of both aspects being checked manually. As embedded and real-time systems permeate through people’s lives, it becomes increasingly imperative that both aspects be kept consistent automatically to improve the reliability of the systems. To that end, we propose a real-time programming language called Tice with three novel features: (1) Tice programs are written as modern standard C++ programs. (2) Tice programs can be compiled using any modern off-the-shelf standard C++ compiler. (3) Tice programs compose with other C/C++ programs as C++ libraries. These novel features make Tice significantly more economical than other real-time programming languages proposed in the literature

    Quality of service control in soft real-time applications

    No full text
    In this paper we present results obtained in the context of Quality of Service (QoS) control for soft real-time applications. The discussion addresses the issue of dynamically adjusting the bandwidth for a set of periodic tasks, when a reservation-based (RB) CPU scheduling policy is used. RB techniques are particularly suitable for this kind of applications since they allow an accurate mathematical modelling of the dynamic evolution of the QoS experienced by tasks. Based on this model, a control policy guaranteeing specified QoS levels for different tasks is illustrated, along with necessary and sufficient conditions for its existence. Moreover, the problem of steering a task QoS back into its nominal level is tackled, in response to deviations due to temporary overload conditions. Simulation results are reported, for the purpose of validating the approach
    corecore