Abstractions, Architecture, Mechanisms, and a Middleware for Networked Control Scott Graham, Girish Baliga, and P

Abstractions, Architecture, Mechanisms, and a Middleware for Networked Control Scott Graham, Girish Baliga, and P

1 Abstractions, Architecture, Mechanisms, and a Middleware for Networked Control Scott Graham, Girish Baliga, and P. R. Kumar Abstract— We focus on the mechanism half of the policy- was met by the explosion of work on state-space based mechanism divide for networked control systems, and ad- design by Kalman, Pontryagin, and others. dress the issue of what are the appropriate abstractions Now, about fifty years later, we may be on the thresh- and architecture to facilitate their development and de- ployment. We propose an abstraction of “virtual colloca- old of a third technological revolution in control plat- tion” and its realization by the software infrastructure of forms. This is driven by advances in VLSI hardware, middleware. Control applications are to be developed as a wireline and wireless communication networking, and collection of software components that communicate with advanced software such as middleware. There has been each other through the middleware, called Etherware. The tremendous growth in embedded computers, with 98% middleware handles the complexities of network operation, such as addressing, start-up, configuration and interfaces, of microprocessors now sold being embedded [2]. In by encapsulating application components in “Shells” which communication, besides the Internet, we may be on the mediate component interactions with the rest of the system. cusp of a wireless revolution with Wi-Fi (IEEE 802.11x) The middleware also provides mechanisms to alleviate the experiencing double-digit growth since 2000 [3]. effects of uncertain delays and packet losses over wireless Less recognized is that software engineering has also channels, component failures, and distributed clocks. This is done through externalization of component state, with evolved significantly in the last two decades. Although primitives to capture and reuse it for component restarts, many basic ideas such as object oriented programming upgrades, and migration, and through services such as clock and distributed computing were mooted early on, they synchronization. We further propose an accompanying use have been brought to fruition only recently due to better of local temporal autonomy for reliability, and describe the understanding of software management and advances in implementation as well as some experimental results over a traffic control testbed. hardware. In particular, experience in design of large and complex software programs has been well codified and Index Terms— Abstractions, Architecture, Middleware, widely reused through design patterns such as Strategy Mechanisms, Networked Control, Third Generation Control, Networked Embedded Control Systems. and Memento [4], software frameworks such as Model- View-Controller (MVC) [4], and software development processes such as eXtreme Programming (XP) and Ra- I. Introduction tional Unified Process (RUP) [5]. The development and widespread use of software libraries and infrastructure A. A historical perspective such as middleware has drastically reduced develop- The first generation of platforms for control systems in ment cycle times, and resulted in better software. A the electronic age that began with the vacuum tube was good indicator of advances made is that the level of based on analog computing1 . This created a need for abstractions, particularly in programming languages, is theories to use the technology of operational amplifiers. much higher today. Software design primitives have The challenge was met by Black, Bode, Nyquist and evolved from registers and variables to libraries, compo- others, who developed frequency domain based design nents, messages, and remote procedure calls. A typical methods. A second era of digital control systems com- mid-range automobile has about 45 micro-controllers menced around 1960, based on the technology of digital connected by Controller Area Networks (CAN) and uses computers. It too created a need for new theories for complex software [6]. This has thrust software engineer- exploiting the capabilities of digital computing, which ing into a central role [7] since the development and testing of complex software is expensive and fraught This material is based upon work partially supported by USARO with numerous problems. There is much impetus to Contracts W911NF-08-1-0238 and W-911-NF-0710287, NSF Contracts reuse previously developed and tested software, since ECCS-0701604, CNS-07-21992, CNS-0626584, CNS-05-19535, and CCR- 0325716, DARPA/AFOSR Contract F49620-02-1-0325, DARPA Con- it not only reduces the effort and expenses involved, but tact N00014-0-1-1-0576, and AFOSR Contract F49620-02-1-0217. also enables sharing of valuable experience. About 40% Please address correspondence to [email protected]. of the software for the Boeing 777 airplane was of the AFIT, USA. [email protected]. Google, Mountain View, CA 94043. [email protected]. commercial-off-the-shelf (COTS) variety [8]. CSL and Dept. of ECE, Univ. of Illinois, 1308 West Main St., Urbana, These developments present new opportunities for IL 61801, USA. Email: [email protected]. control, as well as several challenges. Properly har- 1Mindell [1] provides a detailed account of how control, communica- tion and computation were intertwined in the first half of the twentieth nessed, they can potentially revolutionize control system century. platforms and lead to a new era of system building. 2 B. The importance of abstractions and architecture In order for networked control systems to proliferate, they will need to be made easy to design and easy to deploy. This is the objective in this paper. The goal addressed is how to reduce the design and development time. This also requires alleviation of the burden on the control system designer to be an expert in issues which lie outside the domain of control, by minimizing the attention needing to be paid to extraneous details. An analogy is general purpose computing, where a com- putational platform is easily usable by multiple users with different applications. Another analogy is general purpose networking where computers can be easily in- Fig. 1. Networked control system: Software component architecture terconnected to communicate with each other regardless of the envisaged application. These objectives require the identification of well de- terface between hardware and software is what today signed abstractions, the design of a matching architecture, allows hardware and software designers to develop their and the development of a supporting middleware. It is products separately, resulting in the proliferation of se- also important to provide services that render design rial computation. In contrast, parallel computation lacks easy and quick, as well as design principles that enhance such a “von Neumann bridge” [12], which, arguably, has reliability. This paper can be regarded as focusing on the stifled its proliferation. “mechanism“” half of the mechanism-policy divide. The The development of appropriate abstractions and development of a holistic and systematic theory, that has matching architecture has been fundamental to the pro- been the grand project of control systems research since liferation of other successful technologies too. The reason the 1950s, can be regarded as the other “policy” half of for the success of networked communication is, arguably, the mechanism-policy divide. fundamentally its architecture, and, only secondarily, the An analogy with the developments leading to mod- algorithms involved, though of course they too are very ern computation and computer science is appropriate. important. In the Open Systems Interconnection (OSI) The work of Alonzo Church and Alan Turing laid the architecture [13], each layer provides a service to the theoretical foundations of sequential computing. They layer above it, and in turn can be oblivious to the details independently developed formal systems to define and of layers beneath it. These capabilities make networks model the notion of computable functions [9]. However, robust and evolvable, and give longevity to the basic de- it was John von Neumann’s subsequent ideas about sign. For example, over the course of the years, different organizing these concepts into an architecture that is versions of the transport layer protocol, TCP, have been the basis of today’s sequential computers. It led to the proposed and deployed, without necessitating a change practical realization of the theoretical ideas. In particular, in other layers. The overall design allows heterogeneous the stored program concept [10] was a significant break- systems to be composed in a plug and play fashion, through. It has led to the development of simple and uni- making them amenable to massive proliferation, and has form mechanisms to write, test, and maintain complex resulted in the Internet. The massive proliferation has programs today. The von Neumann architecture had a led to reduced cost per unit over the long run, and wide influence on the first generation of digital computer resulted in minimizing deployment costs for new net- engineers in the 1950s. Till the mid 1960s, commercial works, further stimulating proliferation. A similar role computers produced by IBM, Burroughs, UNIVAC, and has been played in digital communication by Shannon’s others, were still custom built machines. However, the source/channel separation, one of the rare architectural IBM 360, first shipped in June 1966, changed all that. It principles resulting from mathematical theory. Source was the first commercially successful general purpose coding

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us