June 14, 2009
June 14, 2009
June 17, 2009
Software Engineering Constituent Committee
14.1152.1 - 14.1152.15
Teaching Software Development for Modern Real-Time Data Acquisition and Control
Abstract Modern data acquisition and control systems, in the most demanding real-time applications, such as sensor networks, flight control systems, accelerator control, road vehicle control, and others, are all distributed and for proper operation require very different programming techniques than traditional systems. Typical software engineering curricula rarely include respective methodologies of software development for such systems. If they do, their courses mostly concentrate on the specification and design of software for distributed systems, but stop short of including thorough treatment of implementation and testing issues.
The current work builds upon previous experiences of the authors and involves projects in teaching software development for distributed real-time data acquisition and control systems, with focus on implementation and testing. In particular, a process of organizing and using a web-based HTTP server for educational purposes in remote testing and operation of software based on VxWorks and Windows CE platforms is described. The concept has been adopted from work done at the Fermi National Accelerator Lab.
Introduction Typical software engineering curricula rarely include methodologies of software development for the most demanding real-time applications, such as sensor networks, flight control systems, accelerator control, road vehicle control, and others, which are all distributed and for proper operation require very different programming techniques than traditional systems. If there are curricula that do this, their respective courses mostly concentrate on the specification and design of software for distributed embedded real-time systems, but stop short of including thorough treatment of implementation and testing issues1). The major reason for this seems to be primarily the difficulties with acquiring, operating and maintaining appropriate hardware and system software, which normally require knowledge of a device architecture combined with low-level programming techniques and significant attention paid to technical support, which is rarely available in typical programs at the college level.
In an effort to provide students with such knowledge, several universities are using equipment donations to offer courses supporting the missing component. In many cases the only college level education on embedded real-time systems can be obtained from electrical engineering or hardware-focused computer engineering programs. The students and faculty have good grasp of the designed system hardware but too often the software component of the system is of marginal quality. The faculty and students do not have enough background and experience to produce quality software. The truth is, however, that the software is responsible for most of
Zalewski, J., & Kornecki, A., & Nogiec, J. (2009, June), Teaching Software Development For Modern Real Time Data Acquisition And Control Paper presented at 2009 Annual Conference & Exposition, Austin, Texas. 10.18260/1-2--5812
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2009 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015