Sunteți pe pagina 1din 69

SEMINAR REPORT

ON

CYBERNETICS
BY
BHAGYASHREE SHEJWAL

T.E.COMPUTER, DIV::A

(ROLL NO.: 3356)

2008-2009

GUIDE

(Mrs. Sunita Jahirabadkar)

CUMMINS COLLEGE OF ENGINEERING FOR WOMEN


KARVENAGAR, PUNE-400152
This is to certify that

Miss. BHAGYASHREE MARUTI SHEJWL

Has completed necessary seminar work & prepared the bonafied report on

CYBERNETICS

In satisfactory manner as the partial fulfillment for the requirement of the


degree of

T.E. (Computer)

Of

University of Pune, in the academic year 2008-2009

Date :

Place : CCOEW

Prof. Prof
Internal Guide. H.O.D.
Mrs. Jahirabadkar Mr.Muchrikar Sir

Dr.
Principal, Cummins College of Engineering.
ACKNOWLEDGEMENT

It gives me immense pleasure to present my seminar on CYBERNETICS. The


able guidance of my teaching staff department made this study possible. They have been
a constant source of encouragement throughout the completion of this seminar.

I would sincerely like to thank Mrs. Sunita Jahirabadkar madam for her help &
support during the making of this seminar report. This report would not have been
successful without the immense guidance from my guide & the valuable time that she has
spent with me during my report development stages.

I would also like to thank Mr. Muchrikar Sir and Mrs. Tikhe madam, for their
immense encouragement and his valuable time while deciding the scope for my seminar.

BHAGYASHREE SHEJWAL

T.E. Computer ‘A’


Roll No.: 3356
CCOEW, Pune.
ABSTRACT

As first defined by Norbert Wiener Cybernetic is the Control and communication


in the animal and the machine. The principles of cybernetics have been applied in many
fields. The errands of cybernetics application are including the extending of application
domain, subdividing the problem, and building of reliability features, dealing of parallel
and concurrent computation, handling of error states, and creating of precision
requirements. This paper gives the small overview of cybernetics. It also gives brief
information about software cybernetics. In particular, we try to formulate the goal-
oriented requirements analysis process as a feedback control system, in which a classical
“divide and conquer” design philosophy is turned into a continuous augmentation
process to existing design towards an optimal one.

Software cybernetics is an emerging area that explores the interplay between


software and control. The controlled Markov chain (CMC) approach to software testing
supports the idea of software cybernetics by treating software testing as a control
problem, where the software under test serves as a controlled object modeled by a
controlled Markov chain and the software testing strategy serves as the corresponding
controller. The software under test and the corresponding software testing strategy form
a closed-loop feedback control system. The theory of controlled Markov chains is used to
design and optimize the testing strategy in accordance with the testing/reliability goal
given explicitly and a priori.

Self adaptive software is becoming more and more important and topical. As a
new emerging discipline, self-adaptive software has strong background in control theory.
This paper also analyses the similarity between software self adaptation technologies
and control theory, and shows that self-adaptive software could be studied from software
cybernetic perspective.

Many research areas have already benefited from the use of the concepts from
software cybernetics although their relationship with software cybernetics has not yet
been explicitly determined. Some of these contributions are described next.
INDEX

1. Introduction……………………………………………………………… 1

1.1 Overview……………………………………………………………
1.2 Why Cybernetics……………………………………………………
1.3 Cybernetics & Steersman……………………………………………
1.4 Cybernetic Model……………………………………………………
1.5 History………………………………………………………………
1.6 Definition……………………………………………………………

2. Various areas of Cybernetics……………………………………………..

3. Principles of Cybernetics…………………………………………………..

3.1 Principles of Cybernetics……………………………………………


3.1.1 Homeostasis……………………………………………….
3.1.2 External Completion………………………………………
3.1.3 Requisite variety…………………………………………..
3.1.4 Feedback…………………………………………………..
3.1.5 Intentionality………………………………………………
3.2 Goal directed system………………………………………………...

4. Feedback – A core principal of Cybernetics………………………………

5. AI & Cybernetics……………………………………………………………

5.1 Introduction…………………………………………………………..
5.2 Difference between AI and Cybernetics……………………………..
5.3 Approach of Cybernetics to AI………………………………………

6. Software Cybernetics………………………………………………………

6.1 Need…………………………………………………………………
6.2 Concepts and Definition ……………………………………………
6.3 Current Software Engineering………………………………………
6.4 Software as a Control Problem………………………………………
6.5 CMC Approach………………………………………………………

7. Self Adaptive Software……………………………………………………...

8. Research Topics……………………………………………………………..

9. Future ………………………………………………………………………..
10. Conclusion……………………………………………………………………

11. FAQ’s…………………………………………………………………………

12. Bibliography………………………………………………………………….
List of Figures
FIG 1.3.2 Steersman giving direction to boat

FIG 2.1.1 ASIMO navigating stairs

FIG 2.4.1 Complex Adaptive System

FIG 2.7.1An artificial heart

FIG 3.2.1 A Simple Goal Directed System

FIG 4.1.1 A Vehicle System

FIG 4.1.2 A Simple Robot System

FIG 4.1.3 A Vehicle System

FIG 4 FIG 4.2.2 A Temperature Control System

FIG 4.2.2 A Temperature Control System

FIG 4.3.1 A Learning Process

FIG 4.4.1 Brain comprises of Neurons

FIG 4.3.2 A Vehicle System

FIG 4.4.2 Neurons-connected together in network

FIG 4.4.3 Brain System

FIG 4.5.1 A Virtual Reality System

FIG 4.5.2 Human Computer Interaction

FIG 4.6.1Environmental System

FIG 4.6.2 Daises grows on the planet as a result of change in the Environment.

FIG 5.4.1.Brain Simulation

FIG 6.2.1 (Closed loop /Feedback Control)

FIG 6.5.1 (Sample Problem Scenario in Software Engineering)


FIG 6.6.1: Software Testing as a Control Problem

FIG 7.5.1 (The Structure of PKUAS)


Chapter 1: Introduction

1. OVERVIEW
The term cybernetics stems from the Greek (steersman, governor, pilot, or rudder
- the same root as government). Cybernetics is a broad field of study, but the essential
goal of cybernetics is to understand and define the functions and processes of systems
that have goals, and that participate in circular, causal chains that move from action to
sensing to comparison with desired goal, and again to action. Studies in cybernetics
provide a means for examining the design and function of any system, including social
systems such as business management and organizational learning, including for the
purpose of making them more efficient and effective.

Chapter 1 gives the introduction of the concept. It tells us why the concept has
come into existence & the importance of the concept. It also gives the history behind the
concept. It also tries to define the term.

Chapter 2 deals with the various areas related to the topic of cybernetics.

Chapter 3 gives the principals of the cybernetic. It also gives one example of
simple cybernetic model.

Chapter 4 tells about the core principle of cybernetic i.e. Feedback. This chapter
tells the importance of feedback or how the feedback is used in the various systems.

As the concept is very confusing, many of the people think that it’s like AI only.
So Chapter 5 gives the relation of cybernetic and Artificial Intelligence.

Chapter 6 consider the area of cybernetics i.e. Software Cybernetics. It covers the
details of software cybernetics. Concept Control Markov Chain approach for the
Software Testing.

Chapter 7 explores the concept of Self Adaptive Software in prospect with the
cybernetics, which is emerging area in the cybernetics.

Chapter 8 gives various research topics of Software Cybernetics. Various


interesting research topics have covered in this chapter.

Chapter 9 tells the future of the area cybernetics.


2. Why Cybernetics
In the 1940s a group of academics from different disciplines held a series of
meetings, where they discussed their interests. It became apparent that, despite their
different subjects, they were interested in similar themes - particularly the use of control
and communication - in different systems.

To progress their work further they were 'hampered by the lack of unity of the
literature' for these themes and by the lack of a 'common terminology' - so they felt the
need to have a new subject for this work. On the basis that existing terminology was too
biased towards one of the existing subjects, they decide there was a need for a new name
for the subject - and they decided to call the field of 'control and communication theory',
whether in the machine or in the animal, by the name Cybernetics, derived from the
Greek Kubernetes or steersman.

As further justification for the name, the equivalent Latin word gives us the word
governor, meaning a person in control. An early automatic control system was a speed
governor for a steam engine. Also, Ampere used the work cybernetique in 1834 for his
science of government (people who think they are in control).

Norbert Wiener, an applied mathematician, published a book in 1948, called


Cybernetics - or control and communication in the animal and the machine. Other people
involved at the time included Arturo Rosenblueth, a physiologist; Warren McCulloch,
who with Walter Pitts produced the first model of a neuron (the basic processing element
of brains), Margaret Mead, Frank Fremont Smith the medical director of the Josiah Macy
Foundation, and John Von Neumann, a pioneer of Computer Science.

3. Cybernetics and the steersman

FIG 1.3.1Cybernetics & Steersman

Feedback can be very useful - particularly for control. Consider the case of the
steersman (FIG 1.3.1) (which gives the name Cybernetics) responsible for ensuring a boat
follows a given course despite the effects of winds and tides.

Without feedback, the steersman would perhaps point the boat towards the correct
destination and in effect keep his eyes closed and hope that the boat ends up at the right
place. However winds or tides would push the boat off course and the steersman would
not know - as he can't see. Inevitably the boat will not go where it should.
FIG 1.3.2 Steersman giving direction to boat

The solution is feedback (FIG 1.3.2). The course the boat is following is found
and that information is fedback to the steersman (achieved by the steersman looking to
see where he is going!). If the boat is off course the steersman takes the appropriate
action, turning the rudder left or right, to get back on course.

Effectively you see what your system (in this case the boat) is doing, and if it is
not doing the right thing (here the boat is off course), suitable corrective action is taken
(the rudder is turned left or right). It's a nice concept, easily extended to other systems.

4. Cybernetic Models

Cybernetic models are applied prescriptively in design and descriptively as


explanatory devices. Their prescriptive use savours of engineering. They are employed in
the specification of controllers and regulators for industrial plants, navigation, and so on.
The most interesting developments have occurred in the area of predictive, adaptive, and
optimizing controllers, usually able to deal with randomly perturbed environments. On
the other hand, cybernetic models are widely used in determining the proper
relationship between a man and a machine, for example, in the design of vehicle-
control systems. Another field of application is teaching and training. Here, training is
literally interpreted as the control of a human learning process and insofar as an adequate
model exists, the training instructor may be partially or wholly replaced by a suitable
machine. In operational research, cybernetic models are used to specify stockholding
schemes, process and assembly programming, and inventory control. They are also used
in a normative fashion; for example the management of a business enterprise is often
modeled as a game-like decision and control process.

Descriptive applications are legion. At a neuro physiological level, cybernetic


models have been used to explain many aspects of the working of a brain. Five areas are
of special importance: models for simplified neural networks, chiefly representing
perceptual processes; statistical models for the complex oscillations and regulations of
real neural activity; models relating algorithms or plans (cited earlier) to the conditioning
process; models for the mechanisms responsible for maintaining and directing attention;
and models for the detailed changes that occur at the synaptic junctions between neurons.

Outside the brain, cybernetic principles are widely used to elucidate the control of
bodily functions (autonomic processes, hormone-mediated regulatory systems, muscular
control, and so on).A surprisingly large amount of molecular biology and bio-chemistry
also rests upon models depicting the organization of enzyme systems and the hierarchical
control of enzyme synthesis. This type of explanation promises to have further utility in
relating genetically coded instructions to the cellular economy. Cybernetic models have
been used in embryology since the early 1950s, and some of the original schemes have
now been formulated in a detailed mathematical fashion.

Within psychology, it is possible to explain several classes of behaviour and


cognition in terms of hierarchies of control systems. The previously stated notions of
planning and learning are pertinent to this field. At a macroscopic level, cybernetic ideas
are applied to interpersonal interactions such as conversations, the communicative
behaviour of small groups, and the homeostatic processes maintaining the status quo in
social systems. Indeed, one of the first essays in this direction took place in the context of
social anthropology where cybernetic ideas are becoming of greater importance.
Somewhat similar developments have occurred in the animal domain; ethnologists use
cybernetics freely, especially in dealing with population density control systems and the
regulation of reproduction.
5. History
In the 1940s a group of academics from different disciplines held a series of
meetings, later called the Macy Conferences, where they discussed their interests. It
became apparent that, despite their different subjects, they were interested in similar
themes - particularly the use of control and communication - in different systems.

