Friday, April 20, 2012

Interactive computation

''A Theory of Interactive Computation (Presentation)
Modern computer systems are built from components that communicate and compute, while interacting with their environment. 
- Web Server & Client (Server/Client Model)
- Ubiquitous computing

Traditional Model is incomplete! ... 
Purpose of Interactive System ... 
   Not to compute some finial result
   React to environment or Interact with environment 
   Maintain a well-defined action-reaction behavior'' [source]

''Computers today are not only the calculation tools - they are directly 
(inter)acting in the physical world which itself may be conceived of as the 
universal computer (Zuse, Fredkin, Wolfram, Chaitin, Lloyd). In expanding its 
domains from abstract logical symbol manipulation to physical embedded and 
networked devices, computing goes beyond Church-Turing limit (Copeland, 
Siegelman, Burgin, Schachter). 
Computational processes are distributed, reactive, interactive, agent-based and concurrent. The main criterion of success of computation is not its termination, but the adequacy of its response, its speed, generality and flexibility; adaptability, and tolerance to noise, error, faults, and damage. Interactive computing is a generalization of Turing computing, and it calls for new conceptualizations (Goldin, Wegner). 
In the info-computationalist framework, with computation seen as information 
processing, natural computation appears as the most suitable paradigm of 
computation and information semantics requires logical pluralism.'' [source]

''Programming Languages For Interactive Computing.
Traditional programming languages are algorithmic: they are best suited to writing programs that acquire
all their inputs before executing and only produce a result on termination. By contrast most applications
are interactive: they maintain ongoing interactions with their environments. ...
I describe a programming model called declarative interaction which supports
interaction directly. The distinguishing feature of the model is its modal construal of state and interaction. ...
We shall rather informally understand an interactive programming language
(IPL) as follows. An IPL allows programmers to build interactive systems that conform to the declarative interaction model { that is to say systems which have a
modal notion of state, that separate stateful reactive computation from a declarative
core language, and that are incremental, concurrent, transactional and persistent {
in an \immediate" or direct way which is qualitatively di®erent both from the batch-
style edit-compile-execute cycle and from the read-eval-print loop of traditional
interactive programming environments such as Lisp. ...

An IPL is neither compiled nor
interpreted in the traditional sense: it is itself an interactive system that conforms to
the declarative interaction model, although it may not have been built using it. The
\state" at any point in time of an implementation of an IPL is a partially terminated
program in the declarative core language: \programming" is just interacting with
its state. Its initial state is just the null program; the user can edit this into any
program in the space of possible programs in the declarative core language.


An early experiment [...] showed how the untyped lambda calculus can be made interactive; a more recent investigation (unpublished) suggests that object-oriented languages can be treated similarly. Interactive logic and relational programming languages are presumably feasible.


To follow some of these papers one need to know about omega languages (where strings can be infinite):
''... an ω-language L over Σ is a subset of Σω. '' 
and omega itself comes from Cantor's transfinite numbers: nice intro here.

No comments:

Post a Comment