International Journal of Engineering Issues - Vol 2015 - No 2 - Paper4
International Journal of Engineering Issues - Vol 2015 - No 2 - Paper4
International Journal of Engineering Issues - Vol 2015 - No 2 - Paper4
INTRODUCTION
We all want our software systems to be fast, reliable, easy to use, readable, modular, structured and so on. But
these adjectives describe two different sort of qualities. On one side we are considering such qualities as speed or ease of
use, whose presence or absence in a software product may be detected by its users. These properties may be called
external quality factors. Other qualities applicable to a software product, such as being modular, or readable, are internal
factors, perceptible only to computer professionals who have access to the actual software text. In the end, only external
factors matter. If I use a Web browser or live near a computer-controlled nuclear plant, little do I care whether the source
program is readable or modular if graphics take ages to load, or if a wrong input blows up the plant. But the key to
achieving these external factors is in the internal ones: for the users to enjoy the visible qualities, the designers and
implementers must have applied internal techniques that will ensure hidden qualities.''
- Bertrand Meyer, 1997
Edsger Wybe Dijkstra defined intellectual distance as the distance between the real world problem and the
computerized solution to the problem. Programmers have always known about civil, electrical, and computer
engineering. However, what engineering might mean for software remains a debate till date. The intellectual distance
73
Classical mechanics studies the mechanical parts that move. The techniques used to study the dynamics of such
parts are also applicable to other physical systems, including circuits, chemical processes, and biological processes. It is
thus possible to arrive at a set of principles across multiple engineering disciplines to engineer mechanical parts.
Mechanical parts are easiest for most people to visualize and are also easily engineered. The motion of mechanical parts
can often be represented using differential equations, or equivalently, integral equations. Such representations work well
for motion that is amenable for precise definition using the notions of linearity, time invariance, and continuity.
However, discrete events are necessary for other motions. Continuous components evolve smoothly, while discrete
components evolve abruptly. Finite state machines are used to represent discrete dynamics.
Theory of Computation in its present form begins with the Finite State Machines and culminates in the Turing
Machine. Finite state machines describe the class of regular languages, have no memory and has limited number of
states. Turing Machines describe a much larger class of languages and have a much larger computational power. There
are obvious differences between a Turing machine and a real computer [1]. The computer is finite in size, prone to
74
Visualization of the solution is the key to success in CPS. Drawing is a proven method across engineering
disciplines to facilitate accurate and clear communication of the proposed solution. However, present day software
engineering has evolved many diagrammatic representations based on the automata theory that are highly restrictive.
Also, the notations for the diagrams are usually not interoperable with other engineering disciplines. The control
switches between propagation of arbitrary partial information and search for alternative paths of execution only when a
contradictions are discovered. The primary concern is evaluation to quickly discover any contradiction to ensure faster
execution by choosing the most optimal paths of computation. The over-rigid notions of computational timing and
constraint make the methods archaic for CPS [4,9].
Time is natures way of keeping everything from happening at once. Space is natures way of keeping everything
from happening in the same place. Physics has limitations imposed by the very nature of physical reality. Mathematics
may provide both natural and artificial solutions warranted by the complex software. However, the mathematics applied
to physics must be limited, simply by the limits imposed by physics.
The foundational point of using Calculus is for an easy mathematical approach for the most reasonable estimation
of Time and Space complexity [6] for a computation. Algebra connotes relationships. Linear Algebra indicates
line-like relationships that are predictable. There are many algebras. Boolean Algebra that made computation with
numbers happen using machines that are physically realizable using the logic using the symbols 0 ad 1.
Vectors are "numbers with direction". For the physical phenomena, such as velocity and displacement, vectors are
very useful representations. Geometry and Trigonometry are very difficult to apply in many contexts. Vector algebra
was invented in order to solve two-dimensional and three-dimensional problems without the use of cumbersome
geometry. The calculus of real numbers, vector calculus and complex analysis eventually paved way for Geometric
Calculus. This calculus serves better to understand the intricacies of electrodynamics [11]. Geometric algebra [2] and its
extension to geometric calculus unify, simplify, and generalize many areas of mathematics that involve geometric ideas.
They also provide a unified mathematical language for physics, engineering, and the geometrical aspects of computer
science such as those found in graphics, robotics and computer vision.
The following aspects [3] of Evolving Complex Software Systems thus become more amenable to analysis and design.
GEOMETRIC ALGEBRA
A vector is anything that can be represented by arrows that add head-to-tail. Such objects have magnitude (how long is
the arrow) and direction (which way does it point). Real numbers have two analogous properties: a magnitude (absolute
value) and a sign (plus or minus). Higher-dimensional objects in real vector spaces also have these properties: for
example, a surface element is a plane with a magnitude (area) and an orientation (clockwise or counterclockwise). If we
associate real scalars with zero-dimensional spaces, then we can say that scalars, vectors, planes and so on, have three
features in common:
GRAMMAR OF GRAPHICS
A grammar provides the fundamental principles or rules of an art or science. A good grammar will allow us to gain
insight into the composition of complicated graphics, and reveal unexpected connections between seemingly different
graphics. A grammar provides a strong foundation for understanding a diverse range of graphics. A grammar may also
help guide us on what a well-formed or correct graphic looks like, but there will still be many grammatically correct but
nonsensical graphics [6]. The proposed block schematic for visualizing a Cyber Physical System is given in Figure 1.
Cyber Physical System
Component
Algebraic Operations
[with Uncertainty]
Geometric Algebra
Aesthetics
Grammar Based Representation of the
Cyber Physical System
76
Form
Position
Size
Shape
Rotation
Resolution
Surface
Color
Texture
Blur
Transparency
Motion
Direction
Speed
Acceleration
Sound
Tone
Volume
Rhythm
Voice
Text
Label
Positioning of the Components may be a separate layer [12] based on the Calculus of Geometry [3].
VI.
CONCLUSIONS
This paper proposes a mathematical approach to architect the automata that model the Cyber Physical Systems and
hence paving way for better visualization and representation for the 14 Grand Challenges in Engineering [14] mentioned
below.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
The author places on record his sincere thanks to Anna University, Chennai, the members of the Steering Committee of
the Series of Annual Conferences on Theory and Applications of Models of Computation [TAMC] and the Conference
Chairs of the IEEE Series of Conferences on Norbert Wiener in the 21 st Century.
77
78