To progress their work further they were 'hampered by the lack of unity of the
literature' for these themes and by the lack of a 'common terminology' - so they felt the
need to have a new subject for this work. On the basis that existing terminology was too
biased towards one of the existing subjects, they decide there was a need for a new name
for the subject - and they decided to call the field of 'control and communication theory',
whether in the machine or in the animal, by the name Cybernetics, derived from the
Greek Kubernetes or ‘steersman’.

As further justification for the name, the equivalent Latin word gives us the word
governor, meaning a person in control. An early automatic control system was a speed
governor for a steam engine. Also, Ampere used the work cybernetique in 1834 for his
science of government (people who think they are in control).

Macy conferences were then devoted to, new cybernetics, and opened with two
presentations: the first by von Neumann on the new computing machines, followed by
neurobiologist Lorente de No on the electric properties of the nervous system. These
circuiting of analogies between behaviour of computers and the nervous system became
central to cybernetic imagination and its founding desire to define the essential "unity of
a set of problems" organized around "communication, control, and statistical mechanics,
whether in the machine or living tissue. In particular, the early cyberneticists are
convinced that research on computers and the organization of the human brain are one
and the same field, that is, "the subject embracing both the engineering and the neurology
aspect is essentially one."

Wiener defined cybernetics in 1948 as the study of "control and communication


of the animal and the machine". This definition captures the original ambition of
cybernetics to appear as a unified theory of behaviour of living organisms and machines,
viewed as systems governed by the same physical laws. The initial phase of cybernetics
involved disciplines more or less directly related to the study of those systems, like
communication and control engineering, biology, psychology, logic, and
neurophysiology. Very soon, a number of attempts were made to place the concept of
control at the focus of analysis also in other fields, such as economics, sociology, and
anthropology. The ambition of "classic" cybernetics thus seemed to involve also several
human sciences, as it developed in a highly interdisciplinary approach, aimed at seeking
common concepts and methods in rather different disciplines. In classic cybernetics this
ambition did not produce the desired results and new approaches had to be attempted in
order to achieve them, at least partially.
In the 1970s New cybernetics has emerged in multiple fields, first in biology.
Some biologists influenced by cybernetic concepts (Maturana and Varela, 1980); Varela,
1979; Atlan, 1979) realized that the cybernetic metaphors of the program upon which
molecular biology had been based rendered a conception of the autonomy of the living
being impossible. Consequently, these thinkers were led to invent a new cybernetics, one
more suited to the organization of mankind discovers in nature - organizations he has not
himself invented. The possibility that this new cybernetics could also account for social
forms of organization, remained an object of debate among theoreticians on self-
organization in the 1980s.

In political science in the 1980s unlike its predecessor, the new cybernetics
concerns itself with the interaction of autonomous political actors and subgroups and the
practical can reflexive consciousness of the subject who produce and reproduce the
structure of political community. A dominant consideration is that of recursiveness, or
self-reference of political action both with regards to the expression of political
consciousness and with the ways in which systems build upon themselves.

Geyer and van der Zouwen in 1978 discuss a number of characteristics of the
merging "new cybernetics". One characteristic of new cybernetics is that it views
information as construct and reconstructed by an individual interacting with the
environment. This provides an epistemological foundation of science, by viewing it as
observer-dependent. Another characteristic of the new cybernetics is its contribution
towards bridging the "micro-macro gap". That is, it link the individual with the society.
Geyer and van derZouten also noted that a transition form classical cybernetics to the
new cybernetics involves a transition form classical problems to new problems. These
shifts in the thinking involve, among others a change form emphasis on the system being
steered to the system doing the steering, and the factor which guide the steering
decisions. And new emphasis on communication between several systems which are
trying to steer each other.

Recent endeavors into the true focus of cybernetics, systems of control and
emergent behavior, by such related fields as Game Theory (the analysis of group
interaction), systems of feedback in evolution, and Metamaterials (the study of materials
with properties beyond the Newtonian properties of their constituent atoms), have led to a
revived interest in this increasingly relevant field.
6. Defining the term Cybernetics

There are many definitions of cybernetics and many individuals who have influenced the 
direction of cybernetics. Cybernetics treats not things but ways of behaving. It does not ask "what 
is this thing?" but "what does it do?" and "what can it do?" Because numerous systems in the 
living, social and technological world may be understood in this way, cybernetics cuts across 
many traditional disciplinary boundaries. The concepts which cyberneticians develop thus form a 
metadisciplinary language through which we may better understand and modify our world.

Cybernetics seeks to develop general theories of communication within complex systems. 
... The abstract and often formal mathematical nature of its aim ... makes cybernetics applicable 
to any empirical domain in which processes of communication and their numerous correlates 
occur. Applications of cybernetics are widespread, notably In the computer and information 
sciences, in the natural and social sciences, in politics, education and management."

"Cybernetic= the art of governing or the science of government"
­     A.M. Ampere

"The art of steersman ship"


­ W. Ross Ashby

"A branch of mathematics dealing with problems of control, recursiveness, and information" 
­     Gregory Bateson

“Cybernetics is concerned with scientific investigation of systemic processes of a highly varied 
nature, including such phenomena as regulation, information processing, information storage, 
adaptation, self­organization, self­reproduction, and strategic behavior. Within the general 
cybernetic approach, the following theoretical fields have developed: systems theory (system), 
communication theory, game theory, and decision theory."
­ BehaveNet

"So a great variety of systems in technology and in living nature follow the feedback scheme, and 
it is well­known that a new discipline, called Cybernetics, was introduced by Norbert Wiener to 
deal with these phenomena. The theory tries to show that mechanisms of a feedback nature are 
the base of teleological or purposeful behavior in man­made machines as well as in living 
organisms, and in social systems."
­ Ludwig von Bertalanffy

"The science of effective organization" 
­ Stafford Beer
"is also sometimes used as an umbrella term for a great variety of related disciplines: general 
systems theory, information theory, system dynamics, dynamic systems theory, including 
catastrophe theory, chaos theory, etc."
­ Bruce Buchanan

"the art of securing efficient operation"
­ L. Couffignal

"The single most important property of a cybernetic system is that it is controlled by the 
relationship between endogenous goals and the external environment." 
­ Peter Corning

"Cybernetics is a science of purposeful behavior. It helps us explain behavior as the continuous 
action of someone (or thing) inthe process, as we see it, of maintaining certain conditions near a 
goal state, or purpose." 
­ Jeff Dooley

"Cybernetics is the science of unseen processes which energize dynamic entities: man­made, 
natural, and spiritual. In a narrower technical view, cybernetics are what makes systems function."
­ Charles A. Fink

"Cybernetics studies organization, communication and control in complex systems by focusing on 
circular  (feedback) mechanisms Cybernetics, deriving from the Greek word for steersman 
(kybernetes), was first introduced by the mathematician Wiener, as the science of communication 
and control in the animal and the machine (to which we now might add: in society and in 
individual human beings). It grew out of Shannon's information theory, which was designed to 
optimize the transmission of information through communication channels, and the feedback 
concept used in engineering control systems. In its present incarnation of "second­order 
cybernetics", its emphasis is on how observers construct models of the systems with which they 
interact." 
­ Fusionanomaly.net
"Cybernetics could be thought of as a recently developed science, although to some extent it cuts 
across existing sciences. If we think of Physics, Chemistry, Biology, etc. as traditional sciences, 
then Cybernetics is a classification which cuts across them all. ...Cybernetics is formally defined 
as the science of control and communication in animals, men and machines. It extracts, from 
whatever context, that which is concerned with information processing and control. ... One major 
characteristic of Cybernetics is its preoccupation with the construction of models and here it 
overlaps operational research. Cybernetic models are usually distinguished by being hierarchical, 
adaptive and making permanent use of feedback loops. ... Cybernetics in some ways is like the 
science of organisation, with special emphasis on the dynamic nature of the system being 
organised."
­ F. H. George

"Cybernetics is essentially about circularity."
­ Ranulph Glanville
"Cybernetics, as we all know, can be described in many ways. My cybernetics is neither 
mathematical nor formalized. The way I would describe it today is this: Cybernetics is the art of 
creating equilibrium in a world of possibilities and constraints."
­ Ernst von Glasersfeld
"The theory of interconnectedness of possible dynamic self­regulated systems with their 
subsystems"
­ G. Klaus
"Cybernetics is the science of effective organization, of control and communication in animals and 
machines. It is the art of steersmanship, of regulation and stability. The concern here is with 
function, not construction, in providing regular and reproducible behaviour in the presence of 
disturbances. Here the emphasis is on families of solutions, ways of arranging matters that can 
apply to all forms of systems, whatever the material or design employed. ... This science concerns 
the effects of inputs on outputs, but in the sense that the output state is desired to be constant or 
predictable ­ we wish the system to maintain an equilibrium state. It is applicable mostly to 
complex systems and to coupled systems, and uses the concepts of feedback and 
transformations (mappings from input to output) to effect the desired invariance or stability in the 
result." 
­ Chris Lucas

"Originally the study of biological and artificial control systems, cybernetics has evolved into many 
disparate areas of study, with research in many disciplines, including computer science, social 
philosophy and epistemology. In general, cybernetics is concerned with discovering what 
mechanisms control systems, and in particular, how systems regulate themselves."
­ Lycos.com

"Cybernetics is simultaneously the most important science of the age and the least recognized 
and understood. It is neither robotics nor freezing dead people. It is not limited to computer 
applications and it has as much to say about human interactions as it does about machine 
intelligence. Today's cybernetics is at the root of major revolutions in biology, artificial intelligence, 
neural modeling, psychology, education, and mathematics. At last there is a unifying framework 
that suspends long­held differences between science and art, and between external reality and 
internal belief." 
­ Paul Pangaro

"Cybernetics is the study of systems which can be mapped using loops (or more complicated 
looping structures) in the network defining the flow of information. Systems of automatic control 
will of necessity use at least one loop of information flow providing feedback." 
­ Alan Scrivener
"Cybernetics is the study of man in relation to his particular job or machine with special reference 
to mental processes and control mechanisms."
­ Times of London
         ­ May 11, 1959 

“Cybernetics was an experimental epistemology concerned with the communication


within an observer and between the observer and his environment.”
- Warren McCulloch

‘‘Control and communication in the animal and the machine”


­ Norbert Wiener

"Cybernetics is a coverall word to describe the study of systems ­ of robots, computers, 
machines, and the people who use them."
­ University of Bradford

"The name was coined by Norbert Wiener in 1948 as a result of collaborations between Wiener, a 
mathematician, and colleagues from other disciplines: they noticed that they had similar interests, 
but where was no name to group together their interests. They chose cybernetics, subtitle control 
and communication in the animal and the machine, thus reflecting that both technological and 
biological systems have many common characteristics." 
­ University of Reading

"Cybernetics is the study of systems which can be mapped using loops (or more complicated 
looping structures) in the network defining the flow of information. Systems of automatic control 
will of necessity use at least one loop of information flow providing feedback." 
­ Alan Scrivener

"a science concerned with the study of systems of any nature which are capable of receiving, 
storing, and processing information so as to use it for control"
­ A.N. Kolmogorov

Chapter 2: Various Areas of Cybernetics


Cybernetics is an earlier but still-used generic term for many subject matters.
These subjects also extend into many others areas of science, but are united in their study
of control of systems.

The tendency to adopt a restricted interpretation for the term has been largely
reversed but, as a result of its existence for a number of years, much of the American
literature on cybernetics (in the general sense) appears in connection with the disciplines
to which it was applied, or under specialized headings. Among the most important of
these are: General Systems Theory, Bionics (q.v.; Biological Cybernetics, using the
organizational principles of living systems in the design of artifacts), the theory of "Self
Organizing" or evolutionary systems and "Artificial Intelligence." The last area includes
the study of computer programs that are guaranteed to solve problems (namely
algorithms) and "heuristic" programs that make "intelligent" (and often very economic)
shortcuts in problem solving but that are not necessarily guaranteed to work on all
occasions.

