SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
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
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.
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).
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
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
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
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
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
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
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);
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);
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).
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.
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;
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;
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.
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
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
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
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
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
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
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
The computing model of cooperative multitasking




Warning!




19 of 29
The computing model of cooperative multitasking




Warning!
Next slide shows everything put together without
information hiding. . .




19 of 29
@                                     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
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
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 )
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
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
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 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
From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History
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
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

Weitere ähnliche Inhalte

Mehr von Federico Gobbo

Open Issues of Language Contestation in Italy
Open Issues of Language Contestation in ItalyOpen Issues of Language Contestation in Italy
Open Issues of Language Contestation in ItalyFederico Gobbo
 
Human-Machine Communication strategies in today’s Esperanto community of prac...
Human-Machine Communication strategies in today’s Esperanto community of prac...Human-Machine Communication strategies in today’s Esperanto community of prac...
Human-Machine Communication strategies in today’s Esperanto community of prac...Federico Gobbo
 
Esperanto as Lingua Receptiva / Esperanto Ricevema
Esperanto as Lingua Receptiva / Esperanto RicevemaEsperanto as Lingua Receptiva / Esperanto Ricevema
Esperanto as Lingua Receptiva / Esperanto RicevemaFederico Gobbo
 
L’utilizzo di lingue inventate come strumento di educazione interculturale in...
L’utilizzo di lingue inventate come strumento di educazione interculturale in...L’utilizzo di lingue inventate come strumento di educazione interculturale in...
L’utilizzo di lingue inventate come strumento di educazione interculturale in...Federico Gobbo
 
One species, many languages
One species, many languagesOne species, many languages
One species, many languagesFederico Gobbo
 
Una lingua comune per l'Europa?
Una lingua comune per l'Europa?Una lingua comune per l'Europa?
Una lingua comune per l'Europa?Federico Gobbo
 
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondo
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondoEsperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondo
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondoFederico Gobbo
 
Reflecting upon the European Day of Languages
Reflecting upon the European Day of LanguagesReflecting upon the European Day of Languages
Reflecting upon the European Day of LanguagesFederico Gobbo
 
Interlinguistica ed esperantologia oggi: l’esperienza di Amsterdam
Interlinguistica ed esperantologia oggi: l’esperienza di AmsterdamInterlinguistica ed esperantologia oggi: l’esperienza di Amsterdam
Interlinguistica ed esperantologia oggi: l’esperienza di AmsterdamFederico Gobbo
 
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...Federico Gobbo
 
Complex Arguments in Adpositional Argumentation
Complex Arguments in Adpositional ArgumentationComplex Arguments in Adpositional Argumentation
Complex Arguments in Adpositional ArgumentationFederico Gobbo
 
Assessing linguistic unease to understand (socio)linguistic justice
Assessing linguistic unease to understand (socio)linguistic justiceAssessing linguistic unease to understand (socio)linguistic justice
Assessing linguistic unease to understand (socio)linguistic justiceFederico Gobbo
 
Lingua di contatto e mobilità: il caso dell'esperanto
Lingua di contatto e mobilità: il caso dell'esperantoLingua di contatto e mobilità: il caso dell'esperanto
Lingua di contatto e mobilità: il caso dell'esperantoFederico Gobbo
 
Le lingue di minoranza: il caso dell'esperanto
Le lingue di minoranza: il caso dell'esperantoLe lingue di minoranza: il caso dell'esperanto
Le lingue di minoranza: il caso dell'esperantoFederico Gobbo
 
The Religious Dimensions of the Esperanto Collective Identity
The Religious Dimensions of the Esperanto Collective IdentityThe Religious Dimensions of the Esperanto Collective Identity
The Religious Dimensions of the Esperanto Collective IdentityFederico Gobbo
 
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...Federico Gobbo
 
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...Federico Gobbo
 
Lingva Kafejo: Esperanto
Lingva Kafejo: EsperantoLingva Kafejo: Esperanto
Lingva Kafejo: EsperantoFederico Gobbo
 
Fare musica in esperanto : ieri, oggi, domani
Fare musica in esperanto : ieri, oggi, domaniFare musica in esperanto : ieri, oggi, domani
Fare musica in esperanto : ieri, oggi, domaniFederico Gobbo
 
Hollywood Languages: The Challenge of Interlinguistics in the New Millennium
Hollywood Languages: The Challenge of Interlinguistics in the New MillenniumHollywood Languages: The Challenge of Interlinguistics in the New Millennium
Hollywood Languages: The Challenge of Interlinguistics in the New MillenniumFederico Gobbo
 

