Model-based implementation of real-time applications (original) (raw)
Related papers
TDE: A Time Driven Engine for predictable execution of realtime systems
Object-Oriented Technology: ECOOP' …, 1998
One of the most important qualities of run-time supports for realtime systems is predictability. The knowledge of behavior and execution time of a system is necessary to define feasible and dependable real-time scheduling. Often real-time operating systems are based on concurrency models that are intrinsically not suitable for real-time execution since timing remains external to the execution model. This approach imposes a translation of time constraints to perform realtime executions. TDE bases the execution of tasks directly on their time constraints. This approach allows the system designer to concentrate on timing issues, and the run-time support to constantly control the system behavior according to timed plans. TDE has been integrated with a commercial real-time operating system. This paper presents the concepts behind TDE and describes the architecture of the implementation.
An Approach to Platform Independent Real-Time Programming: (1) Formal Description
Real-time Systems - RTS, 2000
A method for extending programming languages with timing constructs is proposed. It enables the specification of timing constraints in programs. The approach is not language specific and the extension can be included in many existing programming languages. With the extension it is possible to write real-time program components that can be proven correct independently of the properties of the machine that is used for their execution. It therefore provides a similar abstraction from the execution platform as is normal in non-real-time programming. The presented approach distinguishes two phases in system construction: (1) a platform-independent programming phase that includes the expression of timing requirements, and (2) an implementation phase where all platform dependencies are addressed. The latter only differs from a normal compilation in the sense that a feasible schedule must be found to execute the program.
Language and compiler supported timing analysis in real-time control
Control Engineering Practice, 1996
To ensure temporally predictable execution behaviour of an embedded hard realtime computer control system, layer-by-layer predictability of the system must be provided. Based on a simple structured programming language, a programming environment for hard real-time applications is under construction designed to function temporally predictably, and to support an experimental hardware platform as well as a corresponding operating system. A compiler with an integrated analyser for execution-time analysis of tasks is used to determine usable, realistic and not too pessimistic run-time estimates.
A Safety-Assured Development Approach for Real-Time Software
2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications, 2010
Guaranteeing timing properties is an important issue as we develop safety-critical real-time systems such as cardiac pacemakers. We present a safety assured development approach of real-time software using a pacemaker as our case study. Following the model-driven development techniques, measurement-based timing analysis is used to guarantee timing properties in implementation as well as in the formal model. Formal specification with timed automata is checked with respect to timing properties by model checking technique and is transformed into implementation systematically. When timing properties may be violated in the implementation due to timing delay, it is suggested to measure the time deviation and reflect it to the code explicitly by modifying guards. The model is altered according to the modifications in the code. These changes of the code and the model are considered safe if all the properties are still satisfied by the modified model in re-performed model hecking. We demonstrate how the suggested approach can be applied to single-threaded and multi-threaded versions of implementation. This approach can provide developers with a useful timeguaranteeing technique applicable to several code generation schemes without imposing many restrictions.
Towards validated real-time software
Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000, 2000
We present a tool for the design and validation of embedded real-time applications. The tool integrates two approaches, the use of the synchronous programming language ESTEREL for design and the application of model-checking techniques for validation of real-time properties. Validation is carried out on a global formal model (timed automata) taking into account the effective implementation of the application on the target hardware architecture as well as its external environment behavior.
Timed multitasking for real-time embedded software
IEEE Control Systems Magazine, 2003
Software in real-time embedded systems differs fundamentally from its desktop or Internet counterparts. Embedded computing is not simply computation on small devices. In most control applications, for example, embedded software engages the physical world. It reacts to physical and user-interaction events, performs computation on limited and competing resources, and produces results that further impact the environment. Of necessity, it acquires some properties of the physical world, most particularly, time.
Models for Deterministic Execution of Real-Time Multiprocessor Applications
Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015, 2015
With the proliferation of multi-cores in embedded real-time systems, many industrial applications are being (re-)targeted to multiprocessor platforms. However, exactly reproducible data values at the outputs as function of the data and timing of the inputs is less trivial to realize in multiprocessors, while it can be imperative for various practical reasons. Also for parallel platforms it is harder to evaluate the task utilization and ensure schedulability, especially for end-to-end communication timing constraints and aperiodic events. Based upon reactive system extensions of Kahn process networks, we propose a model of computation that employs synchronous events and event priority relations to ensure deterministic execution. For this model, we propose an online scheduling policy and establish a link to a well-developed scheduling theory. We also implement this model in publicly available prototype tools and evaluate them on state-of-the art multi-core hardware, with a streaming benchmark and an avionics case study.
Analysis of window-constrained execution time systems
Real-Time Systems, 2006
Feasibilitytestsforhardreal-timesystemsprovideinformationaboutthe schedulabilityofthetaskset.However,thisinformationisayesoranoanswer,that is,whetherthetasksetachievesthetestornot.Fromthereal-timesystemdesignpoint ofview,havingmoreinformationavailablewouldbeuseful.Forexample,howmuch thecomputationtimecanvarywithoutjeopardisingthesystemfeasibility.Thiswork specificallyprovidesmethodstodetermineoff-linehowmuchataskcanincrease itscomputationtime,bymaintainingthesystemfeasibilityunderadynamicpriority scheduling.Theextratimecanbedeterminednotonlyinallthetaskactivations, butinnofawindowofminvocations.Thisiswhatwecallawindow-constrained executiontimesystem.Theresultspresentedinthisworkcanbeusedinallkinds ofreal-timesystems:faulttolerancemanagement,imprecisecomputation,overrun handling,controlapplications,etc. Acknowledgments ThisworkhasbeenpartiallysupportedbyFRESCOR(FrameworkforReal-timeEmbedded SystemsbasedonCOntRACTS)projectFP6/2005/IST/5-034026),andbytheSpanish