1. Pure Cybernetics

Pure cybernetics has an axiomatic and a philosophical aspect. The axiomatic


paradigm is to assume certain postulates about a system and to deduce the system
properties (such as reproduction, differentiation, learning) that are consequences of these
assumptions. The philosophical branch of the science is often concerned with theories;
for example, the theory of simplification (how the complex properties of a real system
can be reduced to manageable proportions without losing essential information) and the
theory of commands. But it is also concerned with the issue of relevance as well as with
the proper identification between different types of cybernetic model and real assemblies.

Pure cybernetics studies systems of control as a concept, attempting to discover


the basic principles underlying such things as

FIG 2.1.1 ASIMO navigating stairs

ASIMO uses sensors and intelligent algorithms to avoid obstacles and navigate stairs. See
FIG 2.1.1.

2. Medical cybernetics
Medical cybernetics investigates networks in human biology, medical decision
making and the information processing structures in the living organism.

3. Biology

Cybernetics in biology is the study of cybernetic systems present in biological


organisms, primarily focusing on how animals adapt to their environment, and how
information in the form of genes is passed from generation to generation. There is also a
secondary focus on cyborgs. Biological Cybernetics investigates communication and
control processes in living organisms and ecosystems. Bio-robotics is a term that loosely
covers the fields of cybernetics, bionics and even genetic engineering as a collective
study.

4. Complexity Science
Complexity Science attempts to analyze the nature of complex systems, and the
reasons behind their unusual properties.

FIG 2.4.1 Complex Adaptive System

Cybernetics becomes a way of modeling Complex Adaptive System. See FIG 2.4.1.

5. Computer Science
Computer science directly applies the concepts of cybernetics to the control of
devices and the analysis of information. The development of the computer and its
intrinsic discipline of mathematical logic has greatly increased the use of cybernetics
during the past fifty years because it was now possible to process large amounts of data,
better known as information processing.
6. Software Cybernetics
Software cybernetics is an emerging area that explores the interplay between
software and control. Software cybernetics treat software testing as a control problem,
where the software under test serves as a controlled object and the software testing
strategy serves as the corresponding controller.

7. Engineering

Cybernetics in engineering is used to analyze cascading failures and System


Accidents, in which the small errors and imperfections in a system can generate disasters.
Engineering cybernetics (or Technical cybernetics) deals with the question of control
engineering of mechatronic systems. It is used to control or regulate such a system; more
often the term control theory encompasses this field and is used instead. See the FIG
2.7.1 of Artificial Heart, which is the example of biomedical engineering object.

FIG 2.7.1An artificial heart

8. Organizational Cybernetics

Organizational Cybernetics (OC) studies organizational design, and the regulation


and self-regulation of organizations from a systems theory perspective that also takes the
social dimension into consideration. Researchers in economics, public administration and
political science focus on the changes in institutions, organisation and mechanisms of
social steering at various levels (sub-national, national, European, international) and in
different sectors (including the private, semi-private and public sectors; the latter sector is
emphasised).

9. Mathematics
Mathematical Cybernetics focuses on the factors of information, interaction of
parts in systems, and the structure of systems.
10. Psychology
The word cybernetics comes from a Greek term that means 'a helmsman who
steers his ship to port.' Psycho-Cybernetics is a term I coined which means, "Steering
your mind to a productive, useful goal .... so you can reach the greatest port in the world
... peace of mind. With it, you're somebody. Without it, you're nothing."
- Dr. Maxwell Maltz, author of 30 million copy best-seller Psycho-Cybernetics

11. Sociology
By examining group behavior through the lens of cybernetics, sociology seeks the
reasons for such spontaneous events as smart mobs and riots, as well as how communities
develop rules, such as etiquette, by consensus without formal discussion. Affect Control
Theory explains role behavior, emotions, and labeling theory in terms of homeostatic
maintenance of sentiments associated with cultural categories. These and other cybernetic
models in sociology are reviewed in a book edited by McClelland and Fararo.

12. Neuro Cybernetics

Neuro cybernetics is a science that covers the integration of machines, and much
to the organism of a living being. The intercommunication between the nervous system
and artificial appliances is a field on the verge of major breakthroughs...active research is
still very much ongoing to make neuro-cybernetics/bio-cybernetics a comprehensive and
fundamental science. Cyborg is the cybernetic object.
Chapter 3: Principles of Cybernetics

1. Principles of Cybernetics
In the next are introduced some generally known principles (laws) of cybernetics:
the principle of uncertainty, the principle of feedback, the principle of exterior
completion, the principle of requisite variety, the principle of reduction, the principle of
optimality, the principle of homeostasis.

1.1 The principle of homeostasis

It expresses the fact that the base goal of control is homeostasis. This principle
represents (with a certain analogy) the laws of conservation. Like in physics, these laws
are tightly connected with the optimality principles (the variation principles). The
homeostasis is the ability of system to preserve ultra stability, i.e. the conservation of
stability at the changing external conditions.
The” motion” of systems is secured by programmed part of control, and the
perturbation from nominal state is compensated by mechanism of feedback.
The problems of large-scale systems are not possible to realize only on the base of
feedback. In this connection is necessary to stress, that in cybernetics is known, that the
ideal control is open-loop control, which but isn’t possible wholly realize because of
impossibility to create ideal model of controlled system. That is way every cybernetics
system is from the viewpoint of control combined - there are exist also programmed part,
and feedback only corrects the deviations from the desired state.
The complex system stability is substantially dependent on the stability of
subsystems. But there is only the necessary, not sufficient condition. By influence of
interactions can be the global system consisting of stable subsystems unstable.
But there is another type of stability mechanism in complex system. There are so-
called discrete events which are arising on the background of natural system dynamics.
By influence of these events arise not only slow changes but the abrupt structural ones.
There are discontinuous, discrete, far from equilibrium, and emergent behaviours
(1982). The system stability depends on bifurcation of seemingly constant (control)
parameters. The bifurcations of parameters is manifesting in the abrupt, uncontrolled
chaotic, to a certain degree” catastrophic” situation. The number and character of these
events is given by tremendous combinatorial complexity which is given by number of
system elements (subsystems), as also their rich qualitative heterogeneity, which is
generated by individual particularity of subsystems.
1.2. The principle of external completion

This principle has been formulated by S. Beer (1960). In the accordance with
Gödel theorem of incompleteness there is no language of control completely adequate to
its mission. The introduced principle can be considered as a methodological base of
hierarchical control system. The using of this principle we can find in the optimal control
theory, where the criterion of optimality is the external completion of control problem.
This drawback is possible to removed if we put the black box into control systems; black
box is suitable model of cybernetic system if contains such an amount of information to
overcome its variety (the measure of its complexity). The black box is referring to the
decision procedures (these are expressed in the language of higher level which can’t be
formulated in the language of basic level), and in this way compensates its lacks.

1.3. The principle of requisite variety

This principle has been formulated by W. R. Ashby (1956). The principle is


connected with Shannon’s information theory, and expresses the fact, that the regulator
power can’t be bigger than the capacity of the transmitting channel. One of the most
important results of this principle is the assertion, that it is impossible to create the simple
control system for the effective control of the complex system. The control system
(”regulator”) must be as complex as the complex system to be controlled.
The important conclusion of this principle can be formulated in the so-called
principle of adequateness of object and its model (e.g. invariant control systems and
adaptive systems with reference model).

1.4. The principle of feedback

The feedback is one of the basic notions of cybernetics. From the philosophical
point of view the feedback is the concretisation of the most important type of casual
connection, the mutual activity, where the every process behaves as the cause and as the
conclusion too.

1.5. The principle of intentionality:


The notion of intentionality is usually understood as a immanent characteristic of
subject. The aim (goal) is created as a sure ideal picture to be attained. The expression of
this principle is the phenomenon of optimality. The cybernetics is often characterized
as a science of optimal control of the complicated systems. The problem of the
optimality but is not wholly scrutinized from the philosophical and methodological point
of view. The optimality is always connected with the chosen goal (criterion). From this
viewpoint the all what has been occurred is optimal. It is a certain analogy of Hegel
statement” what is real is rational, and what is rational is real”.
The indeed meaning the optimality obtain only with regard to the future events.
The real control process is not a single act but the permanent activity which necessitate
from the possibility to the reality. In this direction is very important the principle of
freedom of option which includes the definite sequence of decision processes: in the
given moment is necessary to control in such a manner in order to have possibility of
option in the next time moment too.

The control processes are characterized by integral criterion-the attainment of


control goal. The problematic of formulation of goals is the prerogative of a man. The
classics of cybernetics consider in universality the homeostasis as the goal of control. But
homeostasis is, so saying, the essence of the first order.

2. Goal Directed System

Cybernetics is primarily the science of constructing, manipulating, and applying


cybernetic models which represent the organization of physical entities (such as animals,
brains, societies, industrial plants, and machines) or symbolic entities (such as
information systems, languages, and cognitive processes).

A paradigmatic organization, and the building block from which most cybernetic
models are fabricated, is a "goal-directed system” or "control system". Refer to the
FIG 3.2.1. Such a system contains the following four - parts:

(1) Sensor (S): an abstractive process whereby the mediate state of the system's
environment is described in terms of salient attributes or properties.

(2) Goal (G): the specification of a particular state of the system called the goal.

(3) Error Detection (E): a method for determining the deviation, if any, between the goal
state and the intermediate state.

