From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History
1. From Computing Machineries to Cloud Computing
The Minimal Levels of Abstraction of Inforgs through History
F. Gobbo & M. Benini
Univ. of Insubria & Univ. of Leeds
C
CC BY: $
HAPOC, Ghent University,
November 7-10, 2011
1 of 29
2. What does the word ‘computer’ mean?
The history of computing gives different answers to that questions.
Turing referred to computing machinery still in 1950, as the default
meaning was a person who computes – often a woman, in the first
half of the 20th .
2 of 29
3. What does the word ‘computer’ mean?
The history of computing gives different answers to that questions.
Turing referred to computing machinery still in 1950, as the default
meaning was a person who computes – often a woman, in the first
half of the 20th .
We want to describe the interconnected informational organisms,
inforgs in Floridi’s terms, performing computation, finding the
minimal levels of abstractions (LoAs) necessary to describe
computers across time.
2 of 29
4. What does the word ‘computer’ mean?
The history of computing gives different answers to that questions.
Turing referred to computing machinery still in 1950, as the default
meaning was a person who computes – often a woman, in the first
half of the 20th .
We want to describe the interconnected informational organisms,
inforgs in Floridi’s terms, performing computation, finding the
minimal levels of abstractions (LoAs) necessary to describe
computers across time.
From abacus to clouding.
2 of 29
5. Why the black box metaphor is not enough
Traditional views of computing are found on the Theory of
Communication by Shannon and Weaver black box metaphor:
input G black box
output GC
D
D is the domain where the arrows provides data in input;
C is the codomain that shows data extracted by the output arrow.
3 of 29
6. Why the black box metaphor is not enough
Traditional views of computing are found on the Theory of
Communication by Shannon and Weaver black box metaphor:
input G black box
output GC
D
D is the domain where the arrows provides data in input;
C is the codomain that shows data extracted by the output arrow.
This metaphor is based on syntax, and is inadequate and incomplete
to represent the semantics of the computed information (Primiero
2008, 109).
3 of 29
7. Levellism and the problem of semantics
A solution of the problem of semantics is given recently by Floridi’s
(2009) epistemological levellism. These are the main points:
General Definition of Information (GDI) is adopted in terms of
data + meaning;
each LoA depends on observation or interpretation of the system,
i.e. it epistemological, not ontological;
a LoA is defined by a finite but not-empty collection of
observables, i.e., typed variables variably combined.
The main limit of epistemological levellism is that all information
should be observable, i.e., explicitly stated. The problem is that in
computer science this is rarely the case: often some information got
hidden (e.g., adaptive algorithms, probabilistic reasoning).
4 of 29
8. Why a constructive view of epistemological levellism?
Within constructive mathematics, implicit information can be
explained alongside explicit one, without the risk of being lost:
In all the relevant explanations of the notions of knowledge and
information, it has always been assumed that knowledge is
explicit, and information is usually conflated with the content of
knowledge. The relation of implicit/explicit containment is
obviously essential in the understanding of the relation between
premises and conclusion of an inference (Primiero 2008. 121).
The other crucial point in epistemological levellism is how LoAs are
related: Category Theory gives a general and rigorous definition of
abstraction.
5 of 29
9. Abstraction between categories
id
Ô
c1
id F i
& x 2
o F
h·f c2 g id
α F o
~
c3 ˆ
id
Category A has one object and the only admitted arrows are
identity (id) and a generic arrow α such that α ◦ α = α.
Category C has 3 objects and 2 arrows (apart ids): i and o.
10. Abstraction between categories
id
Ô
c1
id F i
& x 2
o F
h·f c2 g id
α F o
~
c3 ˆ
id
Category A has one object and the only admitted arrows are
identity (id) and a generic arrow α such that α ◦ α = α.
Category C has 3 objects and 2 arrows (apart ids): i and o.
A is abstract in respect to C as F : A → C (F being the functor).
11. The black box metaphor rewritten in Categorial terms
First, we can rewrite the black box metaphor in Categorial terms
(Goldblatt 2006, with adaptation):
black box G
i o
As we have already seen, the black box metaphor is not enough: in
general, computing machineries are built to be used by human beings
– if not, there is always at least a human being a tthe end of the
chain of the machineries.
In the sequel, we describe computing inforgs in Categorial terms,
finding the minimal LoAs, in chronological order.
7 of 29
12. Ancient computing
History of computing can be divided in two main periods: the ancient
era and the modern era. All ancient computational tools and methods
were simply helping resources for the (human) computer, i.e., they did
not perform computation per se. Some examples:
abacus;
Fibonacci’s fingers’ notation (1202-1228);
Schickard’s calculating clock (1623);
Pascaline (1642).
The goal was to hide the process of calculation from the human mind.
8 of 29
13. The simple LoA of ancient computing
scientist G computationG
g
…
i o
interpretation
g is the goal put by the human being;
g → i is the formalisation in terms of numbers;
i → o is the computation performed by, e.g., Pascaline.
o g is the feedback to Pascal who gives the meaning of data.
9 of 29
14. The simple LoA of ancient computing
scientist G computationG
g
…
i o
interpretation
g is the goal put by the human being;
g → i is the formalisation in terms of numbers;
i → o is the computation performed by, e.g., Pascaline.
o g is the feedback to Pascal who gives the meaning of data.
The feedback is crucial to have the ancient informational organism.
9 of 29
15. Origins of modern computing
The modern era of computing was born in 1936 with Church, Post
and Turing.
The symbolic representation of binary numbers (0s and 1s) are LoAs
which stays in the human mind but requires levels of organization
(LoO) hierarchically built inside the machine (Floridi 2011, 69).
So that each LoA can be externalized by a correspondent LoO – and,
consequently, a some information gets hidden.
The act of programming is the act of symbolically representing
binary numbers, i.e., it is the act of giving meaning to (modern)
computation itself.
10 of 29
16. The computing model behind ENIAC
card punching G
g iy do
wiring
Wy π2
execution
π2
Eo π1 E ×W o π1 (E × W ) × i
17. The computing model behind ENIAC
card punching G
g iy do
wiring
Wy π2
execution
π2
Eo π1 E ×W o π1 (E × W ) × i
first, ENIAC should be wired (E × W , first Cartesian product);
18. The computing model behind ENIAC
card punching G
g iy do
wiring
Wy π2
execution
π2
Eo π1 E ×W o π1 (E × W ) × i
first, ENIAC should be wired (E × W , first Cartesian product);
second, data can be input for execution ((E × W ) × i → o);
19. The computing model behind ENIAC
card punching G
g iy do
wiring
Wy π2
execution
π2
Eo π1 E ×W o π1 (E × W ) × i
first, ENIAC should be wired (E × W , first Cartesian product);
second, data can be input for execution ((E × W ) × i → o);
finally, the output can be evaluated according to goals (feedback,
dotted arrow, crucial to have the computing inforg).
20. The model behind Von Neumann’s architecture
data encoding G
g i
y eo
programming
py
π2
execution
π2
Mo π1 M ×p o π1 (M × p) × i
Von Neumann’s architecture is in principle very similar to ENIAC.
21. The model behind Von Neumann’s architecture
data encoding G
g i
y eo
programming
py
π2
execution
π2
Mo π1 M ×p o π1 (M × p) × i
Von Neumann’s architecture is in principle very similar to ENIAC.
instead of wiring, the machine is programmed;
22. The model behind Von Neumann’s architecture
data encoding G
g i
y eo
programming
py
π2
execution
π2
Mo π1 M ×p o π1 (M × p) × i
Von Neumann’s architecture is in principle very similar to ENIAC.
instead of wiring, the machine is programmed;
instead of card punching, data are encoded for input;
23. The model behind Von Neumann’s architecture
data encoding G
g i
y eo
programming
py
π2
execution
π2
Mo π1 M ×p o π1 (M × p) × i
Von Neumann’s architecture is in principle very similar to ENIAC.
instead of wiring, the machine is programmed;
instead of card punching, data are encoded for input;
It is worth remarking that, both in ENIAC and in the Von Neumann’s
machine – unlike in ancient computing – the machine itself does
not compute: it is really the combination of M, p, and i which
enables execution.
24. From operators to OS
It became quickly evident that operators, being human, were too slow
to manage the interleaved executions of many processes.
Let us recall that in our previous formalism, a process is a product
(M × p) × i where p and i varies according to the goal g , decided by
users, and M varies in time, as the execution modifies the internal
state of the machine.
The modern concept of ‘operating system’ Donovan1974 by Ken
Thompson from Multics to Unix can be seen as a new LoA: some
computational tasks are hidden in an abstract machine put into the
computer system so that humans can forget it instead of manually
performs the task as living operators.
13 of 29
25. Multitasking OS
In order to describe the modern, multitasking OS, We must recognise
two different abstractions:
1. We have a single physical machine M “executing” a number of
“parallel” jobs. This abstraction, that enables us to use the quotes
in the previous sentence, is the OS.
2. Each job is conceived to work inside an environment where the
machine is fully dedicated to its execution. this is essential to write
correct programs: the programmer can assume to have the machine
for his own purposes, and has not to care about other programs.
14 of 29
26. Multitasking OS
In order to describe the modern, multitasking OS, We must recognise
two different abstractions:
1. We have a single physical machine M “executing” a number of
“parallel” jobs. This abstraction, that enables us to use the quotes
in the previous sentence, is the OS.
2. Each job is conceived to work inside an environment where the
machine is fully dedicated to its execution. this is essential to write
correct programs: the programmer can assume to have the machine
for his own purposes, and has not to care about other programs.
Now we will see the whole computing model, then the information
hiding performed for a single process, from the perspective of the OS,
and from the concrete, physical Von Neumann’s machine.
14 of 29
27. The computing model behind multitasking
gf G i = Πj ij
’ ‰
πk
πk
5
gk
data encoding
G ik oyk
y h
programming π
πk
p = Πj pj G pk π2
† y execution
π2 πk
π1 π1
My k o M k × pk o
y
(Mk × pk ) × ik
y π2
πk πk πk
π
Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o
π π execution
y y y
π π π
π2 execution
π1 π1
Mo M ×p o (M × p) × i
28. Multitasking: single process abstraction
g ˜j G i = Πj ij
’ ‰
πk
πk
5
gk
data encoding
G ik oyk
y h
programming π
πk
p = Πj pj G pk π2
† y execution
π2 πk
π1 π1
My k o M k × pk o
y
(Mk × pk ) × ik
y π2
πk πk πk
π
Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o
π π execution
y y y
π π π
π2 execution
π1 π1
Mo M ×p o (M × p) × i
29. Multitasking: operating system abstraction
gf G i = Πj ij
’ ‰
πk
πk
5 Ù
gk
data encoding
G ik oyk
y h
programming π
πk
p = Πj pj G pk π2
† y execution
π2 πk
π1 π1
My k o Mk × pk o
y
(Mk × pk ) × ik
y π2
πk πk πk
π
execution
Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o
π π
y y y
π π π
π2 execution
π1 π1
Mo M ×p o (M × p) × i
30. Multitasking: the concrete Von Neumann’s machine
gf G i = Πj ij
’ ‰
πk
πk
5 Ù
gk
data encoding
G ik oyk
y h
programming π
πk
p = Πj pj G pk π2
† y execution
π2 πk
π1 π1
My k o M k × pk o
y
(Mk × pk ) × ik
y π2
πk πk πk
π
Π j Mj o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o
π π execution
y y y
π π π
π2 execution
π1 π1
Mo M ×p o (M × p) × i
32. The computing model of cooperative multitasking
Warning!
Next slide shows everything put together without
information hiding. . .
19 of 29
33. @ A
g ™f
π G Πj∈α gj G i = Πj ij π G Πj∈α ij
d ‡ˆ q
πk
π πk
8 Ø
p = Πj pj gk
data encoding
G ik w
„… † y π c f oyk
πk
π programming
Ñ π 8G
Πj∈α pj pyk π2
“ exec
π2 π
π
π π1
My k “” o π1M
k × “ ” pk o
y
(Mk × pk ) × ik
df y
π π π
π
π
Πj∈α Mj o Πj∈α (Mj × pj ) o G Πj∈α oj
π π
Πj∈α ((Mj × pj ) × ij )
y y y exec
y
π π π π2 π
π
π π
Πα Πj∈α Mj o Πα Πj∈α (Mj × pj ) o Πα Πj∈α ((Mj × pj ) × ij ) G Πα Πj∈α oj
π π
y y exec
y y
π π πk π π
π
πk πk
Πj Mj o Πj (Mj × pj ) o GU o
π π π
exec k
Πj ((Mj × pj ) × ij )
y y y
34. Internet
The computing model of network distributed applications is not in
principle so different from the computing model of cooperative
multitasking.
In fact, internet applications are a natural evolution of a concurrent
multitasking system, where the background is no more a single
computing machinery, but a network of intercommunicating
computers.
Hence, the diagram is the same as before except for that the last line:
here, the concrete implementing machine has disappeared.
This behaviour is clear: the concrete level of Internet is the set of
computers which are interconnected, and they have not to be
simulated.
21 of 29
35. g ™f G Πj∈α gj G i = Πj ij G Πj∈α ij
d ˆ q
Ø
p = Πj pj gk
data encoding
G ik w
† y c oyk
prog
Ñ
Πj∈α pj G pk
“ y exec
My k o M k × pk o
y
(Mk × pk ) × ik
y
Πj∈α Mj o Πj∈α (Mj × pj ) o Πj∈α ((Mj × pj ) × ij ) G Πj∈α oj
y y y exec
y
Πα Πj∈α Mj o Πα Πj∈α (Mj × pj ) o Πα Πj∈α ((Mj × pj ) × ij ) G Πα Πj∈α oj
y y exec
y y
Πj Mj o Πj (Mj × pj ) o Go
exec
Πj ((Mj × pj ) × ij )
36. From end-users to clouding
With the advent of window-based system, characterised by many
applications working together at the same time, a change in the
concurrent multitasking schema take place: the outputs of several
applications can be inspected at any time, concurrently.
This fact introduces another LoA over the previous picture: the whole
output of an application is split in two: the external (visible) part and
the internal (hidden) part.
From the point of view of system architecture, there is no difference
between typing Unix commands on a shell and point-and-clicking
menus and windows so to give the same command.
23 of 29
37. From end-users to clouding
With the advent of window-based system, characterised by many
applications working together at the same time, a change in the
concurrent multitasking schema take place: the outputs of several
applications can be inspected at any time, concurrently.
This fact introduces another LoA over the previous picture: the whole
output of an application is split in two: the external (visible) part and
the internal (hidden) part.
From the point of view of system architecture, there is no difference
between typing Unix commands on a shell and point-and-clicking
menus and windows so to give the same command.
So, which kind of LoA is introduced here?
23 of 29
40. The need of levels of explanation
The method of levels of abstractions by Floridi and Sanders (2004)
gives the necessary philosophical and theoretical framework to deal
with such cases.
In particular, in the case of computing, each LoA is connected with a
different level of organization (LoO), which pertains the software and
hardware architecture, and a level of explanation (LoE), which
pertains the expected kinds of use by the end-user vs. the
programmer.
Therefore, there is no need to add other LoAs to the Categorial
diagram, unless we want to address the structure of the set of goals
g . But this is out of the scope of this paper, as the goals are not part
of the overall process of computation, strictly speaking.
26 of 29
42. Also cloud computing is a LoE!
Similar considerations can be brought for clouding, which is “only” a
further information hiding (LoE) over the internet.
In fact, there is no change of system architecture (LoO): the point
here is that the management of files and applications (where to save?
how to backup? when to update?) become useless from the LoE of
the end-user, because someone else somewhere is taking care of them.
28 of 29
43. Thanks for your attention!
Questions?
For proposals, ideas comments:
federico.gobbo@uninsubria.it M.Benini@leeds.ac.uk
Download share these slides here:
http://www.slideshare.net/goberiko/
C
CC BY: $ Federico Gobbo Marco Benini 2011
29 of 29