Mehr von Federico Gobbo (20)

Open Issues of Language Contestation in Italy
Open Issues of Language Contestation in ItalyOpen Issues of Language Contestation in Italy
Open Issues of Language Contestation in Italy
 
Human-Machine Communication strategies in today’s Esperanto community of prac...
Human-Machine Communication strategies in today’s Esperanto community of prac...Human-Machine Communication strategies in today’s Esperanto community of prac...
Human-Machine Communication strategies in today’s Esperanto community of prac...
 
Esperanto as Lingua Receptiva / Esperanto Ricevema
Esperanto as Lingua Receptiva / Esperanto RicevemaEsperanto as Lingua Receptiva / Esperanto Ricevema
Esperanto as Lingua Receptiva / Esperanto Ricevema
 
L’utilizzo di lingue inventate come strumento di educazione interculturale in...
L’utilizzo di lingue inventate come strumento di educazione interculturale in...L’utilizzo di lingue inventate come strumento di educazione interculturale in...
L’utilizzo di lingue inventate come strumento di educazione interculturale in...
 
One species, many languages
One species, many languagesOne species, many languages
One species, many languages
 
Una lingua comune per l'Europa?
Una lingua comune per l'Europa?Una lingua comune per l'Europa?
Una lingua comune per l'Europa?
 
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondo
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondoEsperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondo
Esperanto: el Eŭropa lulilo al disvastiĝo tra la tuta mondo
 
Reflecting upon the European Day of Languages
Reflecting upon the European Day of LanguagesReflecting upon the European Day of Languages
Reflecting upon the European Day of Languages
 
Interlinguistica ed esperantologia oggi: l’esperienza di Amsterdam
Interlinguistica ed esperantologia oggi: l’esperienza di AmsterdamInterlinguistica ed esperantologia oggi: l’esperienza di Amsterdam
Interlinguistica ed esperantologia oggi: l’esperienza di Amsterdam
 
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
 
Complex Arguments in Adpositional Argumentation
Complex Arguments in Adpositional ArgumentationComplex Arguments in Adpositional Argumentation
Complex Arguments in Adpositional Argumentation
 
Assessing linguistic unease to understand (socio)linguistic justice
Assessing linguistic unease to understand (socio)linguistic justiceAssessing linguistic unease to understand (socio)linguistic justice
Assessing linguistic unease to understand (socio)linguistic justice
 
Lingua di contatto e mobilità: il caso dell'esperanto
Lingua di contatto e mobilità: il caso dell'esperantoLingua di contatto e mobilità: il caso dell'esperanto
Lingua di contatto e mobilità: il caso dell'esperanto
 
Le lingue di minoranza: il caso dell'esperanto
Le lingue di minoranza: il caso dell'esperantoLe lingue di minoranza: il caso dell'esperanto
Le lingue di minoranza: il caso dell'esperanto
 
The Religious Dimensions of the Esperanto Collective Identity
The Religious Dimensions of the Esperanto Collective IdentityThe Religious Dimensions of the Esperanto Collective Identity
The Religious Dimensions of the Esperanto Collective Identity
 
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...
I limiti dell'invenzione linguistica: la tipologia linguistica dall'esperanto...
 
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...
Sei definizioni in cerca di una disciplina - Interlinguistica tra comunicazio...
 
Lingva Kafejo: Esperanto
Lingva Kafejo: EsperantoLingva Kafejo: Esperanto
Lingva Kafejo: Esperanto
 
Fare musica in esperanto : ieri, oggi, domani
Fare musica in esperanto : ieri, oggi, domaniFare musica in esperanto : ieri, oggi, domani
Fare musica in esperanto : ieri, oggi, domani
 
Hollywood Languages: The Challenge of Interlinguistics in the New Millennium
Hollywood Languages: The Challenge of Interlinguistics in the New MillenniumHollywood Languages: The Challenge of Interlinguistics in the New Millennium
Hollywood Languages: The Challenge of Interlinguistics in the New Millennium
 

Kürzlich hochgeladen

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 

Kürzlich hochgeladen (20)

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 

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
  • 31. The computing model of cooperative multitasking Warning! 19 of 29
  • 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
  • 38. A “graphic” videogame through ncurses library... 24 of 29
  • 39. ...and the first commercial desktop metaphor 25 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