(4) Effectors (E'): a set of operations whereby the system can act upon and modify certain
features of the environment which are relevant to or correlated with the descriptive
properties.

These parts embody the following two rules:


(a)A rule asserting well-defined procedure for discovering, which of the possible actions
are likely to bring the immediate state nearer to the goal state, and

(b)A rule whereby, given an instruction "Achieve Goal", the system acts upon its
environment, guided by the deviation measure (or "difference signal") of the Error
Detector, so that the goal state is approximated (the deviation is minimized).

Generally, the system replies to this instruction: by a statement "G is achieved", or a


statement "So much effort has been expended in pursuit of G, but without success."

FIG 3.2.1 A Simple Goal Directed System

In the simplest cases, all parts of this specification are constant -with the possible
exception of the instruction cited in (b). If the instruction is also constant, the goal-
directed system is called a homeostat and continually seeks state (G). In general,
however, some or all aspects of the specification are variable. Such an elementary device
as a central heating controller forms to all of these requirements.

Here,

(1) Is identified - the thermometer of the thermostat that reads room temperature, (T).

(2) With the desired room temperature, T',

(3) Compares T- and T' and establishes which is the higher, and

(4) Is the furnace;


(a) Is the simple negative feedback rule: "turn on if room temperature, T, is less
than T', otherwise turn off", and

(b) An instruction provided manually or by a timing apparatus.

But these conditions are also satisfied by very complex industrial and vehicle
controllers and by natural systems at all levels of complexity. On a philosophical plane,
the formalization of systems entailing the circular flow of information has resolved many
of the dilemmas once engendered by teleology and purposiveness.

Nor is the goal-directed system necessarily tangible. A game (a business game or


any simulation in the sense of game theory; q.v.) is also of this type. Further, a goal-
directed system may be part of a computer program or a symbolic and problem-solving
process. Analogy completion is typical in this respect.

Given the symbolic objects, A, B, and C, the system seeks the goal (of completing
an analogy) by describing the relation of A to B and finding D (or modifying some
existing D') so that the statement "A is to B as C is to D" is satisfied.

Cybernetic models are structures of mathematically related goal-directed systems,


often combined with other elements such as logical operators and information storage
media. The systems may be combined by coupling their variables (usually to yield a
macro-system with properties in excess of those of its components). They can interact
competitively (their goals remaining unchanged) or cooperatively, in which case,
communication must take place in a suitable language to arrive at a compromise goal. A
system with goal G1, may also be sequentially connected to a system with goal G2 in the
sense that attainment of G1 delivers an instruction to achieve G2 (In this case, G1 and G2
are called sub goals of the goal of the conjoint system.) Finally, they can be organized
into a hierarchy, in which only the lowest-level systems act upon the environment or have
goals that refer to it directly. The higher-level systems sense lower-level properties and
organize the lower-level systems.

Hierarchical structures comprehend such processes as planning and learning. In


planning, a higher-level system Z is instructed to achieve an abstract goal, G. It forms a
plan insofar as it can recognize that G entails the sub goals G1, and G2 which are in the
repertoire of the available lower-level systems and insofar as it organizes them in
sequence to attain G. Learning can be viewed as the system-organizing response of Z to a
problem which remains insolvable until Z, has modified the characteristics of the lower-
level systems in its domain.
Chapter 4: Feedback a Core of Cybernetic

Feedback is a useful principle, which can be applied to a great variety of systems,


technological, involving animals and the environment. Feedback is a nice concept, easily
extended to many systems. Let us see how feedback is useful in various systems.

1. Vehicle and robot control

FIG 4.1.1 A Vehicle System

Feedback has been shown to be useful for allowing a steersman to keep his boat
on course - it can also be used, for instance, by a driver to keep a car on course. See the
FIG 4.1.1. It can easily be adapted to ensure a car or any other vehicle is traveling at the
right speed (particularly important when there is a speed camera!) despite hills or wind
which can affect the speed.

Here the speed of the vehicle is measured (you look at the speedometer) and that
information is fed back to the driver, who puts his foot on the accelerator to speed up, or
eases his foot off the accelerator or even puts his foot on the brake if the car is going too
fast.

You will note that the block diagram used to represent this system is very similar
to that used for the steersman.
FIG 4.1.2 A Simple Robot System

The concept can also be applied to a manipulator robot, whose gripper is to be


used, say, to pick up an object. Refer FIG 4.1.2. Here the current position of the gripper is
measured and this is fed back to the robot's controller. Refer FIG 4.1.3. If the gripper is
not in the right place, then the joints of the robot are moved, so that the gripper becomes
in the right place. This too can be represented by a similar block diagram.

FIG 4.1.3 A Vehicle System

In fact it is slightly more complicated, in that for the gripper to be in the right
place, each joint has to be at the right angle, an d that is achieved by having such a
feedback control system for each joint. But the concept is the same.

2. Temperature control
We have seen feedback for use in controlling the course followed by a boat, for
controlling the speed of a car, and for controlling the position of the end of a robot arm.
In each case the systems are represented by almost identical diagrams. The concept can
be extended easily for temperature control, both by machine and in humans and other
animals - reflecting Wiener's definition - control and communication in the animal and
the machine.

FIG 4.2.1 A Temperature Control System

First consider a system most have encountered in their house - a central heating
system, but extended to have air conditioning as well so as to be able to heat and cool.
Here the aim is to control the temperature of a room despite factors likely to change the
temperature - such a drafts and windows, the sun coming though the window, people or
PCs in the room heating it up, etc.
Again the output (room temperature) is measured, say by a thermostat, and that
information is feedback to the boiler / air conditioning system, which then either heats or
cools the room. Refer FIG 4.2.1

FIG 4.2.2 A Temperature Control System

The same concept applies to temperature control of the human body - despite
being in a sauna or the Antarctic , if you are well your body temperature is at around 37
degrees - how is that maintained? Again there are actions to heat or cool, as appropriate,
and a similar diagram can be used.

Your body senses and feeds back the current temperature - and acts accordingly. If
you are too hot, you sweat (or perspire) to cool. If you are too cold you shiver to warm
up. If you are still too cold, you turn up the central heating.

3. Learning
As we have seen, feedback can be used to control systems, by measuring the
output, feeding it back, and producing suitable corrective action if needed. It all sounds
simple, but much effort is needed to achieve good control - we have a three year degree
Cybernetics & Control Engineering concentrating on this.

If a system is complicated, particularly if (as often happens) it changes as it


operates, a more sophisticated control mechanism is needed, one which adapts to changes
in the system - the system must be able to learn.

FIG 4.3.1 A Learning Process

Learning is a feedback process. As shown in the FIG 4.3.1. As typified by the


statement 'you learn by your mistakes'. You do something, assess how well it was done,
and on that basis you refine and next time you do it differently (hopefully better). Again
the usual block diagram can be adapted here.
As a test bed for research into how systems learn, we have used our simple mobile
robots. See FIG 4.3.2. These can move around and perceive their environment through
simple sensors. Students program the 'rules' to allow the robots to move around either
avoiding obstacles, or follow objects - an interesting problem solving experiment.

FIG 4.3.2 A Vehicle System

Then we considered how such a device could learn those same rules. This is done
by the robot using trial and error. They try an action, see if it was successful. If so, then
that action is more likely to be used in that situation. If not the action is less likely to be
used.

4. Neural networks

FIG 4.4.1 Brain comprises of Neurons

We have seen a need for systems to learn (a process which involves feedback) -
but how can this be implemented? Can we in fact produce systems that are 'intelligent'?
We could use a computer, suitably programmed - which in effect has one (or a few)
'processing' elements. However, even modern computers are not that advanced - perhaps
it would be better to develop systems more like the most powerful learning systems -
brains.
A brain comprises simple processing elements, called neurons. See FIG 4.4.1.
Those act rather slowly. Typically brain does 1000 operations a second, whereas a
computer does many millions. However, the brain has billions of neurons - connected
together in a network, as shown in FIG 4.4.2. The net result of which is much more
powerful than a normal computer.

FIG 4.4.2 Neurons-connected together in network

Thus we 'borrow' from nature and try to develop artificial neural networks ANNs -
being many neurons connected together. There are many ways of implementing these, but
one method is to have neurons which multiply each input by its 'weight' being a value
associated with the connecting link to the neuron, and the neuron output is the sum of all
such weights. The neuron output may well provide the input to other neurons.

FIG 4.4.3 Brain System

So that such a network can generate the 'right' results for any system, the correct
weights are needed, but finding them is non trivial. So a 'training set' of inputs and correct
answers is provided.

For each set, the inputs are passed to the network. The outputs are calculated, and
any error between this calculated outputs and the expected outputs are used to adjust the
weights. It is a feedback process, as shown in FIG 4.4.3.

5. Virtual Reality and Human Computer Interaction


Feedback we have seen for control and for learning. It is also used in the
interaction between humans and machines, such as computers: human-computer
interaction or HCI.
In fact, when you use a mouse to position the cursor you are using feedback - you
look at the cursor on the screen and move the mouse until the cursor is correctly placed -
or is it that the computer moves the cursor until you have put the mouse in the right
place?

FIG 4.5.1 A Virtual Reality System

This is very simple HCI - more sophisticated HCI is Virtual Reality. See FIG
4.5.1. Here a computer generates the necessary information so that the human can seem
as if he or she is in an artificial world - i.e. the computer generates what the world looks
like, perhaps sounds like, smells like and feels like (for which haptics is needed - a
speciality at Reading).

But, were the human to turn his/her head, the world should look different - so the
computer has to generate a new image of the world.

FIG 4.5.2 Human Computer Interaction

This means that the system is a feedback process - with information generated by
the computer being communicated to the human, and information (e.g. position of head)
about the human being communicated to the computer. See FIG 4.5.2.

Note, there are related topics such as tele-operation, where the information passed to the
human is that of a real world. Also augmented reality where artificial information is
added to real world information: e.g. head-up displays for pilots.
6. Cybernetics and the environment
We have seen that feedback applies in technological systems and systems
involving animals - it also applies to the environment - a complex set of interacting
systems. There are interactions between different species, for instance, predator - prey
systems, but also so called mutualistic systems where two species help each other.

FIG 4.6.1Environmental System

In fact, the Earth itself comprises feedback loops. This is illustrated by the Gaia
hypothesis, postulated by James Lovelock, a former Visiting Professor to Cybernetics at
Reading. At its strongest, the Gaia hypothesis states that the Earth is a self regulating
cybernetic system, with feedback loops aimed at controlling temperature, the amount of
oxygen, salinity of the sea, etc. Refer FIG 4.6.2.

This it does as a result of feedback in which life and the planet work together to
their mutual advantage, producing conditions suitable for both Earth and the life on it.
This concept was at first dismissed by many biologists who believed that life adapted to
its environment. To demonstrate how life and the planet could interact, Lovelock
produced a simple model, Daisy world.

Daisy world is a grey planet orbiting a sun which is heating up (like our own). In
the soil are seeds of daisies which grow between 7 and 37 degrees, but grow best at 22
degrees. Initially the planet is too cold, but once it becomes warm enough, daisies grow
and keep the temperature constant for a long period at 22 degrees. This happens due to
feedback. Refer FIG 4.6.2.
FIG 4.6.2 Daises grows on the planet as a result of change in the Environment.

If the temperature is below the optimum, more black daisies grow, absorbing heat
and heating the surrounding area. If the temperature is above the optimum, white daisies
thrive which reflect heat away, thereby cooling the surrounding area.

Once again, a feedback system, with two opposite control actions, either heating
or cooling the planet.

Conclusion:
In these pages we have seen that feedback is a useful principle, which can be
applied to a great variety of systems, technological, involving animals and the
environment. It can also be applied to economic systems, but at Reading we don't pretend
we can control the economy!

Feedback is one example of such a principle - Cybernetics demonstrates that you


can take a concept developed in one application, and then use it in others. This is a very
important ability, and being able to do so is very useful, and makes Cyberneticists very
employable.

Cyberneticists also tend to take a 'systems approach': meaning they not only
appreciate the area in which they work, but they also know how their work fits in well
with the rest of the system - again a very employable skill.

These pages, of course, can only give a brief feel for the subject. In fact, they
concentrate on so called first order Cybernetics, involving basic feedback loops. There
also exists second order Cybernetics, in which systems have an observer which monitor
and also influence what is happening in the system ... there have also been suggestions of
the need for third order Cybernetics.
Chapter 5: Artificial Intelligence and Cybernetics

1. Introduction
The term "cybernetics" has been widely misunderstood, perhaps for two broad
reasons. First, its identity and boundary are difficult to grasp. The nature of its concepts
and the breadth of its applications, as described above, make it difficult for non-
practitioners to form a clear concept of cybernetics. This holds even for professionals of
all sorts, as cybernetics never became a popular discipline in its own right; rather, its
concepts and viewpoints seeped into many other disciplines, from sociology and
psychology to design methods and post-modern thought. Second, the advent of the prefix
"cyb" or "cyber" as a referent to either robots ("cyborgs") or the Internet ("cyberspace")
further diluted its meaning, to the point of serious confusion to everyone except the small
number of cybernetic experts.

However, the concepts and origins of cybernetics have become of greater interest
recently, especially since around the year 2000. Lack of success by AI to create intelligent
machines has increased curiosity toward alternative views of what a brain does [Ashby
1960] and alternative views of the biology of cognition [Maturana 1970]. There is
growing recognition of the value of a "science of subjectivity" that encompasses both
objective and subjective interactions, including conversation [Pask 1976]. Designers are
rediscovering the influence of cybernetics on the tradition of 20th-century design
methods, and the need for rigorous models of goals, interaction, and system limitations
for the successful development of complex products and services, such as those delivered
via today's software networks. And, as in any social cycle, students of history reach back
with minds more open than was possible at the inception of cybernetics, to reinterpret the
meaning and contribution of a previous era.
2. Artificial Intelligence and Cybernetics:

Artificial Intelligence and Cybernetics: Aren't they the same thing? Isn't one just about
computers and the other about robots? The answer to these questions is emphatically, No.

Artificial Intelligence Cybernetics


1. AI theories are more concerned with 1. A cybernetic normally focuses on a class
general-purpose techniques of problem of controlled objects. The feedback
solving. The underlying feedback mechanism from a controlled object to the
mechanism does not play a central role. corresponding controller plays a key role in
synthesizing

2. Organisms map external objects to 2. Organisms map through an environment


internal states. back onto themselves.

3. Nervous systems store the information. 3. Nervous system reproduces adaptive


relationships.

4. Truth exists in the world. 4. Social agreement is primary objectivity.

5. Intelligence resides in the manipulation 5. Intelligent resides in observed


of information. conversations.
The field of Artificial Intelligence (AI) came into being when concepts of
universal computation, the brain as computer, and digital computing were combined.
Fundamentally concerned with demonstration and application, AI moved inevitably to
assume the challenge of reproducing and/or explaining human mentation, problem
solving and language. It stands today as a major influence on the fields of biology,
cognitive and computation science, and epistemology.

The field of Cybernetics came into being when concepts of information, feedback
and control were generalized from specific applications to systems in general, including
systems of living organisms, systems of self-reference and systems of language.
Fundamentally an applied philosophy, cybernetics has taken on problems of subjectivity
in science while still addressing how to make intelligent artifacts. It stands today as a
major influence on biology, cognitive and computation science, and epistemology.

Artificial Intelligence (AI) takes for granted that knowledge is a commodity that
can be stored inside of a machine, and that the application of such stored knowledge to
the real world constitutes intelligence.

In contrast, cybernetics uses epistemology (the study of how we know what we


know) to understand the workings and limitations of the media and environments
(technological, biological, or social) within which we live, to develop useful descriptions
leading to effective management. Cybernetic descriptions of psychology, language, arts,
performance, or intelligence (to name a few) may be quite different from more
conventional, hard "scientific" views.

AI's "realist" perspective assumes and accepts the world-as-it-is. The cybernetic
perspective is "constructivist", and sees that the world of human civilization is created by
an intelligence acting in a social tradition.

Ironically but logically, AI and Cybernetics have each gone in and out of fashion
and influence. Cybernetics started a bit in advance of AI, but AI has dominated for the
last 25 years. Now recent difficulties in AI have led to renewed search for solutions that
mirror the past approaches of Cybernetics.

3. Approach of cybernetic to AI:

There is no established unifying theory or paradigm that guides AI research.


Researchers disagree about many issues. A few of the most long standing questions that
have remained unanswered are these: Can intelligence be reproduced using high-level
symbols, similar to words and ideas? Or does it require "sub-symbolic"
processing?Should artificial intelligence simulate natural intelligence, by studying human
psychology or animal neurobiology? Or is human biology as irrelevant to AI research as
bird biology is to aeronautical engineering? Can intelligent behavior be described using
simple, elegant principles (such as logic or optimization)? Or does artificial intelligence
necessarily require solving many unrelated problems?

AI is predicated on the presumption that knowledge is a commodity that can be


stored inside of a machine, and that the application of such stored knowledge to the real
world constitutes intelligence [Minsky 1968]. Only within such a "realist" view of the
world can, for example, semantic networks and rule-based expert systems appear to be a
route to intelligent machines. Cybernetics in contrast has evolved from a "constructivist"
view of the world [von Glasersfeld 1987] where objectivity derives from shared
agreement about meaning, and where information (or intelligence for that matter) is an
attribute of an interaction rather than a commodity stored in a computer [Winograd &
Flores 1986]. These differences are not merely semantic in character, but rather determine
fundamentally the source and direction of research performed from a cybernetic, versus
an AI, stance.

Winograd and Flores credit the influence of Humberto Maturana, a biologist who
recasts the concepts of "language" and "living system" with a cybernetic eye [Maturana
& Varela 1988], in shifting their opinions away from the AI perspective. They quote
Maturana: "Learning is not a process of accumulation of representations of the
environment; it is a continuous process of transformation of behavior through continuous
change in the capacity of the nervous system to synthesize it. Recall does not depend on
the indefinite retention of a structural invariant that represents an entity (an idea, image or
symbol), but on the functional ability of the system to create, when certain recurrent
demands are given, a behavior that satisfies the recurrent demands or that the observer
would class as a reenacting of a previous one." [Maturana 1980] Cybernetics has directly
affected software for intelligent training, knowledge representation, cognitive modeling,
computer-supported coöperative work, and neural modeling. Useful results have been
demonstrated in all these areas. Like AI, however, cybernetics has not produced
recognizable solutions to the machine intelligence problem, not at least for domains
considered complex in the metrics of symbolic processing. Many beguiling artifacts have
been produced with an appeal more familiar in an entertainment medium or to organic
life than a piece of software [Pask 1971]. Meantime, in a repetition of history in the
1950s, the influence of cybernetics is felt throughout the hard and soft sciences, as well
as in AI. This time however it is cybernetics' epistemological stance — that all human
knowing is constrained by our perceptions and our beliefs, and hence is subjective — that
is its contribution to these fields. We must continue to wait to see if cybernetics leads to
breakthroughs in the construction of intelligent artifacts of the complexity of a nervous
system, or a brain.
4. Cybernetics and brain simulation

FIG 5.4.1.Brain Simulation

The human brain provides inspiration for artificial intelligence researchers,


however there is no consensus on how closely it should be simulated.

In the 40s and 50s, a number of researchers explored the connection between
neurology, information theory, and cybernetics. Some of them built machines that used
electronic networks to exhibit rudimentary intelligence, such as W. Grey Walter's turtles
and the Johns Hopkins Beast. Many of these researchers gathered for meetings of the
Teleological Society at Princeton University and the Ratio Club in England.
Chapter 6: Software Cybernetics

1. Need of Software Cybernetics:

Certainly, the introduction and utilization of the notion of computability and the
advent of software technology constitute one of the great achievements of scientific
human history. Computing and software technologies significantly impact economical
development, the entertainment industry, and scientific activities everywhere. Indeed,
the current age of information depends critically on computing and software
technologies. This argument is further strengthened by the establishment of various inter-
disciplinary areas such as computing mathematics, computational fluid mechanics, and
computer simulation and by the new and growing internet-based areas of e-commerce
virtual laboratories and e-science. This essential importance of software technologies
raises a number of fundamental questions: What computable specifications or services
can software systems implement? What is the nature of software behavior How can
software behavior be formalized? How dependable are software systems. The emerging
inter disciplinary area of software cybernetics is motivated by the fundamental
question of whether or not and how software behavior can be controlled. Software
behavior includes the behavior of software development processes, software maintenance
processes, software evolution processes as well as that of software execution itself.

2. Software Cybernetics Concepts and Definitions:

The area of software cybernetics explores the interplay between software


processes and control. Nobert Wiener’s Cybernetics is concerned with control and
communication in the animal and the machine.

If we treat software as a part of the machine, then a simple interpretation of the


term “software cybernetics” that it is concerned with the control and communication in
software. However, there is potential for the principles and theories of software to play a
role in control, we should not stick to Wiener’s view of cybernetics and should better
interpret software cybernetics as the interplay between software and control.

Definition:
The field of science concerned with processes of communication and control in
software systems.

In general, software cybernetics addresses issues and questions on :


formalization and quantification of feedback mechanisms in software processes and
adaptation of control theory principles to software processes and systems;
application of the principles of software theories and engineering to control systems
and processes; and integration of the theories of software engineering and control
engineering. Here we adopt the following definitions.
Software: by software we mean the software development process, the software
maintenance process, the software evolution process and all related artifacts delivered
during such including the delivered software system.

Control: a finite or infinite sequence of actions that are taken and applied to the
controlled object to achieve a given a goal for the controlled object in a systematic and
repeatable manner.

Several components are identified.

-First, a single goal or a set of goals is given before a control is applied.


-Second, actions are selected from a finite or infinite set of actions.
-Third, a sequence of actions, rather than a single action, is taken; control is a dynamic
process and the dimension of time is involved.
-Four, the actions are taken in a systematic manner and thus there must be cooperation
between constraints on the taken actions; the overall effect of the taken actions is that the
given goal or set of goals is achieved.
-Finally, the sequence of actions is repeatable.

Thus the taken actions must be interpretable in the sense that the underlying
reason for taking the actions can be stated explicitly; the sequence of actions must be
derivable from known theoretical foundations to guarantee that the derivation or
synthesis of the control or controller is applicable to different controlled objects having
different goals and/or different constraints.

Control system: a system that comprises at least two components: controlled object
and controller. The controller delivers control signals or actions to the controlled object
which force the controlled object to achieve a desired goal.

Control of software: here software serves as the controlled object and control is
applied to the software. The actions taken may include the identification or estimation of
internal information and parameters of software or software processes for determining
whether or not the software functions properly or whether or not a software process will
achieve its intended objective so that a controller may transform the software or modify
appropriate parameters in a software process so that desired objectives are achieved on
schedule. The control process must be quantifiable and hence repeatable under similar
circumstances for similar controlled objects. CMC approach is one of such approach.

Open-loop control: control (the sequence of actions) is determined off-line without


feedback; the responses of the controlled object to the applied actions are not utilized for
determining subsequent actions taken on the controlled object.
Closed-loop control: By closed-loop control we mean that the behavior of the
controlled object is monitored and used in an on-line feedback control strategy to enforce
a desired objective, real time information is used to determine subsequent control actions.

Feedback control: By feedback control we mean closed-loop control. Refer to the


FIG 6.2.1

FIG 6.2.1 (Closed loop /Feedback Control)

Adaptive control: An advanced form of feedback control; during the process of


adaptive control, not only the actions to be taken are derived and updated on-line, but
also the controller is updated on-line on the basis of the responses of the controlled object
to actions taken already. So we are going to study Self Adaptive Software.

To motivate the area of software cybernetics, the question of why software needs
to be and can be kept under control or why control of software is necessary and feasible
needs to addressed. This can be analyzed from several different perspectives.

3. Current Software Engineering:

Conventional or existing software engineering is a discipline of applying sound


engineering principles to software development, maintenance and management. The
ultimate goal of software engineering is to deliver quality software products timely
in a cost-effective manner. Several feedback mechanisms and control activities can be
observed in software systems and software engineering processes. In a fault-tolerant
software system, the software execution process is continuously monitored to detect
possible faults; actions are then taken to mask the effects of the occurring faults if any in
order to minimize the occurrence of catastrophic software failures. This is a form of
feedback control. In the software development process, various verification and
validation activities such as inspection, review, testing and so on are taken to assess the
work of software developers. The results are fed back to the software developers for
improved performance, improved quality, etc. Feedback is ubiquitous in software
engineering processes. Indeed, without such control, software and software processes
would rarely achieve their specified goals.

3.1 Sample Problems

1. Control of the software test process:


How much and what additional effort is to be applied to achieve the
desired quality objective under time/cost constraints?

2. Optimal selection of tests:


What is an optimal set of tests for achieving the desired quality objective
given time constraints?

3. Software performance control:


How best to adjust software parameters so that an optimal level of
performance is maintained?

4. Control of the software development process:


What is an optimal set of process variables required to achieve delivery
objectives within cost/time constraints?

A major problem with current software engineering is that it is not sufficiently


quantitative. Many ad approaches and rules of thumb are extensively applied without
rigorous justification or explanation based on accepted basic principles. Consequently,
the success of complex software projects relies heavily on the experience of software
personnel. Although the current trends of formalization and componentization have
helped software engineering become more rigorous, the various feedback mechanisms
and controls have not been fully identified or utilized in a systematic manner. In order for
the software engineering process and system to be more quantitative, manageable and
repeatable, various feedback mechanisms should be formalized, quantified and
optimized. Therefore a feedback control theoretic context for software engineering would
seem to be a natural evolution of the current state of the art.

3.2 Approaches:

1. Use instinct and experience.


2. Use (1) supported by quantitative tools.
(a)Use simulation: “forward” approach.
(b)Use (a) plus feedback control: “inverse” approach -- Software cybernetic
approach

4. Software as Control Problem:

Although software is dramatically different from conventional controlled objects


such as aircraft, chemical processes and fluid flows, existing control theories and
principles can be applied. By treating the software test process as a controlled object
and the process manager as a controller, the management of software testing becomes a
feedback control problem. By treating the operating environment of the software under
development as a controlled object, and the software being developed to be a controller,
the synthesis of reactive software becomes a supervisory control problem.

In the management of the software test process, the control theoretical approach
can quantitatively forecast the test process trends and assist the manager in allocating
testing resources In comparison with random testing, adaptive testing as a form of
adaptive control uses less test cases to detect more software defects Hence, control
theoretic approaches would appear to be necessary for optimizing the process.

The emerging area of software cybernetics can also be justified from the
perspective of control science and engineering.

The field of control science and engineering is application driven and grew out of
various application requirements The Watt governor drove people to stabilize systems of
motion and general method for testing and enforcing stabilization. This eventually led to
the well known Routh-Hurwitz stability test among others. The popular PID
(proportional-integral derivative) controller originated from the way in which a
helmsman steered a ship. The power of the frequency response approach to the design
of feedback systems was demonstrated in the Second World War to meet military
requirements and objectives. For example, the anti-aircraft control problem led to the
work of Nobert Wiener on filtering and prediction Wiener further published his
celebrated book on cybernetics (or control and communication in animals and machines)
in 1948 The problem of launching, maneuvering, guidance, and tracking of missiles and
space vehicles was the major force that drove the establishment and proliferation of the
models and optimal control techniques, thereby establishing modem control theory. By
analogy, it is reasonable to say that the control of software will become fertile ground for
new advancements and techniques of control science and engineering.

However software is dramatically different from traditional objects. A


characteristic feature of software is that software may contain various defects which
can disrupt normal operations of software systems and lead to software failures in
unexpected ways. Another distinct feature is that concurrency of various processes
within a software system may dominate the behavior of the software system and make the
behavior unpredictable and non-repeatable even in a statistical sense. Then how does one
represent or model software processes? Conventional transfer functions and state-space
models may not be enough to represent software since they may be inappropriate to
characterize the behavior of software defects and concurrency. Also, the ultimate goal of
software engineering is to deliver quality software in a cost-effective and timely manner.
Consider the FIG 6.5.1.

Conventional control requirements such as stability, rise time and overshoot may
no longer be appropriate. Software is a new application field with new representation
models and new control requirements.

FIG 6.5.1 (Sample Problem Scenario in Software Engineering)

Besides the classical control theory and modem control theory which uses transfer
functions and state-space models to represent the controlled objects, the use of finite
state automata to represent discrete-event dynamic systems has lead to a new theory of
control, the so-called supervisory-control theory The interconnections models and the T-S
fuzzy models of controlled objects are other examples. We can expect that the new
representation models of software will improve existing and/or lead to new control
theories.

New control requirements often lead to new research topics or theories. We also
expect that the new control requirements of software may improve existing control
theories and/or lead to new control theories.

With the widespread application of control principles and theories to other fields
such as biology and computer networking it is a logical step to apply control principles
and theories to software processes. These new diverse applications will evolve the
existing control theory in new and probably unexpected ways.

The emerging area of software cybernetics will undergo a similar evolution due to
the challenges of controlling software processes. Modem aircraft adopt fly-by-wire flight
control systems implemented with embedded software components and systems.

In order to obtain satisfactory software control policies, system identification,


adaptive and classical control theory and software reliability theory must be merged
under the umbrella of software cybernetics.

5. CMC Approach to Software Testing:

Following the idea of software cybernetics, the controlled Markov chains (CMC)
approach to software testing treats software testing as a control problem. The software
under test serves as a controlled object, and the (optimal) testing strategy determined by
the theory of controlled Markov chains serves as a controller. The software under test and
the corresponding (optimal) testing strategy constitute a closed-loop feedback system,
and the software state transitions behave as a Markov chain.

The idea of software cybernetics was first proposed by the author in 1994 with an
attempt to apply cybernetic or control-theoretical approaches to solve software
engineering problem. The feasibility and benefits of the idea of software cybernetics are
justified when we treat software testing as a control problem and purpose a controlled
Makkov chains (CMC) approach, the software testing strategy serves as the
corresponding controlled object.

Conventional approaches to software testing, which are applied to the software


under test without an explicit optimization goal, the CMC approach designs an optimal
testing strategy to achieve an explicit optimization goal given a priori. Test cases are
selected or generated by the optimal testing strategy and thus constitute an optimal test
profile. An interesting but unsolved question is whether the optimal test profile makes up
a Markov chain, although the corresponding behavior of the Markov chain, although the
corresponding behavior of the software under the optimal testing strategy fits a Markov
chain.

Several theorists have proposed the idea of the Markov chain statistical test
(MCST), a method of conjoining Markov chains to form a 'Markov blanket', arranging
these chains in several recursive layers ('wafering') and producing more efficient test sets
samples as a replacement for exhaustive testing.
6.1. Software Testing as a Control Problem

In the process of software testing, test cases are selected in accordance with a
given testing strategy and applied to the software under test. Some test cases reveal
failures. The corresponding failure-causing defects are then removed and thus the
underlying software states undergo changes. Some test cases don’t reveal failures and no
state transitions happen to the software under test.

So uncertainty is associated with the behavior of the software under test. If we


treat the corresponding testing strategy as a control policy or controller, then we can treat
the software under test as an uncertain controlled object. Further, if an optimization
(testing) goal is given explicitly and a priori, then the test data selection becomes as an
optimal control problem. In an optimal control problem, a dynamical system (controlled
object) is given whose behavior not only follows its own ‘laws of motion’ (e.g., Markov
state transition laws), but may be influenced or regulated by a suitable choice of some of
the system’s variables, which are called control or action variables.

The controls that can be applied at any given time are chosen according to control
policies or laws that are derived from histories of the system and the given performance
index. The performance criterion measures or evaluates in some sense that system’s
response to the control policies being used. The control policies (or controller) and the
controlled system constitute a closed-loop feedback system as depicted in FIG 6.6.1.
Then the optimal control problem is to determine a control policy that optimizes (i.e.,
either minimizes or maximizes) the performance criterion.

Therefore in order to solve an optimal control problem, we need to identify three


components:
1. A model for the controlled object
2. A set of admissible control policies and
3. A performance index ( or objective function )

FIG 6.6.1: Software Testing as a Control Problem


Chapter 7: Self-adaptive Software
1. Concept:

With emerging areas such as web services, pervasive computing, and wireless sensor
networks and so on, new computing paradigms and application patterns have taken lots of
challenges in to software research. the increasing cost on maintenance and evolution, the
stricter robustness and flexibility requirements, the more unpredictable running
environments, the even larger gap between delivered software and runtime software, and
etc. All of these challenges call for a new approach for more flexible and adaptive
software model, which was recognized by DARPA Board Agency in December of 1997
as:

Self-Adaptive Software: “Self-adaptive software evaluates its own behavior and changes
behavior when the evaluation indicates that it is not accomplishing what the software is
intended to do, or when better functionality or performance is possible.”

…This implies that the software has multiple ways of accomplishing its purpose, and has
enough knowledge of its construction to make effective changes at runtime. Such
software should include functionality for evaluating its behavior and performance, as well
as the ability to replan and reconfigure its operations in order to improve its operation.
Self Adaptive Software should also include a set of components for each major function,
along with descriptions of the components, so that components of systems can be selected
and scheduled at runtime, in response to the evaluators. It also requires the ability to
impedance match input/output of sequenced components, and the ability to generate some
of this code from specifications. In addition, DARPA seek this new basis of adaptation to
be applied at runtime, as opposed to development/design time, or as a maintenance
activity.

This definition has strong background in control theory. It implies that the self
adaptive software should have a “sensor-evaluate-adjust” executing loop, just like the
feedback control. Furthermore, the adaptation model could have some adjustable
parameters and a mechanism to adjust them, which has adaptive controller as its
counterpart in adaptive control. M. Kokar et al. even treated control theory as the
mathematical foundation for analyzing and designing self-controlling or self-adaptive
software, and they proposed some control theory-based software models and a self-
controlling software model as well. Therefore, self-adaptive software has strong relation
with software cybernetics, the interplay between software engineering and control theory.

2. Writing Software that Executes “Closed Loop” 

Under this paradigm, we design and code an application as a control system. The
runtime software is treated like a factory, with inputs and outputs, and a monitoring and
control facility that manages the factory. Evaluation, measurement and control systems
are layered on top of the application, and manage reconfiguration of the system. This
regulated behavior is served by explicit models of the operation, purpose and structure of
the application. It is significantly more complex than standard control systems, since the
effects of small changes are highly variable, and because the filtering and diagnosis of
results before they can be treated as feedback or feed - forward mechanisms is also very
complex. Despite the difficulties of applying control theory to such highly non-linear
systems, there appears to be a very valuable set of insights to be exploited from control
theory, including for example the concept of stability.

3. Characteristics of Self adaptive Systems

• Self-knowledge - Detailed knowledge of constituent components, current status


etc.
• Self-configuration/re-configuration - Adjustments to a changing environment
• Self-optimizing - Monitor constituent parts and optimize accordingly
• Self-healing - The ability to recover from malfunction
• Self-protecting - Detect, identify and protect itself from attack
• Environmentally aware – know its environment, the context surrounding its
activity and act accordingly
• Co-operative – Interact with other systems in a heterogeneous world – open
standards
• Anticipatory – anticipate and transparently implement the resources required to
meet user goals

4. Cybernetic Perspective

A control system comprises at least two components: controlled object and


controller. The controller changes the controlled object’s behaviors by delivering control
signals (called control inputs) which force the controlled object to achieve a desired goal
(called set point).

There are three kinds of control:

Open-loop control: Open-loop control generates control inputs offline without feedback
from the controlled object.

Feedback (closed-loop) control: Feedback control has a fixed control strategy and
generates control inputs from both environment and controlled object’s feedback.
and
Adaptive control: Adaptive control is an advanced form of feedback control, which
not only adjusts the controlled object, but also updates the controller by changing its
adjustable parameters.

Table 1 compares the entities/ terms in software self adaptation technologies and
in control theory.

Control theory Software self-adaptation technologies

Controlled object Software entities to be adapted

Controller Adaptation infrastructure

Control inputs Adjusting operations to controlled


software entities
Set Point Desired properties of controlled software
entities

Open-loop control Traditional software system

Feedback control Self-adaptive software with a fixed control


law

Adaptive control Self-adaptive software with an adaptive


control law.

Table1. Terms of control theory & self-adaptation technologies

Software entities, such as parameters, statements, procedures (functions),


components, connections among components, the whole application systems, the entire
enterprise workflow, and etc., could be regarded as the controlled object in different
granularities.

To adjust these software entities for desired goals, we should utilize some
mechanisms to:
1) Sense the current states of these entities;
2) Evaluate the sensed data;
3) Generate adaptive strategies and map them into controlled entities’ properties;
4) Change the controlled entities.

