Skip to main content Accessibility help
×
  • Cited by 10
Publisher:
Cambridge University Press
Online publication date:
June 2011
Print publication year:
2011
Online ISBN:
9780511973345

Book description

The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low-cost microprocessors and sensors has generated a great interest in embedded real-time programs. This book provides students and programmers whose backgrounds are in traditional sequential programming with the opportunity to expand their capabilities into parallel, embedded, real-time and distributed computing. It also addresses the theoretical foundation of real-time scheduling analysis, focusing on theory that is useful for actual applications. Written by award-winning educators at a level suitable for undergraduates and beginning graduate students, this book is the first truly entry-level textbook in the subject. Complete examples allow readers to understand the context in which a new concept is used, and enable them to build and run the examples, make changes, and observe the results.

Reviews

'By providing an extensive foundation for real-time and embedded systems programming, this book serves a much-needed role for both students and professional alike.'

Patrick Rogers - AdaCore

'… very well-written … Building Parallel, Embedded, and Real-Time Applications with Ada is one of those volumes that makes you think, especially about the hard problems (like real-time, multitasking and multicore) facing the firmware world today. I recommend it.'

Jack G. Ganssle Source: embedded.com

Refine List

Actions for selected content:

Select all | Deselect all
  • View selected items
  • Export citations
  • Download PDF (zip)
  • Save to Kindle
  • Save to Dropbox
  • Save to Google Drive

Save Search

You can save your searches here and later view and run them again in "My saved searches".

Please provide a title, maximum of 40 characters.
×

Contents

