Skip to main content

Software Technology for Implementing Reusable, Distributed Control Systems

  • Chapter

Part of the book series: Intelligent Systems, Control, and Automation: Science and Engineering ((ISCA,volume 39))

Control systems such as those used in satellites, spacecraft, automobiles, chemical processing plants, and manufacturing rely heavily on the software that is used to implement them. In fact, engineers at Boeing Co. and Honeywell Inc. have estimated that 60–80% of the development of a complex control system is the software development effort, while only 20–40% is the actual control system design. The software effort includes programming individual software modules as well as writing code for communications between comnponents. Much of the software development time is spent on making the software stable and reliable, such as tracing possible hazard conditions and inserting software fault protection methods. When the operation of a control system is highly critical due to human safety factors or the high cost of failure in damaged capital or products, the software designers must expend extra effort to validate and verify their software before it can be released. In flight-critical operations, validation and verification are part of the flight certification process.

Many new software technologies exist that can facilitate the development and deployment of complex control systems. For example, component-based architectures [1, 2] promote code reuse, thereby decreasing development and validation time. Moreover, these architectures encourage flexible “plug-and-play” extensibility and evolution of systems. Distributed object computing allows heterogeneous components to interoperate across diverse platforms and network protocols [3, 4]. Open standards for software mean that products from different vendors can interoperate transparently to the user. New advances are being made to enable dynamic reconfiguration and evolution of systems while they are still running [5, 6]. New communication technologies are being developed to allow networked embedded devices to connect to each other and to self-organize [7].

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G.T. Heineman and W.T. Councill, Component-Based Software Engineering: Putting the Pieces Together, Addison-Wesley, Reading, MA, 2001.

    Google Scholar 

  2. C. Szyperski, Component Software: Beyond Object-Oriented Programming, Addison-Wesley, Reading, MA, 1998.

    Google Scholar 

  3. D. Levine, S. Mungee and D. Schmidt, The design and performance of real-time object request brokers, Comput. Commun. 21, 294–324, April 1998.

    Article  Google Scholar 

  4. D. Schmidt and F. Kuhns, An overview of the real-time CORBA specification, IEEE Computer 33, 56–63, June 2000.

    Google Scholar 

  5. P. Oreizy, N. Medvidovic and R.N. Taylor, Architecture-based runtime software evolution, in Proceedings of the International Conference on Software Engineering (ICSE'98), Kyoto, Japan, pp. 117–186, 1998.

    Google Scholar 

  6. P. Oreizy, M. Gorlick, R.N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. Rosenblum and A. Wolf, An architecture-based approach to self-adaptive software, IEEE Intell. Syst. 14, 54–62, May/June 1999.

    Article  Google Scholar 

  7. J. Waldo, The Jini architecture for network-centric computing, Commun. ACM 42(7), 76–82, July 1999.

    Article  Google Scholar 

  8. E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995.

    Google Scholar 

  9. G. Booch, J. Rumbaugh and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA, 1999.

    Google Scholar 

  10. D. Auslander, J.R. Ridgely and J.D. Ringgenberg, Control Software for Mechanical Systems, Object-Oriented Design in a Real-Time World, Prentice-Hall, Upper Saddle River, NJ, 2002.

    Google Scholar 

  11. M. Guler, S. Clements, L. Wills, B. Heck and G. Vachtsevanos, Generic transition management for reconfigurable hybrid control systems, in Proceedings of 20th American Control Conference (ACC-2001), Arlington, VA, June 2001.

    Google Scholar 

  12. M. Guler, L. Wills, S. Clements, B. Heck and G. Vachtsevanos, A pattern for gradual trans-itioning during dynamic component replacement in extreme performance UAV hybrid control systems, in OOPSLA 2001 Workshop Patterns and Pattern Languages Object-Oriented Distributed Real-Time and Embedded Systenbs, Tampa, FL, October 2001 [Online]. Available: http:/www.cs.wustl.edu/~mk1/realtimepatterns/oopsla2001/submissions/muratguler.pdf

  13. R. Johnson and B. Foote, Designing reusable classes, J. Object-Oriented Programming 1(2), 22–35, June/July 1988.

    Google Scholar 

  14. W. Pree, Essential framework design patterns: Why ‘hot spot’ identification helps, Object Mag. 7(1), 34–37, March 1997.

    Google Scholar 

  15. D. D'Souza and A. Wills, Objects, Components, and Frameworks with UML: The Catalysis Approach, Addison-Wesley, Reading, MA, 1999.

    Google Scholar 

  16. R. Prieto-Diaz and G. Arango, Domain Analysis and Software Systems Modeling, IEEE Com-put. Soc. Press, Los Alamitos, CA, 1991.

    Google Scholar 

  17. T. Brown, A. Pesetti, W. Pree, T. Henzinger and C. Kirsch, A reusable and platform-independent framework for distributed control systems, in Proceedings of the IEEE/AIAA 20th Digital Avionics Systems Conference (DASC'2001), Daytona, FL, October, Vol. 2, pp. 1–11, 2001.

    Google Scholar 

  18. A. Traub and R. Schraft, An object-oriented realtime framework for distributed control systems, in Proceedings of the IEEE International Conference on Robotics and Automation, Detroit, MI, May, pp. 3115–3121, 1999.

    Google Scholar 

  19. J. Fernandez and J. Gonzalez, NEXUS: A flexible, efficient and robust framework for integrating software components of a robotic system, in Proceedings of the 1998 IEEE ICRA, Leuven, Belgium, pp. 524–529, 1998.

    Google Scholar 

  20. D. Hammer, C. Becchetti, P. Narasimhan, A. Schurr and B. Selic, What are the most urgent research problems of component-based software engineering for resource-constraint systems?, in Proceedings of the 6th International Workshop Object-Oriented Real-Time Dependable Systems (WORDS'01), Rome, Italy, January, pp. 97–98, 2001.

    Google Scholar 

  21. D. Hammer and M.R.V. Chaudron, Component-based software engineering for resource-constraint systems: What are the needs?, in Proc. 6th Int. Workshop Object-Oriented RealTime Dependable Syst. (WORDS'01), Rome, Italy, Jan. 2001, pp. 91–96.

    Google Scholar 

  22. E. Lee, What's ahead for embedded software?, IEEE Computer 33, 18–26, September 2000.

    Google Scholar 

  23. A. Tanenbaum and M. van Steen, Distributed Systems: Principles and Paradigms, Prentice-Hall, Upper Saddle River, NJ, 2002.

    MATH  Google Scholar 

  24. E. Johnson and S. Mishra, Flight simulation for the development of an experimental UAV, in Proceedings of AIAA Modeling and Simulation Technology Conference, Monterey, CA, No. AIAA-2002-4975, August 2002.

    Google Scholar 

  25. A. Tanenbaum, Computer Networks, Prentice-Hall, Englewood Cliffs, NJ, 1996.

    Google Scholar 

  26. S. Schneider, G. Pardo-Castellote and M. Hamilton, Can Ethernet be real time? [Online]. Available: http://www.rti.com/products/ndds/leads.html

  27. G. Schickhuber and O. McCarthy, Distributed fieldbus and control network systems, IEEE Comput. Control Eng. J. 8, 21–32, February 1997.

    Article  Google Scholar 

  28. S. Kopetz, A comparison of CAN and TTP, Annu. Rev. Control 24, 177–188, 2000.

    Google Scholar 

  29. F.-L. Lian, J. Moyne and D. Tilbury, Performance evaluation of control networks: Ethernet, ControlNet, and DeviceNet, IEEE Contr. Syst. Mag. 21, 66–83, 2001.

    Article  Google Scholar 

  30. C. Georgakis and W. Levine, Workshop on the research needs in modeling, dynamics, monitoring and control of complex engineering systems, Report, Anchorage, AK, May 11–12, 2002 [Online]. Available: http://www.isr.umd.edu/ISR/Complex/

  31. J. Paunicka, B. Mendel and D. Corman, The OCP — An open middleware solution for embedded systems, in Proceedings of the American Control Conference, Arlington, VA, pp. 3345– 3350, 2001.

    Google Scholar 

  32. J. Paunicka, D. Corman, and B. Mendel, A CORBA-based middleware solution for UAVs, in Proceedings 4th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2001), Madgeburg, Germany, May 2001.

    Google Scholar 

  33. L. Wills, S. Kannan, S. Sander, M. Guler, B. Heck, J. Prasad, D. Schrage and G. Vachtsevanos, An open software infrastructure for reconfigurable control systems, IEEE Contr. Syst. Mag. 21, 49–64, June 2001.

    Article  Google Scholar 

  34. M. Morrison, D. Brownell and F. Broumphrey, XML Unleashed, Sams Publishing, Indianapolis, IN, 1999.

    Google Scholar 

  35. Java Community Process, Real-time specification for Java [Online]. Available: http://jcp.org/jsr/detail/1.jsp

  36. L. Carnahan and M. Ruark (Eds.), Requirements for Real-Time Extensions to the Java P at-form, NIST Pub. 500-243 [Online]. Available: http://www.itl.nist.gov/div897/ctg/real-time/rtj-final-draft.pdf

  37. J. Farley,.NET from the enterprise perspective: SOAP, O'Reilly News, 12 September 2000 [Online]. Available: http://java.oreilly.com/news/soap_0900.html

  38. J. Farley, Microsoft.NET vs. J2EE: How do they stack up?, O'Reilly News, August 2000 [Online]. Available: http://java.oreilly.com/news/farley_0800.html

  39. G. Pardo-Castellote and S. Schneider, The network data delivery service: Real-time data connectivity for distributed control applications, in Proceedings of 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, Vol. 4, pp. 2870–2876, 1994.

    Google Scholar 

  40. G. Pardo-Castellote, S. Schneider and M. Hamilton, NDDS: The real-time publish-subscribe middleware [Online]. Available: www.rti.com/prod-ucts/ndds/leads.html

  41. D. Bakken, Z. Zhan, C. Jones and D. Karr, Middleware support for voting and data fusion, in Proceedings of the International Conference on Dependable Systems and Networks, Goteborg, Sweden, July, pp. 453–462, 2001.

    Google Scholar 

  42. C. Liu and J. Layland, Scheduling algorithms for multiprogramming in a hard real-time environment, J. ACM 20, 46–61, January 1973.

    Article  MATH  MathSciNet  Google Scholar 

  43. A. Tanenbaum, Modern Operating Systems, Prentice-Hall, Upper Saddle River, NJ, 2001.

    Google Scholar 

  44. H. Kopetz, Real-Time Systems Design Principles for Distributed Embedded Applications, Kluwer, Norwell, MA, 2001.

    Google Scholar 

  45. C. Gill, D. Levine and D. Schmidt, The design and performance of a real-time CORBA scheduling service, Int. J. Time-Critical Comput. Syst. (Special Issue on Real-Time Middleware) 20(2), 1999.

    Google Scholar 

  46. D. Levine, C. Gill and D. Schmidt, Dynamic scheduling strategies for avionics mission computing, in Proc. 17th DASC. AIAA/IEEE/SAE Digital Avionics Syst. Conf., Vol. 1, pp. C15/1–8, 1998.

    Article  Google Scholar 

  47. A. Tanenbaum, Distributed Operating Systems, Prentice-Hall, Englewood Cliffs, NJ, 1996.

    Google Scholar 

  48. D.B. Stewart and P.K. Khosla, Real-time scheduling of sensor-based control systems, in RealTime Programming, W. Halang and K. Ramamritham (Eds.), Pergamon, Tarrytown, NY, 1992.

    Google Scholar 

  49. M. Cardei, I. Cardei, R. Jha and A. Pavan, Hierarchical feedback adaptation for real time sensor-based distributed applications, in Proceedings of 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000), Newport Beach, CA, March, pp. 181–188, 2000.

    Google Scholar 

  50. B. Doerr, T. Venturella, R. Jha, C. Gill and D. Schmidt, Adaptive scheduling for real-time, embedded information systems, in Proceedings of the 18th Digital Avionics Systems Conference, St. Louis, MO, October, pp. 2.D.5/9, 1999.

    Google Scholar 

  51. C.S.R. Murthy and G. Manimaran, Resource Management in Real-Time Systems and Networks, MIT Press, Cambridge, MA, 2001.

    Google Scholar 

  52. A.M. van Tilborg and G.M. Koob, Foundations of Real-Time Computing: Scheduling and Resource Management, Kluwer, Norwell, MA, 1991.

    Google Scholar 

  53. B. Li and K. Nahrstedt, A control-based middleware framework for quality-of-service adaptation, IEEE J. Select. Areas Commun. 17, 1632–1650, September 1999.

    Article  Google Scholar 

  54. M. Agrawal, D. Cofer and T. Samad, Real-time adaptive resource management for multi-model control, in Proceedings of the American Control Conference, Arlington, VA, pp. 3451– 3456, 2001.

    Google Scholar 

  55. S. Natarajan (Ed.), Imprecise and Approximate Computation, Kluwer, Norwell, MA, 1995.

    MATH  Google Scholar 

  56. G. Manimaran and C.S.R. Murthy, An efficient dynamic scheduling algorithm for multiprocessor real-time systems, IEEE Trans. Parallel Distrib. Syst. 9, 312–319, 1998.

    Article  Google Scholar 

  57. F. Petrini and W.C. Feng, Scheduling with global information in distributed systems, in Proceedings of the International Conference on Distributed Computing Systems, Taipei, Taiwan, April, pp. 225–232, 2000.

    Google Scholar 

  58. G. Walsh and H. Ye, Scheduling of networked control systems, IEEE Contr. Syst. Mag. 21, 57–65, February 2001.

    Article  Google Scholar 

  59. Venture Development Corp., Global markets and user needs for industrial distributed/remote I/O, section edition [Online]. Available: http://ics.pennnet.com/Articles/Article_Display.cfm? Section=OnlineArticles&SubSection=Display&PUBLICATION_ID=26&ARTICLE_ID= 134229

  60. Advanced Realtime Control Systems Inc. [Online]. Available: http://www.arcsinc.com/ progref-manual.pdf

  61. Industrial Automation Insider [Online]. Available: http://www.abpubs.demon.co.uk/scada.htm

  62. X. Liu, J. Liu, J. Eker and E. Lee, Heterogeneous modeling and design of control systems, submitted for publication in Software-Enabled Control: Information Technology for Dynamical Systems, T. Samad and G. Balas (Eds.), IEEE Press, New York, 2003.

    Google Scholar 

  63. E. Lee, Computing for embedded systems, Paper presented at the IEEE Instrumentation and Measurement Technology Conference, Budapest, Hungary, May 2001.

    Google Scholar 

  64. M. Hiltunen and R. Schlichting, The Cactus approach to building configurable middleware services, in Proceedings of the Workshop Dependable System Middleware and Group Communication (DSMGC 2000), Nuremberg, Germany, October 2000 [Online]. Available: http://www.cs.arozona.edu/cactus/public.html

  65. W. Chen, M. Hiltunen and R. Schlichting, Constructing adaptive software in distributed systems, in Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS-21), Mesa, AZ, April, pp. 635–643, 2001.

    Google Scholar 

  66. M. Hiltunen, X. Han and R. Schlichting, Real-time issues in Cactus, in Proceedings of the Workshop Middleware Distributed Real-Time System Services, December, pp. 214–221, 1997.

    Google Scholar 

  67. T.A. Henzinger, C.M. Kirsch, M.A.A. Sanvido and W. Pree, From control models to real-time code using Giotto, IEEE Contr. Syst. Mag. 23, 50–64, February 2003.

    Article  Google Scholar 

  68. T. Henzinger, B. Horowitz and C. Kirsch, Embedded control systems development with Giotto, in Proceedings of the International Conference on Languages, Compilers, and Tools Embedded Systems (LCTES), Snowbird, UT, pp. 64–72, 2001.

    Google Scholar 

  69. T. Henzinger, B. Horowitz and C. Kirsch, Giotto: A time-triggered language for embedded programming, in Proceedings of the 1st International Workshop Embedded Software (EM-SOFT '01), Taho City, CA, pp. 166–184, 2001.

    Google Scholar 

  70. A. Ledeczi, M. Maroti, A. Bakay, G. Karsai, J. Garrett, C. Thomason, G. Nordstrom, J. Sprinkle and P. Volgyesi, The generic modeling environment, in Proceedings of the IEEE International Workshop Intelligent Signal Processing (WISP'2001), Budapest, Hungary, May 2001 [CD-ROM].

    Google Scholar 

  71. P. Lutz, W. Sperling, D. Fichtner and R. Mackay, OSACA — The vendor neutral control architecture, in Proceedings of the European Conference on Integration in Manufacturing, Dresden, Germany, September, pp. 247–256, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer Science + Business Media B.V.

About this chapter

Cite this chapter

Heck, B.S., Wills, L.M., Vachtsevanos, G.J. (2009). Software Technology for Implementing Reusable, Distributed Control Systems. In: Valavanis, K.P. (eds) Applications of Intelligent Control to Engineering Systems. Intelligent Systems, Control, and Automation: Science and Engineering, vol 39. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-3018-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-90-481-3018-4_11

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-90-481-3017-7

  • Online ISBN: 978-90-481-3018-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics