Man-Machine Interfaces and Implementational Issues in Computer-Aided Control System Design

Abstract

This thesis deals with different issues of Computer-Aided Control System Design (CACSD) software from control engineering and computer engineering viewpoints. Emphasis is given to the design of user interfaces to interactive CACSD packages, to the control-oriented data structures to be supported by such packages, and to the software engineering problems of implementing large CACSD packages.

The design of a good user interface to CACSD packages is of utmost importance for user acceptance of the package and for the applicability of the software to off-the-shelf problems. Different approaches to the design of user interfaces are discussed, and a complete, algorithmically extendable, command driven, interface is presented. This interface has been implemented in the IMPACT package as an integral part of the research project presented here, and numerous examples from IMPACT illustrate different CACSD aspects throughout the thesis.

An obvious requirement of any CACSD package is that the program must be able to represent, manipulate and properly display the numerical, symbolic or logical entities which are needed during the control design cycle. However, this basic requirement was hitherto not necessarily fulfilled even in commercially successful CACSD packages. Therefore, this topic is discussed in detail, with special emphasis on assembling an adequate and yet perspicuous set of data structures. An unambiguous scheme for overloading mathematical operators, and thus to enhance the expression power of the command language manipulating on these data structures, is presented.

Despite recent and not-so-recent advances in the theory of structured programming and software engineering, there is a longstanding "tradition" to implement all scientific programs in Fortran. This was hitherto partially due to a lack of viable alternatives. Hence the aptitude of the Ada programming language as an alternative for implementing large interactive programs in general, and CACSD packages in particular, is investigated. Several implementational schemes for error handling, data management, command language interpreter, overall package design et cetera are presented to validate the suitability of Ada for this task.

CACSD is a multifaceted field, and, therefore this thesis involves issues from a large number of fields including control theory, software engineering, computer graphics and formal language theory. Since most readers will be specialists in only some of these areas, the background needed for understanding each section is to a certain extent provided, and ample references to relevant literature are also given. However, a working knowledge of basic control theory and some structured programming language is assumed.


Interested in reading the entire thesis? (241 pages, 38,854,656 bytes, pdf)


Homepage


Last modified: June 29, 2010 -- © François Cellier