Advertisement

e & i Elektrotechnik und Informationstechnik

, Volume 125, Issue 11, pp 401–405 | Cite as

Applying time-triggered architectures in reliable embedded systems: challenges and solutions

  • M. J. Pont
Originalarbeiten

Summary

Since the mid 1990s, researchers in the Embedded Systems Laboratory at the University of Leicester have developed a range of techniques and tools which support the creation and maintenance of reliable, resource-constrained embedded systems. Central to this work has been a focus on systems with a time-triggered architecture. This paper provides a review of some of this work.

Keywords

Time-triggered architectures Reliable embedded systems 

Anwendung von zeitgesteuerten Architekturen in zuverlässigen eingebetteten Systemen: Herausforderungen und Lösungen

Zusammenfassung

Seit Mitte der 1990er Jahre haben Forscher im Embedded Systems Laboratory der Universität von Leicester eine Reihe von Techniken und Werkzeugen entwickelt, die den Entwurf und die Wartung von zuverlässigen eingebetteten Systemen unter gleichzeitiger Berücksichtigung von limitierten Systemressourcen unterstützen, wobei der zentrale Fokus auf zeitgesteuerten Architekturen liegt. Der vorliegende Beitrag zeigt in einer Zusammenfassung wesentliche Aspekte dieser Arbeit.

Schlüsselwörter

