6 research outputs found
Assessment of High-Integrity Embedded Automotive Control Systems using Hardware in the Loop Simulation.
Sensor-based driver assistance systems often have a safety-related role in modern automotive designs. In this paper we argue that the current generation of âHardware in the Loopâ (HIL) simulators have limitations which restrict the extent to which testing of such systems can be carried out, with the consequence that it is more difficult to make informed decisions regarding the impact of new technologies and control methods on vehicle safety and performance prior to system deployment. In order to begin to address this problem, this paper presents a novel, low-cost and flexible HIL simulator. An overview of the simulator is provided, followed by detailed descriptions of the models that are employed. The effectiveness of the simulator is then illustrated using a case study, in which we examine the performance and safety integrity of eight different designs of a representative distributed embedded control system (a throttle- and brake-by-wire system with adaptive cruise control capability). It is concluded that the proposed HIL simulator provides a highly effective and low-cost test environment for assessing and comparing new automotive control system implementations
Automatically Configuring Time-Triggered Schedulers for Use with Resource-Constrained, Single-Processor Embedded Systems.
This paper describes a novel two-stage search technique which is intended to support the configuration of time-triggered schedulers for use with resource-constrained embedded systems which employ a single processor. Our overall goal is to identify a scheduler implementation which will ensure that: (i) all task constraints are met; (ii) CPU power consumption is âas low as possibleâ; (iii) a fully co-operative scheduler architecture is employed whenever possible. Our search process is not exhaustive, and might be described as âbest characteristics firstâ approach. We proceed iteratively, stopping the search when we have identified the first workable solution. We assume that - because we have begun the search with âbest characteristicsâ - any schedule identified will represent a good (but not necessarily completely optimal) solution. We show that the proposed configuration algorithm is highly effective. We also demonstrate that the algorithm has much lower complexity than alternative âbranch and boundâ search schemes. We conclude by making some suggestions for future work in this area
Towards a generic "single-path programming" solution with reduced power consumption.
As embedded designs become more widespread and complex they tend to use more modern processors. Such processors will often include features (such as pipelines, caches, and branch predictors) which help to improve performance. While such performance improvements are welcome, they come at the price of predictability. More specifically, the use of advanced processor hardware makes it difficult to predict the worst-case execution time (WCET) of tasks. As part of an
effort to address these problems, Puschner and Burns (Proc. 7th IEEE International Workshop on Object-Oriented Real-
Time Dependable Systems, Jan. 2002) proposed the âsingle path programming paradigmâ. As its name implies program code written according to this paradigm has only one
execution path: this helps to ensure a constant execution time. Yet there are two problems with the techniques described by
Puschner and Burns: (i) they are applicable only to hardware which supports âconditional moveâ or similar instructions;(ii) their balancing approach increases power consumption. In the present paper, we begin to address both of these problems with a set of novel code-balancing techniques. The
effectiveness of these new techniques is explored by means of an empirical study
Automating the processes of selecting an appropriate scheduling algorithm and configuring the scheduler implementation for time-triggered embedded systems
Predictable system behaviour is a necessary (but not sufficient) condition when creating safety-critical and safety-related embedded systems. At the heart of such systems there is usually a form of scheduler: the use of time-triggered schedulers is of particular concern in this paper. It has been demonstrated in previous studies that the problem of determining the task parameters for such a scheduler is NP-hard. We have previously described an algorithm (âTTSA1â) which is intended to address this problem. This paper describes an extended version of this algorithm (âTTSA2â) which employs task segmentation to increase schedulability. We show that the TTSA2 algorithm is highly efficient when compared with alternative âbranch and boundâ search schemes
Supporting the migration between âevent triggeredâ and âtime triggeredâ software architectures: A small pattern collection intended for use by the developers of reliable embedded systems
Many complex embedded systems (in areas such as aerospace and defence, for example) have a long service life, typically measured in decades. During this life, planned product maintenance and upgrades will inevitably require software changes. Changes to available hardware platforms are also very common over the lifetime of such systems: this too will force some degree of software change. In addition, software for future versions of systems and new products will very rarely be created from scratch: instead, existing software will be adapted to match new requirements (such as a higher âSafety Integrity Levelâ).
In this report, we introduce a small collection of patterns which is intended to support the migration of existing software designs to a âtime triggeredâ architecture, in order to make the system behaviour more predictable and therefore support test and verification activities. The overall goal is to support improvements in system reliability (and â where appropriate â reduce certification effort). In the next section, we explain (briefly) the meaning of the phrase âdesign patternâ.
We then summarise the features of the two software architectures (âevent triggeredâ and âtime triggeredâ) which lie at the heart of this pattern collection
Improving the performance of time-triggered embedded systems by means of a scheduler agent.
Knowledge of task execution time is a key requirement when determining the most appropriate scheduler algorithm (and
scheduler parameters) for use with embedded systems. Unfortunately, determining task execution times (ETs) can be a challenging process. This paper introduces a novel system
architecture which is based on two components (i) the main processor (MP) platform, containing the time-triggered (cooperative) scheduler and task code, and (ii) a second processor, executing a âscheduler agentâ (SA). In the experiments described in this paper, the MP contains an
instrumented scheduler and, during a âtuningâ phase, the SA measures â on line â the ET of each task as it runs. The
measured values are then used to fine tune the task schedule in an attempt to ensure that (i) all task constraints - such as
deadline and jitter - are met (ii) power consumption is reduced. After the tuning phase is completed the SA continues to monitor the MP and can take appropriate action in case of errors. In the paper, the effectiveness of the proposed architecture is demonstrated empirically by applying
it to a set of tasks that represent a typical embedded control system