These mechanisms are embedded in the adaptation infrastructure, which plays the
same role as controller in control system.
How to change a software entity depends on its different features, such as
granularity, adjustable points, adjusting contracts and mechanisms. Taken the whole
application for example, at the architectural granularity, the adjustable points can be as
follows: to add or remove components or connectors, to change the topology of the
architecture, to change the constraints (e.g. performance). The presentation of these
changes can be viewed as the control inputs, which follow a certain contract or protocol
and should be implemented in some mechanism.

The counterpart of set point in a software system also describes the desired
properties (e.g. usability, performance, throughput, response time) of the controlled
software entities. It can be presented in an accurate form (e.g. “The response time should
be less than 2 seconds”) or in a descriptive form (e.g. “The interface should be
customized to every user of the system”). And they may vary form the abstract levels of
the goal. For example, the time limitation of a whole process is more abstract than those
of each phases of the process.

Varying from the adaptability, software systems can be classified into three
categories: traditional predictable software system, self-adaptive software system whose
control law is fixed and the one whose control law is self adjustable. Traditional software
system, which reacts to the user inputs, passive calls, commands and etc., is mostly like
the open-loop control system. It does not concern or evaluate its output and current state,
but passively reacts to the changes of its outer environment. The second category is like
the feedback control, whose control law is determined by the designer and cannot be
changed during execution. The third one treats adaptive control as its counterpart in
control system. Its control law has some adjustable parameters and can be self-adjusted
depending on the effect of the past adapting process.