Zeitgesteuerte Architekturen Zuverlässige eingebettete Systeme 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander, C. (1979): The timeless way of building. Oxford University Press, NYGoogle Scholar
  2. Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fisksdahl-King, I., Angel, S. (1977): A pattern language. Oxford University Press, NYGoogle Scholar
  3. Allworth, S. T. (1981): An Introduction to real-time software design. Macmillan, LondonGoogle Scholar
  4. Athaide, K. F., Pont, M. J., Ayavoo, D. (2008a): Deploying a time-triggered shared-clock architecture in a multiprocessor system-on-chip design. In: Proceedings of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  5. Athaide, K. F., Pont, M. J., Ayavoo, D. (2008b): Shared-clock methodology for time-triggered multi-cores. In: Stepney, S., Polack, F., McEwan, A., Welch, P., Ifill, W. (eds): Communicating Process Architectures 2008. IOS PressGoogle Scholar
  6. Ayavoo, D., Pont, M. J., Short, M., Parker, S. (2007): Two novel shared-clock scheduling algorithms for use with CAN-based distributed systems. Microprocessors and Microsystems, 31 (5): 326–334CrossRefGoogle Scholar
  7. Baker, T. P., Shaw, A. (1989): The cyclic executive model and Ada. Real-Time Systems 1 (1): 7–25CrossRefGoogle Scholar
  8. Baruah, S. K. (2006): The non-preemptive scheduling of periodic tasks upon multiprocessors. Real-Time Systems 32 (1–2): 9–20zbMATHCrossRefGoogle Scholar
  9. Bautista-Quintero, R., Pont, M. J. (2008): Implementation of H-infinity control algorithms for sensor-constrained mechatronic systems using low-cost microcontrollers. IEEE Transactions on Industrial Informatics 4 (3): 175–184CrossRefGoogle Scholar
  10. Becker, L. B., Gergeleit, M. (2001): Execution environment for dynamically scheduling real-time tasks. RTSS 2001, 22nd IEEE Real-Time Systems Symposium, London, 2001Google Scholar
  11. Becker, L. B., Nett, E., Schemmer, S., Gergeleit, M. (2003): Robust scheduling in team-robotics. 11th Int. Workshop on Parallel and Distributed Real-Time Systems, Nice, France, 2003Google Scholar
  12. Bennett, K., Gold, N., Mohan, A. (2005): Cut the biggest IT cost. The Computer Bulletin 47 (1): 20–21CrossRefGoogle Scholar
  13. Bosch, R. G. (1991): CAN specification version 2.0: Robert Bosch GmbH, Postfach 50, D-7000 Stuttgart 1, GermanyGoogle Scholar
  14. Brucker, P., Garey, M. R., Johnson, D. S. (1977) Scheduling equal-length tasks under treelike precedence constraints to minimize maximum lateness. Mathematics of Operations Research 2 (3): 275–284zbMATHCrossRefMathSciNetGoogle Scholar
  15. Buttazzo, G. C. (2005): Rate monotonic vs. EDF: Judgement day. Real-Time Systems 29 (1): 5–26zbMATHCrossRefGoogle Scholar
  16. Cinneide, M. O. and Nixon, P. (2001): Automated software evolution towards design patterns. International Workshop on Principles of Software Evolution (IWPSE), Association for Computing Machinery, Vienna, Austria: 162–165Google Scholar
  17. Cucu. L., Sorel, Y. (2004): Non-preemptive multiprocessor scheduling for strict periodic systems with precedence constraints. In Proc. 23rd Annual Workshop of the UK Planning and Scheduling Special Interest Group, PLANSIG'04, Cork, Ireland, Dec. 2004Google Scholar
  18. Cunningham, W., Beck, K. (1987): Using pattern languages for object-oriented programs. Proc. of OOPSLA'87, Orlando, FloridaGoogle Scholar
  19. Domaratsky, Y., Perevozchikov, M. (2000): Highly dependable time-triggered operating system. Dedicated Systems Magazine, Oct.–Dec. 2000: 77–84Google Scholar
  20. Ekelin, C., Jonsson, J. (2001): Evaluation of search heuristics for embedded system scheduling problems. In: Proc. Int. Conf. Principles and Practice of Constraint Programming, Paphos, Cyprus, 2001: 640–654Google Scholar
  21. Engblom, J. A., Ermedahl, A., Sjoedin, M., Gubstafsson, J., Hansson, H., et al. (2001): Worst-case execution-time analysis for embedded real-time systems. Journal of Software Tools for Technology Transfer 4 (4): 437–455CrossRefGoogle Scholar
  22. Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995): Design patterns: Elements of reusable object-oriented software. Addison-Wesley, Reading, MAGoogle Scholar
  23. Ganssle, J. (2002): The Art of programming embedded systems, Academic Press, San Diego, USAGoogle Scholar
  24. Gendy, A. K., Pont, M. J. (2008a): Automatically configuring time-triggered schedulers for use with resource-constrained, single-processor embedded systems. IEEE Transactions on Industrial Informatics 4 (1): 37–46CrossRefGoogle Scholar
  25. Gendy, A., Pont, M. J. (2008b): Automating the processes of selecting an appropriate scheduling algorithm and configuring the scheduler implementation for time-triggered embedded systems. Proc. of The 27th Int. Conf. on Computer Safety, Reliability and Security (SAFECOMP08), 22–25 September 2008, Newcastle upon Tyne, UKGoogle Scholar
  26. Gergeleit, M., Nett, E. (2002): Scheduling transient overload with the TAFT Scheduler. GI/ITG specialized group of operating systems, Berlin, 2002Google Scholar
  27. Hanif, M., Pont, M. J., Ayavoo, D. (2008): Implementing a simple but flexible time-triggered architecture for practical deeply-embedded applications. In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  28. Huang, H., Zhang, S., Cao, J., Duan, Y. (2005): A practical pattern recovery approach based on both structural and behavioral analysis. Journal of Systems and Software 75 (1–2): 69–87CrossRefGoogle Scholar
  29. Hughes, Z. H., Pont, M. J. (2004): Design and test of a task guardian for use in TTCS embedded systems. In: Koelmans, A., Bystrov, A., Pont, M. J. (eds): Proc. of the 1st UK Embedded Forum (Birmingham, UK, October 2004): 16– 25. Publ. by Uni. of Newcastle upon Tyne [ISBN: 0-7017-0180-3]Google Scholar
  30. Hughes, Z. M., Pont, M. J., Ong, H. L. R. (2005): The PH Processor: A soft embedded core for use in university research and teaching. In: Koelmans, A., Bystrov, A., Pont, M. J., Ong, R., Brown, A. (eds): Proc. of the 2nd UK Embedded Forum (Birmingham, UK, October 2005): 224–245. Published by University of Newcastle upon Tyne [ISBN: 0-7017-0191-9]Google Scholar
  31. Hughes, Z. M., Pont, M. J. (in press): Reducing the impact of task overruns in resource-constrained embedded systems in which a time-triggered software architecture is employed. Trans Institute of Measurement and ControlGoogle Scholar
  32. Imran, S., Short, M., Pont, M. J. (2008): Hardware implementation of a shared-clock scheduling protocol for CAN: a pilot study. In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  33. Keller, R. K., Schauer, R., Robitaille, S., Page, P. (1999): Pattern-based reverse-engineering of design components, Proc. – Int. Conf. on Software Engineering: 226–235, IEEE, Los Angeles, CA, USAGoogle Scholar
  34. Kirner, R., Puschner, P. (2003): Discussion of misconceptions about worst-case execution-time analysis. 3rd Euromicro Int. Workshop on WCET Analysis, 2003Google Scholar
  35. Kopetz, H. (1997): Real-Time Systems, Design Principles for Distributed Embedded Applications, Kluwer AcademicGoogle Scholar
  36. Kurian, S., Pont, M. J. (2007): Maintenance and evolution of resource-constrained embedded systems created using design patterns. Journal of Systems and Software 80 (1): 32–41CrossRefGoogle Scholar
  37. Liu, C. L., Layland, J. W. (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20 (1): 40–61CrossRefMathSciNetGoogle Scholar
  38. Locke, C. D. (1992): Software architecture for hard real-time systems: Cyclic executives vs. Fixed priority executives. The Journal of Real-Time Systems 4: 37–53CrossRefGoogle Scholar
  39. Mearns, D. D. U., Pont, M. J., Ayavoo, D. (2008): Towards Ctt (a programming language for time-triggered embedded systems). In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  40. Muhammad, A., Pont, M. J. (2008): Synchronising tasks in wireless multi-processor environments using a shared-clock architecture: A pilot study. In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  41. Nett, E., Streich, H., Bizzarri, P., Bondavalli, A., Tarini, F. (1996): Adaptive Software Fault Tolerance Policies with Dynamic Real-Time Guarantees. WORDS 96, IEEE Second Int. Workshop on Object-oriented Real-time Dependable Systems, Laguna Beach, California, U.S.A, 1996Google Scholar
  42. Noble, J., Weir, C. (2001): Small Memory Software. Addison Wesley.Google Scholar
  43. Phatrapornnant, T., Pont, M. J. (2006) Reducing jitter in embedded systems employing a time-triggered software architecture and dynamic voltage scaling. IEEE Transactions on Computers 55 (2): 113–124CrossRefGoogle Scholar
  44. Pont, M. J. (1998): Control system design using real-time design patterns. Proc. of Control '98 (Swansea, UK), September 1998: 1078–1083Google Scholar
  45. Pont, M. J. (2000): Designing and implementing reliable embedded systems using patterns. In: Dyson, P., Devos, M. (eds): EuroPLoP '99: Proc. of the 4th European Conf. on Pattern Languages of Programming and Computing, 1999. ISBN 3-87940-774-6, Universitätsverlag KonstanzGoogle Scholar
  46. Pont, M. J. (2001): Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers. Addison-Wesley/ACM Press. ISBN: 0-201-331381. Available for download from: http://www.tte-systems.com/books/pttes/
  47. Pont, M. J. (2003): Supporting the development of time-triggered co-operatively scheduled (TTCS) embedded software using design patterns. Informatica 27: 81–88zbMATHGoogle Scholar
  48. Pont, M. J., Ong, R. H. L. (2002): Using watchdog timers to improve the reliability of single-processor embedded systems: Seven new patterns and a case study. In: Hruby, P, Soressen, K. E. (eds): Proc. of the First Nordic Conf. on Pattern Languages of Programs, 2002: pp. 159–200Google Scholar
  49. Pont, M. J., Mwelwa, C. (2003): Developing reliable embedded systems using 8051 and ARM processors: Towards a new pattern language. Paper presented at the Second Nordic Conf. on Pattern Languages of Programs, (VikingPLoP "2003"), Bergen, Norway, September 2003Google Scholar
  50. Pont, M. J., Banner, M. P. (2004) Designing embedded systems using patterns: A case study. Journal of Systems and Software 71 (3): 201–213CrossRefGoogle Scholar
  51. Pont, M. J., Li, Y., Parikh, C. R., Wong, C. P. (1999): The design of embedded systems using software patterns. Proc. of Condition Monitoring 1999 (Swansea, UK), April 12–15, 1999: 221–236Google Scholar
  52. Pont, M. J., Norman, A. J., Mwelwa, C., Edwards, T. (2004): Prototyping time-triggered embedded systems using PC hardware. In: Henney, K., Schutz, D. (eds): Proc. of the Eighth European Conf. on Pattern Languages of Programs (EuroPLoP 8), Germany, June 2003: 691–716. Published by Universitätsverlag Konstanz. ISBN 3-87940-788-6Google Scholar
  53. Pont, M. J., Kurian, S., Wang, H., Phatrapornnant, T. (2007): Selecting an appropriate scheduler for use with time-triggered embedded systems. Paper presented at the 12th European Conf. on Pattern Languages of Programs (EuroPLoP 2007)Google Scholar
  54. Puschner, P. (2002): Is WCET analysis a non-problem? Towards new software and hardware architectures. 2nd Intl. Workshop on Worst Case Execution Time Analysis, Vienna, Austria, 2002Google Scholar
  55. Sheikh, I., Short, M., Pont, M. J. (2008): Hardware implementation of a shared-clock scheduling protocol for CAN: A pilot study. In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  56. Short, M., Pont, M. J. (2008): Assessment of high-integrity embedded automotive control systems using Hardware-in-the-Loop simulation. Journal of Systems and Software 81 (7): 1163–1183CrossRefGoogle Scholar
  57. Tindell, K., Burns, A., Wellings, A. (1992): Allocating hard real-time tasks: An NP-hard problem made easy. Real-Time Systems 4 (2): 145–165CrossRefGoogle Scholar
  58. Vallerio, K. S., Jha, N. K. (2003): Task graph extraction for embedded system synthesis. Proc. 16th Int. Conf. on VLSI Design concurrently with the 2nd Int. Conf. on Embedded Systems Design, 2003: 480–486Google Scholar
  59. Vidler, P. J., Pont, M. J. (2006): Computer assisted source-code parallelisation. In: Gavrilova, M., Gervasi, O., Kumar, V., Tan, C. J. K., Taniar, D., Laganà, A., Mun, Y., Choo, H. (eds): Proc. of the IEE Int. Conf. on Computational Science and its Applications (Glasgow, May 8–11, 2006), Part V. Lecture Notes in Computer Science (LNCS), 3984: 22–31Google Scholar
  60. Wang, H., Pont, M. J. (2008): Design and implementation of a static pre-emptive scheduler with highly predictable behaviour. In: Proc. of the 4th UK Embedded Forum (September 2008, Southampton, UK)Google Scholar
  61. Wang, H., Pont, M. J., Kurian, S. (2007): Patterns which help to avoid conflicts over shared resources in time-triggered embedded systems which employ a preemptive scheduler. Paper presented at the 12th European Conf. on Pattern Languages of Programs (EuroPLoP 2007)Google Scholar
  62. Xu, J., Parnas, D. L. (1992): Pre-run time scheduling processes with exclusion relations on nested or overlapping critical sections. 11th IEEE Int. Phoenix Conf. Computers and Communications, Scottsdale, AZ, USA, 1992: 774–782Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • M. J. Pont
    • 1
  1. 1.Embedded Systems Laboratory, University of LeicesterUK

Personalised recommendations