Consumers of modern avionics and automotive systems expect many, well integrated features. Efforts are continually being made to make engineering processes better equipped to adapt to enhancement requests. Within both the avionics and automotive industries, standardisation of hardware and interfaces has allowed software to be mapped to hardware at a later stage of the design process and for this mapping to be more easily changed.\ud \ud Tools which automatically perform the mapping of tasks and messages onto a hardware platform are called task allocation tools. The primary requirement of a task allocation tool for hard real-time systems is to find a mapping and schedule such that all tasks and messages respond before their deadlines. However, there are other qualities which can be used to further differentiate between solutions, two of the most important being flexibility and adaptability.\ud \ud This thesis builds on previous task allocation work by extending a heuristic search algorithm to produce solutions with improved flexibility. Inspiration is drawn from scenario based architecture analysis methods. These methods interrogate an architecture model to see how it will react to different change scenarios. This idea is used within a search algorithm to encourage it to produce solutions which can meet the needs of provided scenarios with no or very few changes. It is shown that these solutions are also more flexible with respect to upgrades which differ from the scenarios.\ud \ud Run-time adaptability is another quality which can be affected by the choice of task allocation. Real-time systems can specify multiple task sets representing different modes of operation. The system will switch between modes at run-time to adapt to environmental changes and must do so efficiently. The task allocation algorithm is adapted for multi-moded systems and it is shown that solutions can be found which allow the system to transition between modes with minimal disruption.\ud \ud Safety-critical real-time systems have become dependent on software to provide critical functionality such as fly-by-wire control and engine emission regulation. These systems must be fault-tolerant and support graceful degradation, another form of adaptability. In the final part of this thesis, the task allocation algorithm is modified to select a number of replicas for each task as well as their allocation so that the system can withstand as many processor failures as possible before the level of service provided by the system falls below a safe threshold
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.