References
References
Amdahl, G. M. 1967. Validity of the single processor approach to achieving large scale computing capabilities. Pages 483–485 of: AFIPS'67 (Spring): Proceedings of the April 18–20, 1967, Spring Joint Computer Conference. ACM.
Anderson, T. E., Bershad, B. N., Lazowska, E. D., and Levy, H. M. 1992. Scheduler activations: effective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems (TOCS), 10(1), 53–79.
,Atego. 2009. Artisan Studio Architect Enterprise Edition. White paper.
Audsley, A. N., Burns, A., Richardson, M., and Tindell, K. 1993. Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, 9(5), 284–292.
Baker, T. P. 1991. Stack-based scheduling for realtime processes. Journal of Real Time Systems, 3(1), 67–99.
Baker, T. P., and Cirinei, M. 2006. A necessary and sometimes sufficient condition for the feasibility of sets of sporadic hard-deadline tasks. Pages 178–190 of: Proceedings of the 27th IEEE International Real-Time Systems Symposium. IEEE.
Baker, T. P., and Oh, D.-I. 1997. Ada bindings for C interfaces: lessons learned from the florist implementation. Pages 13–22 of: Hardy, K., and Briggs, J. S. (eds), Ada-Europe. Lecture Notes in Computer Science, vol. 1251. Springer.
Barnes, J. 2003. High Integrity Software, The SPARK Approach to Safety and Security. Pearson Education Limited.
Barnes, J. 2006. Programming in Ada 2005. Pearson Education Limited.
Ben-Ari, M. 1982. Principles of Concurrent Programming. Prentice Hall International.
Ben-Ari, M. 2009. Ada for Software Engineers. 2nd edn. Springer-Verlag.
Bernat, G., Colin, A., Esteves, J., Garcia, G., Moreno, C., Holsti, N., Vardanega, T., and Hernek, M. 2008. Considerations on the LEON cache effects on the timing analysis of onboard applications. In: Proceedings of the Data Systems In Aerospace Conference (DASIA'08). ESA Publications.
Berthomieu, B., and Vernadat, F. 2006. Time petri nets analysis with TINA. In Proceedings of 3rd International Conference on The Quantitative Evaluation of Systems (QEST 2006), IEEE Computer Society. IEEE.
Blaha, M. R., and Rumbaugh, J. R. 2004. Object-Oriented Modeling and Design with UML. 2nd edn. Pearson Prentice Hall.
Blair, M., Obenski, S., and Bridickas, P. 1992. Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia. Tech. report GAO/IMTEC-92-26. United States General Accounting Office.
Briand, L. P., and Roy, D. M. 1999. Meeting Deadlines in Hard Real-Time Systems, The Rate Monotonic Approach. IEEE Computer Society.
Burns, A., and Wellings, A. J. 1994. HRT-HOOD: a design method for hard real time systems. Real Time Systems Journal, 6(1), 73–114.
Burns, A., and Wellings, A. 1998. Concurrency in Ada. Cambridge University Press.
Burns, A., and Wellings, A. 2007. Concurrent and Real-Time Programming in Ada. Cambridge University Press.
Burns, A., and Wellings, A. 2009. Real-time Systems and Programming Languages. 4th ed. Addison Wesley.
Buttazzo, G. 2003. Rate monotonic vs. EDF: Judgment day. In Proceedings of 3rd ACM International Conference on Embedded Software. ACM.
Carey, R. W., Van Arsdall, P. J., and Woodruff, J. P. 2003. The national ignition facility: early operational experience with a large Ada control system. Ada Letters, 23(1), 11.
Carlow, G. D. 1984. Architecture of the Space Shuttle Primary Avionics Software System. Communications of the ACM, 27(9).
Chadburn, F. 2010. Exploiting UML2 code generation with IBM Rational Rhapsody in Ada. White paper.
Clarke, D., Lee, I., and Xie, H. 1995. VERSA: a tool for the specification and analysis of resource-bound real-time systems. Journal of Computer and Software Engineering, 3(2).
Cohen, N. 1996. Ada as a Second Language. McGraw-Hill Series in Computer Science. McGraw-Hill.
Cottet, F., Delacroix, J., Kaiser, C., and Mammeri, Z. 2002. Scheduling in Real Time Systems. John Wiley and Sons Ltd.
Coulouris, G., Dollimore, J., and Kindberg, T. 2005. Distributed Systems: Concepts and Design. 4th edn. Addison-Wesley.
Dale, N., and McCormick, J. 2007. Ada Plus Data Structures: An Object-Oriented Approach. 2nd edn. Jones and Bartlett.
Dale, N., Weems, C., and McCormick, J. 2000. Programming and Problem Solving with Ada 95. 2nd edn. Jones and Bartlett.
de la Puente, J. A., Ruiz, J. F., and Zamorano, J. 2000. An open Ravenscar realtime kernel for GNAT. In: Proceedings of the Reliable Software Technologies. Ada-Europe 2000. Lecture Notes in Computer Science, 1845. Springer Verlag.
Debruyne, V., Simonot-Lion, F., and Trinquet, Y. 2005. EAST-ADL – an architecture description language. Pages 181–195 of: Book on Architecture Description Languages, IFIP International Federation for Information Processing. Springer Verlag.
DeRemer, F., and Kron, H. 1975. Programming-in-the-large versus programming-in-the-small. Pages 114–121 of: Proceedings of the International Conference on Reliable Software. ACM.
Dijkstra, E. 1968. Cooperating sequential processes. Pages 43–112 of: Genuys, F. (ed), Programming Languages. Academic Press. Reprinted from the original Technological University, Eindhoven, The Netherlands, September 1965.
Dissaux, P. 2004. Using the AADL for mission critical software development. 2nd European Congress ERTS, EMBEDDED REAL TIME SOFTWARE.
Dobing, B. 1999. The Ravenscar profile: experience report. ACM SIG Ada Ada Letters, 19(2), 28–32.
Douglass, B. P. 1998. Real-Time UML: Developing Efficient Objects for Embedded Systems. 2nd edn. Addison Wesley Longman.
Duff, R., Hugues, J., Pautet, L., Quinot, T., and Tardieu, S. 2010. PolyORB 2.7.0w User's Guide. http://www.adacore.com/wp-content/files/auto_update/polyorb-docs/polyor%b_ug.html/.
Eisenstadt, M. 1997. My hairiest bug war stories. Communications of the ACM, 40(4), 30–37.
English, J. 2001. Ada 95: The Craft of Object-Oriented Programming. http://www.it.bton.ac.uk/staff/je/adacraft/.
,ESTEC, ESA. 2003. ECSS-E-50-12A SpaceWire – Links, Nodes, Routers and Networks. Tech. rept. European Space Agency.
Fernandez, J. L., and Marmol, G. 2008. An effective collaboration of a modeling tool and a simulation and evaluation framework. In: 18th Annual International Symposium, INCOSE 2008. Systems Engineering for the Planet. INCOSE.
Fersman, E., Mokrushin, L., Pettersson, P., and Yi, W. 2006. Schedulability analysis of fixed-priority systems using timed automata. Theoretical Computer Science, 354(2), 301–317.
Flynn, M. 1974. Some computer organizations and their effectiveness. IEEE Transactions on Computers, C-21, 948–960.
Frédéric, T., Gérard, S., and Delatour, J. 2006. Towards an UML 2.0 profile for real-time execution platform modeling. In: Proceedings of the 18th Euromicro Conference on Real-Time Systems (ECRTS 06), Work in progress session. IEEE.
Gallmeister, B. O. 1995. POSIX 4: Programming for the Real World. O'Reilly and Associates.
George, L., Rivierre, N., and Spuri, M. 1996. Preemptive and Non-Preemptive Real-time Uni-processor Scheduling. Tech. rept. INRIA.
Giering, E. W. III, and Baker, T. P. 1994. The GNU Ada runtime library (GNARL). Pages 97–107 of: WADAS '94: Proceedings of the Eleventh Annual Washington Ada Symposium & Summer ACM SIGAda Meeting on Ada. ACM.
,GNAT. 2010. GNAT Reference Manual. AdaCore.
Hamez, A., Hillah, L., Kordon, F., Linard, A., Paviot-Adet, E., Renault, X., and Thierry-Mieg, Y. 2006. New features in CPN-AMI 3: focusing on the analysis of complex distributed systems. Pages 273–275 of: 6th International Conference on Application of Concurrency to System Design (ACSD'06). IEEE Computer Society.
Harbour, M. G., Moyano, J. M. D., Rivas, M. A., and Fernández, J. G. 1997. Implementing robot controllers under real-time POSIX and Ada. Pages 57–64 of: IRTAW '97: Proceedings of the Eighth International Workshop on Real-Time Ada. ACM.
Harbour, M. G., Garcia, J. J. G., Gutiérrez, J. C. P., and Moyano, J. M. D. 2001. MAST: Modeling and Analysis Suite for Real Time Applications. Pages 125–134 of: Proceedings of the 13th Euromicro Conference on Real-Time Systems (ECRTS 2001). IEEE Computer Society.
Heitmeyer, C., and Mandrioli, D. 1996. Formal Methods for Real Time Computing. John Wiley and Sons Ltd.
Hugues, J., Pautet, L., and Kordon, F. 2003. Contributions to middleware architectures to prototype distribution infrastructures. Pages 124–131 of: Proceedings of the 14th IEEE International Workshop on Rapid System Prototyping (RSP'03). IEEE.
Joseph, M., and Pandya, P. 1986. Finding response time in a real-time system. Computer Journal, 29(5), 390–395.
Klein, M. H., Ralya, T., Pollak, B., Obenza, R., and Harbour, M. G. 1994. A Practitioner's Handbook for Real Time Analysis. Kluwer Academic Publishers.
Kleinrock, L. 1975a. Queueing Systems: Computer Application. Wiley-interscience.
Kleinrock, L. 1975b. Queueing Systems: Theory. Wiley-interscience.
Knoll, K. T. 1993. Risk Management In Fly-By-Wire Systems. NASA STI/Recon. NASA.
Koren, G., and Shasha, D. 1992. D-Over, an optimal on-line scheduling algorithm for overloaded real time systems. Tech. rept. INRIA technical report number RT-0138.
Laplante, Phillip. 2004. Real-Time Systems Design and Analysis. Piscataway, New Jersey: IEEE Press.
Liu, C. L., and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the Association for Computing Machinery, 20(1), 46–61.
Lyu, M. R. 1995. Handbook of Software Reliability Engineering. McGraw-Hill.
Mauro, J., and Dougall, R. 2001. Solaris Internals: Core Kernel Architecture. Prentice Hall.
McCormick, J. 1997. Forum letter. Communications of the ACM, 40(8), 30.
McHale, Ciaran. 2007. CORBA Explained Simply.
Nyberg, K. 2007. Multi-core + multi-tasking = multi-opportunity. Ada Letters, 27(3), 79–81.
,OAR. 2004. RTEMS Ada User's Guide. OAR Corporation.
,OMG. 2001. Ada Language to IDL Mapping v1.2. OMG.
,OMG. 2004. The Common Object Request Broker: Architecture and Specification, Revision 3.0.3. OMG. OMG Technical Document formal/2004-03-12.
,OMG. 2007. A UML Profile for MARTE, Beta 1. OMG Document Number: ptc/07-08-04.
Panwalkar, S. S., and Iskander, W. 1976. A survey of scheduling rules. Operations Research, 25(1), 45–61.
Patterson, D. A., and Hennessy, J. L. 2008. Computer Organization & Design: The Hardware/Software Interface. 4th edn. Morgan Kaufmann.
Pautet, L., and Tardieu, S. 2000. GLADE: a framework for building large objectoriented real-time distributed systems. Page 244 of: ISORC '00: Proceedings of the Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. IEEE Computer Society.
Pautet, L., Quinot, T., and Tardieu, S. 1999. CORBA & DSA: divorce or marriage? In: Proceedings of 4th International Conference on Reliable Software Conference. Springer Verlag.
Pease, M., Shostak, R., and Lamport, L. 1980. Reaching agreement in the presence of faults. Journal of the ACM, 27(2), 228–234.
Philippou, T. A., and Sokolsky, O. 2007. Process-algebraic analysis of timing and schedulability properties. In: Handbook of Real-Time and Embedded Systems. Chapman and Hall/CRC.
Riehle, R. 2003. Ada Distilled: An Introduction to Ada Programming for Experienced Computer Programmers. Tech. rept. AdaWorks Software Engineering.
Rivas, M. A., and Harbour, M. G. 2001. MaRTE OS: an Ada kernel for real-time embedded applications. In: Proceedings of the International Conference on Reliable Software Technologies, Ada-Europe-2001.
,SAE. 2009. Architecture Analysis and Design Language (AADL) AS 5506. Tech. rept. The Engineering Society For Advancing Mobility Land Sea Air and Space, Aerospace Information Report, Version 2.0.
Schonberg, E., and Banner, B. 1994. The GNAT Project: A GNU-Ada 9X Compiler. Pages 48–57 of: TRI-Ada. ACM.
Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: an approach to real-time synchronization. IEEE Transactions on Computers, 39(9), 1175–1185.
Shen, S., and Baker, T. P. 1999. A Linux kernel module implementation of restricted Ada tasking. ACM SIGAda Ada Letters, 19(2), 96–103.
Singhoff, F., Legrand, J., Nana, L., and Marcé, L. 2004. Cheddar: a flexible real time scheduling framework. Pages 1–8 of: SIGAda '04: Proceedings of the 2004 Annual ACM SIGAda International Conference on Ada. ACM.
Singhoff, F., Plantec, A., Dissaux, P., and Legrand, J. 2009. Investigating the usability of real-time scheduling theory with the Cheddar project. Journal of Real Time Systems, 43(3), 259–295.
Sprunt, B., Sha, L., and Lehoczky, J.P. 1989. Aperiodic task scheduling for hard-real-time systems. Journal of Real Time Systems, 1, 27–60.
Spuri, M. 1996. Analysis of Deadline Scheduled Real-Time Systems. Tech. rept. RR-2772. INRIA.
Stankovic, John. 1988. Misconceptions about real-time computing. IEEE Computer, 21(10): 10–19.
Taft, S. T., Duff, R. A., Brukardt, R. L., Ploedereder, E., and Leroy, P. 2006. Ada 2005 Reference Manual. Language and Standard Libraries. International Standard ISO/IEC 8652/1995(E) with Technical Corrigendum 1 and Amendment 1. LNCS Springer Verlag, number XXII, volume 4348.
,TimeSys. 2002. Using TimeWiz to Understand System Timing before you Build or Buy. Tech. rept. TimeSys Corporation.
Tindell, K. W., and Clark, J. 1994. Holistic schedulability analysis for distributed hard real-time systems. Microprocessing and Microprogramming, 40(2–3), 117–134.
,Tri-Pacific. 2003. Rapid-RMA: The Art of Modeling Real-Time Systems. Tech. rept. Tri-Pacific Software, Inc.
Turley, J. 1999. Embedded processors by the numbers. Embedded Systems Programming, 12(5), 99.
Vahalia, U. 1996. UNIX Internals: the New Frontiers. Prentice Hall.
Vardanega, T., Zamorano, J., and de la Puente, J. A. 2005. On the dynamic semantics and the timing behavior of Ravenscar kernels. Real-Time Systems, 29, 59–89.
Vinoski, S. 2004. An overview of middleware. Pages 35–51 of: Proceedings of the 9th International Conference on Reliable Software Techologies Ada-Europe 2004 (RST'04). Springer Verlag.
Wells, Lisa. 2006. Performance analysis using CPN tools. Page 59 of: Valuetools '06: Proceedings of the 1st International Conference on Performance Evaluation Methodolgies and Tools. ACM.
,Wikibooks. 2010a. Ada Programming. http://en.wikibooks.org/wiki/Ada_Programming.
,Wikibooks. 2010b. Ada Quality and Style Guide. http://en.wikibooks.org/wiki/Ada_Style_Guide.
Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., and Stenstrm, P. 2008. The worst-case execution time problem – overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems, 7(3), 36–53.
Wind, River. 1997. VxWorks: Programmer's Guide. Wind River Systems.

Metrics

Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Book summary page views

Total views: 0 *
Loading metrics...

* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.

Usage data cannot currently be displayed.