Académique Documents
Professionnel Documents
Culture Documents
CYBERNETICS
BY
GUIDE
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
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.
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 goaloriented 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 Overview 1.2 Why Cybernetics 1.3 Cybernetics & Steersman 1.4 Cybernetic Model 1.5 History 1.6 Definition 2. 3. Various areas of Cybernetics.. 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. 5. Feedback A core principal of Cybernetics 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. 8. 9. Self Adaptive Software... Research Topics.. Future .. 1
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 its 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.
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 vehiclecontrol 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 selforganization 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.
"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
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
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.
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.
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.
(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 goaldirected 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 goaldirected 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 lowerlevel systems in its domain.
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.
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.
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.
Artificial Intelligence
1. AI theories are more concerned with general-purpose techniques of problem solving. The underlying feedback mechanism does not play a central role.
Cybernetics
1. A cybernetic normally focuses on a class of controlled objects. The feedback mechanism from a controlled object to the corresponding controller plays a key role in synthesizing 2. Organisms map through an environment back onto themselves. 3. Nervous system reproduces adaptive relationships. 4. Social agreement is primary objectivity. 5. Intelligent resides in observed conversations.
2. Organisms map external objects to internal states. 3. Nervous systems store the information.
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.
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 coperative 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.
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.
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.
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.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 approach
cybernetic
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 TS 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.
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.
4. Cybernetic Perspective
A control system comprises at least two components: controlled object and controller. The controller changes the controlled objects behaviors by delivering control signals (called control inputs) which force the controlled object to achieve a desired goal (called set point).
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
Software entities to be adapted Adaptation infrastructure Adjusting operations to controlled software entities Desired properties of controlled software entities Traditional software system Self-adaptive software with a fixed control law Self-adaptive software with an adaptive control law.
Adaptive control
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.
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. Whats 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.
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 systems status, adjusting some variables and etc.
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 applications 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 protocols implementation; and 4) Set the new protocols invoking condition. PKUAS then will add the new protocols implementation to the container and change the adaptation-descriptor by adding a new line. into the appropriate tag via onlineevolution mechanism.
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?
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.
projects. The predictions of future behavior as well as the estimate of the initial number of defects were, on average, around 80% accurate.
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.
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.2
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.
(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 online 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 faulttolerant 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.
[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 479071398, USA and Aditya P. Mathur : Department of Computer Science, Purdue University, West LafayetteIN 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.
[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.