ETH Library
Man-machine interfaces and implementational issues in
computer-aided control system design
Doctoral Thesis Author(s):
Rimvall, Carl Magnus Publication date:
1986
Permanent link:
https://doi.org/10.3929/ethz-a-000412495 Rights / license:
In Copyright - Non-Commercial Use Permitted
This page was generated automatically upon download from the ETH Zurich Research Collection.
For more information, please consult the Terms of use.
Diss. ETH No 8200
MAN-MACHINE INTERFACES AND IMPLEMENTATIONAL ISSUES IN
COMPUTER-AIDED
CONTROL SYSTEM DESIGN
A DISSERTATION
submitted to the
SWISS FEDERAL INSTITUTE of
TECHNOLOGY ZURICH
for the
degree
ofDoctor of Technical Sciences
presented by
CARL MAGNUS RIMVALL
Civilingenjor LTH, Lund,
Swedenborn
February 24,
1957 Swedish citizenaccepted
on the recommendation of Prof. Dr. M.Mansour,
refereeProf. Dr. F.E.
Cellier,
co-refereeZurich 1986
Summary
This thesis deals with different issues of
Computer-Aided
Control
System Design (CACSD)
software from a controlengineering
andcomputer engineering viewpoint. Emphasis
isgiven
to thedesign
ofuser interfaces to interactive CACSDpack¬
ages, to the control-oriented data structures to be
supported by
such
packages,
and to the softwareengineering problems
of im¬plementing large
CACSDpackages.
The
design
of agood
user interface to CACSDpackages
is ofutmost
importance
for useracceptance
of thepackage
and forthe
applicability
of the software to of-the-shelfproblems.
Dif¬ferent
approaches
to thedesign
of user interfaces are discussedand a
complete, algorithmically extendable,
commanddriven,
interface is
presented.
This interface has beenimplemented
inthe IMPACT
package
as anintegral part
of the researchproject presented
here and numerousexamples
from IMPACT illustratedifferent CACSD
aspects throughout
the thesis.An obvious
requirement
of any CACSDpackage
is that theprogram must be able to
represent, manipulate
andproperly
dis¬play
thenumerical, symbolic
orlogical
entities which are neededduring
the controldesign cycle. However,
this basicrequirement
was hitherto not
necessarily
fulfilled even incommercially
suc¬cessful CACSD
packages. Therefore,
thistopic
is discussed indetail,
withspecial emphasis
onassembling
anadequate
andyet perspicuous
set of data structures. Anunambiguous
schemefor
overloading
mathematicaloperators,
and thus to enhance theexpression
power of the commandlanguage manipulating
on these data
structures,
ispresented.
Despite
recent and not-so-recent advances in thetheory
ofstructured
programming
and softwareengineering,
there is alongstanding
"tradition" toimplement
all scientific programs inxi
FORTRAN. This was hitherto
partially
due to a lackof
viablealternatives.
Hence,
theaptitude
of the Adaprogramming
lan¬guage as an alternative for
implementing large
interactive pro¬grams in
general,
and CACSDpackages
inparticular,
is inves¬tigated.
Severalimplementational
schemes for errorhandling,
data
management,
commandlanguage interpreter,
overallpack¬
age
design
et cetera arepresented
to validate thesuitability
ofAda for this task.
CACSD is a multifaceted field and therefore this thesis in¬
volves issues from a
large
number of fieldsincluding
controltheory,
softwareengineering, computer graphics
and formal lan¬guage
theory.
Since most readers will bespecialists
inonly
someof these areas, the
background
needed forunderstanding
eachsection is to a certain extent
provided
andample
references torelative literature is also
given. However,
aworking knowledge
of basic control
theory
and some structuredprogramming
lan¬guage is assumed.
Zusammenfassung
Diese Dissertation behandelt verschiedene
Aspekte
des CACSD(Computer-Aided
ControlSystem Design
oder Rechner-unterstiitzter
Regelungsentwurf)
sowohl aus der Sicht derRege- lungstechnik
als auch von der Seite der Informatik und des Soft¬ware
Engineering.
DieSchwerpunkte
der Dissertationliegen
im Entwurf von flexiblen Beniitzerschnittstellen zu interaktiven
CACSD-Programmen,
in derErstellung
einerGruppe
derRege- lungstechnik angepassten Datenstrukturen,
und bei der Proble- matik desSoftware-Engineering
in derImplementation
grosserer CACSD-Pakete.Fur einen
erfolgreichen
Einsatz eines CACSD Paketes bei seinem Beniitzer ist dieUnterstutzung
einer an die Bediirfnisse derRegelungstechniker angepassten
Beniitzerschnittstelle vonausserordentlicher
Bedeutung.
Insbesondere muss diese Beniit¬zerschnittstelle erweiterbar
sein,
so dass das Paket uber die Be-handlung
vonStandardprobleme
hinaus einsetzbar bleibt. In dervorliegenden
Arbeit werden verschiedenste Ansatze zum Ent¬wurf solcher Beniitzerschnittstellen diskutiert und eine vollstan-
dige, algorithmisch erweiterbare, kommandosprachgesteuerte
Be¬niitzerschnittstelle
vorgestellt.
Diese Schnittstelle wurde im Rah-men dieser
Forschungsarbeit
auch im CACSD-Paket IMPACTimplementiert.
ZurVeranschaulichung
des Stoffes werden samt- liche Teile der Dissertation durchBeispiele
von IMPACT illu- striert.Eine selbstverstandliche
Anforderung
an alle CACSD-Paketeist,
dass sie dienumerischen, symbolischen und/oder logischen Daten,
die der Beniitzer wahrend der Entwurfsarbeitbraucht,
auch
abspeichern,
verarbeiten undgeeignet
darstellen konnen.Leider ist diese
Grundanforderung
nicht einmal in den heuti- gen kommerziellerfolgreichsten
Paketen erfullt. In dieser Arbeitxiii
wird deshalb die Problematik der
Unterstutzung
hinreichender aber immer noch iiberschaubarer Datenstrukturenvorgestellt
und diskutiert. Eine
kompakte,
"uberladene"(overloaded)
aberimmer noch
eindeutige algorithmische Notation,
mit der dieAusdriickbarkeit der
Eingabe gesteigert
werdenkann,
wird vor¬gestellt.
Trotz alien wohlbekannten Theorien des strukturierten Pro-
grammierens
und desSoftware-Engineering, gibt
es nurwenige
Ausnahmen zur
allgemeinen Tradition,
alle wissenschaftlichenProgramme
in FORTRAN zuimplementieren.
Dies warbisher,
mindestens
teilweise,
aufmangelnde
Alternativen zuriickzufuh-ren. In dieser Arbeit werden die
Einsatzmoglichkeiten
der Pro-grammiersprache
Ada fur dieImplementation
grossererinterak- tiverProgramme
imallgemeinen,
und CACSD im besonderenbehandelt. Mehrere
Implementationsbeispiele
auf den Gebi-eten der
Fehlerbehandlung,
derDatenverwaltung,
des Komman-dosprachinterpreters,
desglobalen
Software-Entwurfsetc.,
wer¬den
vorgestellt,
um dievielseitigen Einsatzmoglichkeiten
vonAda in CACSD zu illustrieren.
Wegen
dervielschichtigen
Probleme auf dem Gebiet derCACSD werden in dieser Dissertation Themen von einem sehr breiten
Spektrum
derIngenieurwissenschaften behandelt,
ins-besondere aber Themen der
Regelungstechnik,
des Software-Engineering,
der formalenSprachtheorie,
derRechnergraphik
wie auch andere
Aspekte
der Informatik. Da die meisten Leser dieser Arbeit nur in einem paar dieser Gebietespezialisiert sind,
wird in
jedem
Abschnitt eine einfuhrende Uebersichtgegeben,
mit ausreichenden Hinweisen auf weitere Literaturstellen. Es werden
jedoch einige
Basiskenntnisse derRegelungstechnik
unddes strukturierten