From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through...
-
Upload
federico-gobbo -
Category
Technology
-
view
603 -
download
3
description
Transcript of From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through...
From Computing Machineries to Cloud ComputingThe Minimal Levels of Abstraction of Inforgs through History
F. Gobbo & M. BeniniUniv. of Insubria & Univ. of Leeds
CC© BY:© $\© C©
HAPOC, Ghent University,November 7-10, 2011
1 of 29
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 defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.
We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.
From abacus to clouding.
2 of 29
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 defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.
We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.
From abacus to clouding.
2 of 29
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 defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.
We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.
From abacus to clouding.
2 of 29
Why the black box metaphor is not enough
Traditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor:
Dinput // black box
output // C
� 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 incompleteto represent the semantics of the computed information (Primiero2008, 109).
3 of 29
Why the black box metaphor is not enough
Traditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor:
Dinput // black box
output // C
� 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 incompleteto represent the semantics of the computed information (Primiero2008, 109).
3 of 29
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 ofdata + 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 ofobservables, i.e., typed variables variably combined.
The main limit of epistemological levellism is that all informationshould be observable, i.e., explicitly stated. The problem is that incomputer science this is rarely the case: often some information gothidden (e.g., adaptive algorithms, probabilistic reasoning).
4 of 29
Why a constructive view of epistemological levellism?
Within constructive mathematics, implicit information can beexplained alongside explicit one, without the risk of being lost:
In all the relevant explanations of the notions of knowledge andinformation, it has always been assumed that knowledge isexplicit, and information is usually conflated with the content ofknowledge. The relation of implicit/explicit containment isobviously essential in the understanding of the relation betweenpremises and conclusion of an inference (Primiero 2008. 121).
The other crucial point in epistemological levellism is how LoAs arerelated: Category Theory gives a general and rigorous definition ofabstraction.
5 of 29
Abstraction between categories
c1
id
��
i
F
xx·
id
��
α
DD c2 idgg
o~~
Foo
c3
id
XX
F
ff
� Category A has one object and the only admitted arrows areidentity (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).
Abstraction between categories
c1
id
��
i
F
xx·
id
��
α
DD c2 idgg
o~~
Foo
c3
id
XX
F
ff
� Category A has one object and the only admitted arrows areidentity (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).
The black box metaphor rewritten in Categorial terms
First, we can rewrite the black box metaphor in Categorial terms(Goldblatt 2006, with adaptation):
iblack box // o
As we have already seen, the black box metaphor is not enough: ingeneral, computing machineries are built to be used by human beings– if not, there is always at least a human being a tthe end of thechain of the machineries.
In the sequel, we describe computing inforgs in Categorial terms,finding the minimal LoAs, in chronological order.
7 of 29
Ancient computing
History of computing can be divided in two main periods: the ancientera and the modern era. All ancient computational tools and methodswere simply helping resources for the (human) computer, i.e., they didnot 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
The simple LoA of ancient computing
gscientist // i
computation// o
interpretation
UU
� 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
The simple LoA of ancient computing
gscientist // i
computation// o
interpretation
UU
� 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
Origins of modern computing
The modern era of computing was born in 1936 with Church, Postand Turing.
The symbolic representation of binary numbers (0s and 1s) are LoAswhich 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 representingbinary numbers, i.e., it is the act of giving meaning to (modern)computation itself.
10 of 29
The computing model behind ENIAC
gcard punching //
wiring��
i o��
W
E E ×Wπ1
oo
π2
OO
(E ×W )× iπ1
oo
π2
OO
execution
@@
� 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).
The computing model behind ENIAC
gcard punching //
wiring��
i o��
W
E E ×Wπ1
oo
π2
OO
(E ×W )× iπ1
oo
π2
OO
execution
@@
� 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).
The computing model behind ENIAC
gcard punching //
wiring��
i o��
W
E E ×Wπ1
oo
π2
OO
(E ×W )× iπ1
oo
π2
OO
execution
@@
� 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).
The computing model behind ENIAC
gcard punching //
wiring��
i o��
W
E E ×Wπ1
oo
π2
OO
(E ×W )× iπ1
oo
π2
OO
execution
@@
� 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).
The model behind Von Neumann’s architecture
gdata encoding //
programming��
i o��
p
M M × pπ1
oo
π2
OO
(M × p)× iπ1
oo
π2
OO
execution
AA
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’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.
The model behind Von Neumann’s architecture
gdata encoding //
programming��
i o��
p
M M × pπ1
oo
π2
OO
(M × p)× iπ1
oo
π2
OO
execution
AA
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’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.
The model behind Von Neumann’s architecture
gdata encoding //
programming��
i o��
p
M M × pπ1
oo
π2
OO
(M × p)× iπ1
oo
π2
OO
execution
AA
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’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.
The model behind Von Neumann’s architecture
gdata encoding //
programming��
i o��
p
M M × pπ1
oo
π2
OO
(M × p)× iπ1
oo
π2
OO
execution
AA
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’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.
From operators to OS
It became quickly evident that operators, being human, were too slowto 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 byusers, and M varies in time, as the execution modifies the internalstate of the machine.
The modern concept of ‘operating system’ Donovan1974 by KenThompson from Multics to Unix can be seen as a new LoA: somecomputational tasks are hidden in an abstract machine put into thecomputer system so that humans can forget it instead of manuallyperforms the task as living operators.
13 of 29
Multitasking OS
In order to describe the modern, multitasking OS, We must recognisetwo different abstractions:
1. We have a single physical machine M “executing” a number of“parallel” jobs. This abstraction, that enables us to use the quotesin the previous sentence, is the OS.
2. Each job is conceived to work inside an environment where themachine is fully dedicated to its execution. this is essential to writecorrect programs: the programmer can assume to have the machinefor his own purposes, and has not to care about other programs.
Now we will see the whole computing model, then the informationhiding performed for a single process, from the perspective of the OS,and from the concrete, physical Von Neumann’s machine.
14 of 29
Multitasking OS
In order to describe the modern, multitasking OS, We must recognisetwo different abstractions:
1. We have a single physical machine M “executing” a number of“parallel” jobs. This abstraction, that enables us to use the quotesin the previous sentence, is the OS.
2. Each job is conceived to work inside an environment where themachine is fully dedicated to its execution. this is essential to writecorrect programs: the programmer can assume to have the machinefor his own purposes, and has not to care about other programs.
Now we will see the whole computing model, then the informationhiding performed for a single process, from the perspective of the OS,and from the concrete, physical Von Neumann’s machine.
14 of 29
The computing model behind multitasking
g //
πk
##
��
i = Πj ij
πk
��gk
data encoding //
programming
��
ik ok
p = Πjpjπk // pk
Mk Mk × pkπ1oo
π2
OO
(Mk × pk)× ikπ1oo
π2
OO
execution
DD
ΠjMj
πk
OO
Πj(Mj × pj)πoo
π
ZZ
πk
OO
Πj((Mj × pj)× ij)πoo
πk
OO
π
YY
execution// o
πk
OO
ff
M
π
OO
M × pπ1oo
π2
VV
π
OO
(M × p)× iπ1oo
π
OO
execution
;;
π2
\\
Multitasking: single process abstraction
g //
πk
##
��
i = Πj ij
πk
��gk
data encoding //
programming
��
ik ok
p = Πjpjπk // pk
Mk Mk × pkπ1oo
π2
OO
(Mk × pk)× ikπ1oo
π2
OO
execution
DD
ΠjMj
πk
OO
Πj(Mj × pj)πoo
π
ZZ
πk
OO
Πj((Mj × pj)× ij)πoo
πk
OO
π
YY
execution// o
πk
OO
bj
M
π
OO
M × pπ1oo
π2
VV
π
OO
(M × p)× iπ1oo
π
OO
execution
;;
π2
\\
Multitasking: operating system abstraction
g //
πk
##
��
i = Πj ij
πk
��gk
data encoding //
programming
��
ik ok�
p = Πjpjπk // pk
Mk Mk × pkπ1oo
π2
OO
(Mk × pk)× ikπ1oo
π2
OO
execution
DD
ΠjMj
πk
OO
Πj(Mj × pj)πoo
π
ZZ
πk
OO
Πj((Mj × pj)× ij)πoo
πk
OO
π
YY
execution// o
πk
OO
ff
M
π
OO
M × pπ1oo
π2
VV
π
OO
(M × p)× iπ1oo
π
OO
execution
;;
π2
\\
Multitasking: the concrete Von Neumann’s machine
g //
πk
##
��
i = Πj ij
πk
��gk
data encoding //
programming
��
ik ok�
p = Πjpjπk // pk
Mk Mk × pkπ1oo
π2
OO
(Mk × pk)× ikπ1oo
π2
OO
execution
DD
ΠjMj
πk
OO
Πj(Mj × pj)πoo
π
ZZ
πk
OO
Πj((Mj × pj)× ij)πoo
πk
OO
π
YY
execution// o
πk
OO
ff
M
π
OO
M × pπ1oo
π2
VV
π
OO
(M × p)× iπ1oo
π
OO
execution
;;
π2
\\
The computing model of cooperative multitasking
Warning!
Next slide shows everything put together withoutinformation hiding. . .
19 of 29
The computing model of cooperative multitasking
Warning!
Next slide shows everything put together withoutinformation hiding. . .
19 of 29
g((
π //
πk
&&��
Πj∈αgj
π
��
//))
��
i = Πj ijπ //
πk
��
Πj∈αij
wwp = Πjpj
π
��
πk
&&
gkdata encoding //
programming
��
ik ok��
Πj∈αpjπ // pk
Mk Mk × pkπ1oo
π2
OO
(Mk × pk)× ikπ1oo
π2
OO
exec
??
Πj∈αMj
π
OO
Πj∈α(Mj × pj)
π
OO
πooπ
]]
Πj∈α((Mj × pj)× ij)
π
OO
πooπ
GG
exec// Πj∈αoj
π
OO
dd
ΠαΠj∈αMj
π
OO
π
]]
ΠαΠj∈α(Mj × pj)
π
OO
πooπ
]]π
VV
ΠαΠj∈α((Mj × pj)× ij)
π
OO
πooexec//
π
XX
π
BB
ΠαΠj∈αoj
ff
π
OO
ΠjMj
π
OO
πk
^^
Πj(Mj × pj)
π
OO
πooπ
UU
πk
^^
Πj((Mj × pj)× ij)
π
OO
πoo
πk
@@
π
WW
exec // o
π
OO
πk
BB
cc
M
π
OO
M × pπ1oo
π2
TT
π
OO
(M × p)× iπ1oo
π
OO
exec
77
π2
XX
Internet
The computing model of network distributed applications is not inprinciple so different from the computing model of cooperativemultitasking.
In fact, internet applications are a natural evolution of a concurrentmultitasking system, where the background is no more a singlecomputing machinery, but a network of intercommunicatingcomputers.
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 ofcomputers which are interconnected, and they have not to besimulated.21 of 29
g //
��
Πj∈αgj
��
//
��
i = Πj ij //
��
Πj∈αij
wwp = Πjpj
��
gkdata encoding //
prog
��
ik ok��
Πj∈αpj// pk
Mk Mk × pkoo
OO
(Mk × pk)× ikoo
OO
exec
??
Πj∈αMj
OO
Πj∈α(Mj × pj)
OO
oo
]]
Πj∈α((Mj × pj)× ij)
OO
oo
GG
exec// Πj∈αoj
OO
dd
ΠαΠj∈αMj
OO
ΠαΠj∈α(Mj × pj)
OO
oo
VV
ΠαΠj∈α((Mj × pj)× ij)
OO
ooexec//
XX
ΠαΠj∈αoj
ff
OO
ΠjMj
OO
Πj(Mj × pj)
OO
oo Πj((Mj × pj)× ij)
OO
oo exec // o
OO
cc
From end-users to clouding
With the advent of window-based system, characterised by manyapplications working together at the same time, a change in theconcurrent multitasking schema take place: the outputs of severalapplications can be inspected at any time, concurrently.
This fact introduces another LoA over the previous picture: the wholeoutput of an application is split in two: the external (visible) part andthe internal (hidden) part.
From the point of view of system architecture, there is no differencebetween typing Unix commands on a shell and point-and-clickingmenus and windows so to give the same command.
So, which kind of LoA is introduced here?
23 of 29
From end-users to clouding
With the advent of window-based system, characterised by manyapplications working together at the same time, a change in theconcurrent multitasking schema take place: the outputs of severalapplications can be inspected at any time, concurrently.
This fact introduces another LoA over the previous picture: the wholeoutput of an application is split in two: the external (visible) part andthe internal (hidden) part.
From the point of view of system architecture, there is no differencebetween typing Unix commands on a shell and point-and-clickingmenus and windows so to give the same command.
So, which kind of LoA is introduced here?
23 of 29
A “graphic” videogame through ncurses library...
24 of 29
...and the first commercial desktop metaphor
25 of 29
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 dealwith such cases.
In particular, in the case of computing, each LoA is connected with adifferent level of organization (LoO), which pertains the software andhardware architecture, and a level of explanation (LoE), whichpertains the expected kinds of use by the end-user vs. theprogrammer.
Therefore, there is no need to add other LoAs to the Categorialdiagram, unless we want to address the structure of the set of goalsg . But this is out of the scope of this paper, as the goals are not partof the overall process of computation, strictly speaking.
26 of 29
Also cloud computing is a LoE!
Similar considerations can be brought for clouding, which is “only” afurther information hiding (LoE) over the internet.
In fact, there is no change of system architecture (LoO): the pointhere is that the management of files and applications (where to save?how to backup? when to update?) become useless from the LoE ofthe end-user, because someone else somewhere is taking care of them.
28 of 29
Thanks for your attention!
Questions?
For proposals, ideas & comments:
[email protected] & [email protected]
Download & share these slides here:
http://www.slideshare.net/goberiko/
CC© BY:© $\© C© Federico Gobbo & Marco Benini 2011
29 of 29