It should be pointed out that traditional software system does not belong to the
research areas of self-adaptive software. However, their changing mechanisms, including
polymorphism in object-oriented paradigm, algorithm selection, generic or parameterized
algorithms, online algorithms, conditional expression, form the implementation basis of
the current self-adaptive software.

5. The Adaptive Software-Supported Framework

The framework proposed in this section is based on the above comprehension of


three control models, the feature of software systems and the relationship between them.

5.1. Fundamental Considerations

Based on the cybernetic perspective, the self-adaptive software should contain


controlled object and controller, and provides mechanisms to define the desired goals and
to represent adjusting operations.

Choosing a proper adaptation granularity will ease the comprehension and the
implementation of the adaptation process. In our approach, we treat software component
as the basic adaptation entity. This is because that reusable components are often self-
contained and loose coupled to each other, so adjusting of one component may have no,
or little, influence on others in the same software system.

In a control system, it is usually not difficult to identify the causality and to


establish mathematical model between control inputs and controlled variables from the
structure of the system and physical principles. But software systems running in the
changing environment are much more complicated and dynamic. So the causality and
adaptation model cannot be easily recognized. Therefore, we believe that a well-formed
representation of the overall system is needed for system comprehension and adaptation
strategy generation. In our approach, we employ the runtime software architecture (RSA)
which can be viewed as a snapshot of the running software system plus a set of
controllable points, to model the structure and behavior of the system.

We should also consider the implementation alternatives of the adaptation


infrastructure: as an independent subsystem (like the classic controller in control systems)
or a common service provided by the underlying platform. The Agent Building and
Learning Environment is a typical example of independent subsystem. But we treat the
usability and programmability as the key features of software self-adaptation. So we
choose the second alternative.

We take J2EE (Java Platform, Enterprise Edition) application as the example


for self-adaptive software, and have implemented a prototype J2EE application server
providing adaptation service named PKUAS ("Peking University Application Server").

Java Platform, Enterprise Edition or Java EE is a widely used platform for server
programming in the Java programming language. The platform was known as Java 2
Platform, Enterprise Edition or J2EE until the name was changed to Java EE in version 5.
The current version is called Java EE 5. The previous version is called J2EE 1.4. Java EE
includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services,
XML, etc, and defines how to coordinate them. Java EE also features some specifications
unique to Java EE for components. These include Enterprise JavaBeans, servlets, portlets
(following the Java Portlet specification), JavaServer Pages and several web service
technologies. This allows developers to create enterprise applications that are portable
and scalable, and that integrate with legacy technologies.

Supported by the adaptation service, the J2EE application running on it who


wants to be adaptable, only needs to simply declare its intentions in a pre-defined format.
What’s more, we also provide a toolset named RSATool detailed, to generate the
descriptor automatically, by which the end-user can visually define the desired goal.

Shortly speaking, our approach chooses the software component as the adaptation
entity, uses RSA(Runtime Software Architecture) as the system representation and treats
the J2EE application server as the adaptation infrastructure.
5.2 The Role of PKUAS

PKUAS ("Peking University Application Server") is a J2EE application server


developed by the research group of PKU-Bell Labs Software Technologies Joint Lab.

The project began in 2001. Up to 2005, PKUAS had implemented J2EE 1.4 and
EJB 2.0 specifications. PKUAS group is now working on supporting J2EE 1.5 and EJB
3.0. As a research project, PKUAS provides a platform to experiment with innovative
ideas on new generation of software in the Internet environment. Besides the standard
services listed in the specifications, e.g. Communication, Naming, Transaction, Security,
etc., PKAUS has several distinguished features, including the on-line evolution of
components, a flexible and extensible interoperability framework, and a reflective
management framework. In order to support commercial applications, PKUAS also
provides some tools, including a deployment tool which supports the remote deployment
of components through a Web interface, and IDE plugins for Eclipse and JBuilder users.
PKUAS group is now working with ObjectWeb, a nonprofit international consortium
focusing on providing open source middleware.

As shown in FIG 5.4.2, the internal functionalities of PKUAS are componentized


into containers, common services and micro kernel. A container is the runtime space for
components (i.e. Enterprise JavaBean, EJB), managing their lifecycle and runtime
contexts. The container forms the environment and executes adaptation operations for
EJBs. Common Services include J2EE standard common services (e.g. naming,
communication, security and transaction) and PKUAS-specific customized services
including adaptation service and other domain specific services. They are implemented
with interceptor mechanism. Micro kernel provides a registry and invocation framework
for containers, common services and other management functions. More information of
the structure of PKUAS is discussed in.
FIG 7.5.1 (The Structure of PKUAS)

PKUAS provides the adaptation infrastructure. Each component (EJB) can be


replaced or changed through its online-evolution mechanism detailed in. As we know,
adaptation operations vary from applications, but they have something in common. So in
our approach, PKUAS provides some common adaptation operations such as selecting
from different component implementations, updating a component online, evaluating
current system’s status, adjusting some variables and etc.

5.3 Open-loop control metaphor

Traditional software is predictable, that means its behaviors are determined in the
development phase. The software runs as being defined and seldom cares about its
current status and behavior, as is similar to the open-loop control system where the
controller generates the control inputs only depending on the set point and its
environment.

In our approach, we treat the open-loop adaptation as the mechanism that the
developers can provide a set of alternative implementations for a single software
component, and define a control law to choose among them.

Suppose the application aims to deal with various kinds of communication


protocols, such as CORBA IIOP, Java RMI and SOAP. Besides, it is also expected for the
application to be adapted to new protocols which are not determined during development.
In the traditional way, the developer may employ the hard-wired conditional expressions
such as “IF-THEN-ELSE” to deal with different protocols, which is not comprehensive
and hard to add new protocols during the execution time.
Supported by the adaptation service, the developer only need to design an EJB (e.g.
GeneralProtocol) with a single interface and several implementations (such as IIOPImpl,
SOAPImpl, and RMIImpl), and write an adaptation-description.

When this application is deployed, the adaptation descriptor is parsed and an


adaptation interceptor will be inserted into the container for General Protocol. And while
execution, the container will invoke the before Invoke method of the interceptor and then
determine and load the appropriate implementation according to the protocol type.

If a new protocol is to be added, the manager can view the application’s RSA
through RSATool and

1) Sight-click the component figure representing GeneralProtocol;


2) Select the command “Add New Implementation” in the popup menu;
3) Choose the new protocol’s implementation; and
4) Set the new protocol’s invoking condition.

PKUAS then will add the new protocol’s implementation to the container and
change the adaptation-descriptor by adding a new line. into the appropriate tag via online-
evolution mechanism.

5.4 Feedback control metaphor

In a feedback control system, the controlled object receives input from the
controller and environment, acts based on the input and then producing output signals
which are received by the controller. In this model, the controller has a fixed control law,
which means the unchanged algorithm to transform the set point and controlled object’s
output into the control signals.

Self-adaptive software model following the feedback control metaphor often


introduces a QoS subsystem. Since software systems are usually more complex and
dynamic than the control system, the QoS subsystem is used to transform the controlled
entities’ complex behaviors into some accurate numerical values.

Take the resource allocation problem for example. In PKUAS, each container
acquired some specific amount of memory space for its contained EJB instance. In a
certain application, the usage frequency of each EJB is different. So the simple average
allocation strategy is not always sufficient; and we need introduce a strategy of allocating
memory space depending on the usage frequency of each EJB.

The QoS subsystem is used to calculate the percentage of each EJB’s usage. And
after a period of time, the adaptation service will adjust these EJBs’ memory space by
changing configurations of containers.
5.5 Adaptive control metaphor

Adaptive control distinguishes itself from the feedback control through its
adaptive controller with adjustable parameters and a mechanism for adjusting the
parameters.

Considering the software environment, we may find a practical way of designing


self-adaptive software by establishing a function that maps the affecting properties to the
desired goal and trying to make the function more accurate and reasonable. Many
experiences shows that it is applicable to make the function first-order, so the model of
our self-adaptation is comparatively simple. The developer of the application only need to
define the causality between causing parameters and effected parameters.

But where does the causality come from? The causality is always complex and
cannot be easily recognized. We leave the problem to the developers, who have the most
acquaintance with the application. With the help of RSA and through some architecture
evaluation methods, the developers may find the proper causality relationship between
the desired goals and affecting parameters.

6. Control Theory an Important to Self-Adaptive Software

Control theory is very important to self-adaptive software. It provides a rigorous


mathematical foundation and suggests some reasonable models for self-adaptive
software. On the other hand, self-adaptive software researches provide another
application example for control theory. And it is expected that this will further the control
models in control theory while considering the more dynamic and “softer” software
environment.
Chapter 8: Research Topics

Many research areas have already benefited from the use of the concepts from
software cybernetics although their relationship with software cybernetics has not yet
been explicitly determined. Some of these contributions are described next. However the
list below is not intended to be comprehensive and some works such as software process
modeling with system dynamics and proactive and autonomic computing are not
addressed here.

1. Contribution of Software Cybernetics:

1.1. Feedback Mechanisms in Software Processes

Suppose that multiple versions of a software product are released to the market
consecutively. Changes are made from one version to another to improve the underlying
software functionality and quality. This constitutes a software evolution process. Then,
two fundamental questions can be raised. Are there any invariant patterns in the software
processes? What role does feedback play in the various software evolution processes?

Lehman is one of the early researchers who paid attention to the role of feedback
in software evolution processes. He classifies software programs as S-programs, P-
programs, and E-programs , and proposes the so-called laws of software evolution On the
other hand, Basili proposed the concept of software experience factory Obviously,
software experience is a form of feedback information and the software experience
factory approach is actually feedback based.

The importance of the work of Lehman and Basili is that they initiated research
on feedback mechanisms in software processes. Feedback is ubiquitous in software
processes. On the one hand, feedback software processes to demonstrate some invariant
laws, and on the other, appropriate feedback leads to better reuse of software
experience and improves software processes. However we note that the work of Lehman
and Basili does not formalize, quantify or optimize the underlying feedback mechanisms.
The corresponding theoretical foundation is needed to interpret and improve the roles of
feedback mechanisms in software processes.

1.2. Bisimulation and Controllability

Controllability is a fundamental notion in modern control theory Roughly


speaking, a dynamic system is controllable if an arbitrary state of it can be moved into
another arbitrary state in a finite length of time, extends the notion of state controllability
to that of language controllability of finite state automata for discrete event systems with
uncontrollable events. A language of a discrete-event system is controllable if the prefix
closure is invariant under the occurrence of uncontrollable events. The controllability
condition tests if a controller can be synthesized and connected to a given controlled
object so that undesirable behavior is forbidden and desirable behavior is delivered. The
controlled object and the entire system comprising the controlled object and the controller
are, in some sense, equivalent with respect to controllability.

Bisimulation is a fundamental notion in concurrency theory and theoretical


computer science [ Concurrent behavior can be observed extensively in distributed
software and communication software. Bisimulation are partitions of the state space of
software or computing system that preserves observability and reachability properties.
Roughly speaking, bisimulation is a notion of property preserving abstraction for
reducing the complexity of finite state systems. Bisimulation identifies the equivalence
between a complex system and a simplifying one. Note that, as mentioned in the previous
paragraph, the controllability problem can be treated as an equivalence problem in some
sense. It is natural to ask if there are some inherent relationships between bisimulation
and controllability.

Barrett & Lafortune show that a language of a finite-state automaton is


controllable if and only if the finite-state automaton (without supervisor) and an
automaton corresponding to the language can form a bisimulation relation. Rutten
introduces the notion of controllability relation and shows that the conventional notion of
language controllability can be defined in terms of bisimulation or its variants in the
setting of coalgebra.

The importance of the research topic of bisimulation and controllability is due to


the fact that fundamental notions in two seemingly unrelated fields, computer/software
science and control theory, can be formulated under a unified framework, and the
theoretical tools in software science and engineering can be a powerful impetus for the
development of control theories and techniques. However this research topic is still in its
infancy and many questions remain open. For example, how can nonlinear systems and
stochastic systems be formulated in the setting of bisimulation? How can the bisimulation
relation of dynamic systems be identified and tested on-line?

1.3. Adaptive Software

The environments where software products are executing today have considerably
increased in complexity. The number of simultaneous users on distinct platforms with
different resource constraints and the dynamic interaction among all of these elements
constitute the basis for this complex environment. A question arises from this scenario:
”How can we design software to cope with such dynamic environments?”

Adaptive software systems address the solution for this problem by designing
software that adapts itself according to changes in the environment. One approach to the
design of adaptive systems has focused on resource allocation, such as an operating
system scheduling processes, (QoS) (Quality of Service) guarantee, and fault tolerance.

Two of the adaptive software approaches are of interest here due to the use of
control theory concepts: the SMART Framework and the QoS framework. Both
approaches are based on control theory and on automatic tuning of the controller.
SMART differs from the QoS framework by adjusting the system not based on resource
allocation but on swapping to a component that provides the same functionality but better
copes with the environment status. Also, SMART is a more generic approach by allowing
the specification of the system constraints and their relation to the alternative choices.

1.4. Software Synthesis

Statistics indicate that over half of software defects are related to the software
design phase. Different from conventional informal methods or formal methods of
software synthesis he control theoretical approach to software synthesis treats the
operating environment as a given controlled object and the software under synthesis
as the required controller. The applicability of this approach is extended to more forms
of non-functional requirements of state reachability and invariance in references. On the
other hand, Sridharan, Mathur & Cai show that the theory of supervisory control can well
be applied to synthesize the safety controllers for connected spaces which is a collection
of one or more devices, each described by its Digital Device Manual and reachable over a
network

1.5. Software Test Process Control

Under or overestimation of time and cost is common in the software test process.
In many companies the estimation depends only on the manager’s experience.
Furthermore, the evaluation of the progress of the test process is as inaccurate as the
initial estimation. Measurements such as reliability and coverage can help access the
progress of a test process. But in practice, just a small number of companies collect such
information. Even when progress can be accessed and a deviation from expected values is
detected, no techniques are used to determine the required changes in the process to
correct the observed deviation. Techniques such as System Dynamics [SO] and Software
Process Simulation provide an open loop solution for this problem by answering “What
if?” questions.

A new technique based on control theory has been developed to provide a closed
loop solution for the above problem. A set of assumptions and corresponding equations
are combined leading to a state space model. The availability of the model allows the
application of feedback control and once a deviation from the expected behavior is
detected, a set of alternative solutions is computed to correct for such deviation. The
model is also used to predict the behavior of the process. The prediction is based on a
calibration algorithm using data from the ongoing process. In any case, as stated above,
the model is used to compute the required changes in the process to fulfill the manager’s
expectations.

The model mentioned above has been statically and dynamically validated. A
tensor product based sensitivity analysis and an extremes case analysis were used for the
static validation of the model. The first was also helpful in pointing out flaws in an early
version of the model guiding to the current version of the model With regard to the
dynamic validation, the model has been successfully applied to a variety of software
projects. The predictions of future behavior as well as the estimate of the initial number
of defects were, on average, around 80% accurate.

1.6. The CMC Approach and Adaptive Testing

Conventional software testing techniques are mainly defined a priori and do not
address how to formalize, quantify or optimize the feedback mechanisms in software
testing. To address this question, Cai treats software testing as a control problem and
proposes the CMC (Controlled Markov Chain) approach to software testing The software
under test serves as the controlled object and is modeled as a controlled Markov chain,
where the software testing strategy serves as the corresponding controller. The software
state is defined as the number of remaining software defects. Suppose the related
software parameters such as the initial number of software defects and software defect
detection rates are known, then an optimal testing strategy can be derived on the top of
existing control theory of Markov chains to achieve a given testing goal. An example
goal is to removes all the remaining defects in the least number of tests.

In practice the required software parameters are unknown and must be estimated
by using test data. This leads to adaptive (software) testing. Adaptive testing adjusts the
testing strategy or improves the testing technique on-line by learning from the
history of software testing or other sources and is a form of adaptive control. Studies
demonstrate that adaptive testing can significantly outperform the random testing It uses
fewer test cases to detect more defects. Further, the variance of the number of test cases
for detecting a given number of defects is reduced in comparison with the random testing.
The CMC approach and adaptive testing also apply to the optimal stopping problem
software testing with testing resource constraints and optimal software reliability
assessment. A case study with the Space program shows that adaptive testing can
significantly outperform random testing.

Here we note that Chen etc. all propose the so-called “adaptive random testing” to
take account of the patterns of failure causing inputs for guiding the test case selections.

2. Potential Research Topics

Besides those identified by Cai, Chen, and Tse including the relationships among
controllability, observability and testability there are other potential research topics.

2.1. Adaptive Software Rejuvenation and Software Performance Control

Traditionally software systems are treated as different from hardware systems due
to their non-aging nature. However recent research reveals that software may age or
degrade and that the phenomenon of software aging should not be ignored. This is
particularly true for the software in a networking environment, where software aging may
lead to hang or crash of servers. The underlying causes of software aging include memory
leaks, unreleased file locks, accumulation of un-terminated threads, data corruption
hound-off accrual, file-space fragmentation, shared memory pool latching, and others. An
effective approach to dealing with software aging is to rejuvenate the software system of
concern periodically or at desirable instants of time before software aging leads to hang
or crash of software service. To this end, the current status of software operation is
monitored and necessary information is collected to decide when and what parts of the
software should be rejuvenated. This is essentially a control problem of software and
provides avenues for control theories and techniques to play a role. However most of
existing researches on software rejuvenation lacks solid control foundation. Can software
rejuvenation be treated as a control problem? How can software be rejuvenated
adaptively?

On the other hand, the performance and quality of Service QoS is important for
network software. The network should adjust its operation and service scenarios in
accordance with the changes in the network traffic flow. This is again a control problem
of software and a largely unexplored research topic, although there have been some
researches in this area.

2.2. Control Theoretical Approach to Software Fault Tolerance

Several approaches have been proposed for software fault tolerance, including N-
version programming, recovery block programming, Self-checking. N-version
programming, check pointing programming, and others Unfortunately existing software
fault tolerance schemes are rarely related to control theories and techniques and lack a
solid theoretical foundation. Treating software fault tolerance as a control problem is a
promising idea and may lead to new vitas and approaches for software fault tolerance
with theoretically sound foundation.

2.3. Logical Foundation for Control Systems

In a recent report on “future directions in control, dynamics, and systems” written


by a group of control scientists control was defined to be “ the use of algorithms and
feedback in engineered systems” . A natural question is that if a logical foundation is
necessary or feasible for control systems. The work of Vassilyev addresses the potential
of applying temporal or higher order logic to control system synthesis. Partially related to
the logical foundation control systems are logics for hybrid systems

2.4. Community Complexity in Control Systems

Community complexity theory is an active research direction in software


community and theoretical computer science. It is concerned with how much
communication is necessary for collaborative agents to complete a given task. A simple
example is that two processors collaborate with each other to compute a given value and
there must be a minimum number of communications for the computation process to
obtain a right answer.

We can treat the controlled object and the controller in a control system as two
collaborative agents to perform a control task. Then how much communication or
feedback is necessary or sufficient for performing the control task? Is there any Imitation
or impossibility for feedback control to perform a given control task? Questions of this
kind have been studied in control community from a purely control perspective. Can they
be related to community complexity theory.

3. On-going Research Projects

Among many institutions where the concepts of software cybernetics are being
applied, below is a summary of the projects related to the author’s organizations.

3.1. Purdue On-going Research Projects

An initial model was developed to predict schedule slippage during the system
test process. This model, and the associated feedback controller, is used to determine the
space of possible changes to be made to the process parameters in order to ensure that the
schedule will be met. The model has been applied in two commercial environments with
encouraging results. A more elaborate model of the test process, that captures the flow of
various events in the process starting from test generation during the requirements phase,
has been developed. The model is currently undergoing validation studies.

3.2 UTD On-going Research Projects

Two major projects under the perspective of software cybernetics are been developed
at the Computer Science Department at the University of Texas at Dallas.

(1).Stochastic software process control: Under many circumstances, a stochastic


rather than a deterministic model appears to be a better solution to represent the process.
The characterization of the disturbances in the stochastic model is done according to the
CMM level of the organization. Two noise sequences are inserted into the model
representing unforeseen perturbations and noise in the data collection process. The effect
of the later can be minimized by the use of a Kalman filter. Finally a feedback software
control tool to hide the complexity of the models from software managers will be made
available through a web server.

(2).Adaptive Software: The SMART Framework for adaptive software


dynamically tune the controller in adaptive software using system identification
techniques such as the least square approach and Markov parameters. In addition to the
advantages of any adaptive approach, the SMART framework presents two features that
distinguish it from a multitude of other techniques: flexibility and predictability.

3.3. Beijing On-going Research Projects

Several on-going research projects are carried out in the research group in
Beijing.
(1).Adaptive testing with fixed-memory feedback. A new adaptive testing scheme
is proposed. In this new scheme only a fixed amount of latest test data is fed back to on-
line parameter estimation for adaptive testing.

(2).Adaptive mutation testing: Research has demonstrated that the mutation


testing can be formulated in the setting of the CMC approach and adaptive testing. This
leads to reduction of computational burden of mutation testing.

(3).Control theoretical approach to software architecture synthesis: An on-going


research project is devoted to taking into account of architectures for software synthesis.

(4). Control theoretical approach to software fault tolerance: Existing fault-


tolerant software is largely based on the idea of code redundancy. An on-going project is
devoted to develop a control-theoretical approach to software fault tolerance without
code redundancy

Research in Cybernetics at Reading includes work on intelligence, including the


use of neural networks; advanced and intelligent control; robotics; interactive systems,
including the use of technology to aid and augment humans; image processing; virtual
reality; systems for measurement, including the use of infra-red and Terahertz - these all
involve systems and feedback.
Chapter 9: FUTURE

As many interesting research topics are there under this term, it may rise as one of
the important area in the technological world.

As it is a general term it will be very useful, not only for software industry but
also for other areas like Biology,Social Science etc.
Chapter 10: CONCLUSION

Cybernetic itself is a very vast area. This seminar will just give you brief feel for
the subject. In fact, here I have concentrate on so called first order Cybernetics, involving
basic feedback loops. There also exists second order Cybernetics, in which systems have
an observer which monitor and also influence what is happening in the system .There
have also been suggestions of the need for third order Cybernetics.

We have also seen that Feedback is one of the most important principles of
Cybernetics. We have also seen some idea about Software Cybernetics.

A large number of problems that arise during the development of software and its
operation have been pointed out and the possibility of using control theoretic approaches
to solve these problems has been raised. Both the software and the control communities
should come together and work towards the establishment of a solid foundation that can
be used in practice for effective and efficient development of high quality software. The
development of software cybernetics should also give rise to new control theories.
Chapter 11: FAQ’s
Chapter 12: BIBLIOGRAPHY

[1] Kai-Yuan Cai :: Department of Automatic Control, Beijing Universityof Aeronautics


and Astronautics, Optimal Test Profile in the Context of Software Cybernetics ,
0-7695-1287-9/01 2001 IEEE.

[2] Kai Cai, Ray A.: Department of Automatic Control, Beijing University of
Aeronautics and, Astronautics, Beijing 100083, China, Joao W. Cangussu,
Department of Computer Science, University Texas at Dallas, Richardson - TX
USA, DeCarlo : Department of Electrical and, Computer Engineering, Purdue
University, West Lafayette-IN 47907-1398, USA and
Aditya P. Mathur : Department of Computer Science, Purdue University, West
Lafayette-IN 47907-1398, USA, An Overview of the Software Cybernetics, 2004
IEEE.

[3] Wilhelm Bruns :: ArtecLab - Art, Work, Technology Department of Computer


Science Bremen University, Germany ,Aesthetic Cybernetics - Turning towards Senses of
Man and Machine*,2004 IEEE international Conference on Systems, Man and
Cybernetics.

[4] http://en.wikipedia.org/wiki/Overview

[5] http://www.reading.ac.uk/sse/about/Cyber/cyber-whycybernetics.asp

[6] http://pespmc1.vub.ac.be/ASC/CYBERNETICS.html

[7] W. ROSS ASHBY M.A., M.D.(Cantab.), D.P.M. Director of Research Barnwood


House, Gloucester, An Introduction to Cybernetics, Second Impression, London,
Chapman& Hall ltd. 1957.

[8] Kai-Yuan Cai : Department of Automatic Control, Beijing Universityof Aeronautics


and Astronautics, T.Y. Chen : School of Information Technology, Swinburne University
of Technology, Hawthorn 3122, Australia, T.H. Tse : Department of Computer Science
and Information Systems, The University of Hong Kong, Pokfulam Road, Hong Kong,
Towards Research on Software Cybernetics. 0-7695-1287-9/01 2001 IEEE.

S-ar putea să vă placă și