Upload
signe-vaughn
View
18
Download
0
Embed Size (px)
DESCRIPTION
Interactive Models for Design of Software-Intensive Systems. Dina Goldin Univ. of Connecticut, Brown University http://www.cse.uconn.edu/~dqg with David Keil, Univ. of Connecticut. computation : finite transformation of input to output input : finite-size (string or number) - PowerPoint PPT Presentation
Citation preview
Apr. 9, 2005 FInCo 2005 1
Interactive Models for Design
of Software-Intensive Systems
Dina GoldinUniv. of Connecticut, Brown University
http://www.cse.uconn.edu/~dqg
with David Keil, Univ. of Connecticut
Apr. 9, 2005 FInCo 2005 2
Interactive Computation:Rethinking Basic Assumptions
computation: finite transformation of input to output
input: finite-size (string or number)
closed system: all input available at start, all output generated at end
behavior: functions, algorithmic transformation of input data to output data
Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation
computation: ongoing process which performs a task or delivers a service
dynamically generated stream of input tokens (requests, percepts, messages)
open system: later inputs depend on earlier outputs and vice versa (I/O entanglement, history dependence)
behavior: processes, components, control devices, reactive systems, intelligent agents
Wegner’s conjecture: Interaction is more powerful than algorithms
Apr. 9, 2005 FInCo 2005 3
Software-Intensive Systems
• Convergence of two technical trends– Software systems are increasingly open, adaptive, and networked
– Everyday technology increasingly relies on embedded processors and communications
• Result: software-intensive (SI) systems – participate in their environment (embodied interaction, Dourish’01)
• Interaction is ubiquitous in SI systems– among software components, between such components and physical
devices, between both and humans, among humans, ….
• One of the best examples of complex systems – as described by Simon (1969)
Apr. 9, 2005 FInCo 2005 4
Science of Design
• Coined by Herbert Simon – the Sciences of the Artificial, 1969
• Refers to design whose goal is to create complex systems.– systems with interactive components
• The design process is a goal-driven search for a path to an artifact that satisfies design constraints.– Compare to the scientific method, which is a search for process
descriptions satisfying observed phenomena.
• Interaction is a fundamental concern.
Apr. 9, 2005 FInCo 2005 5
Process of System Design I
• Process goal is to create a complex system– Designer’s central concern is organizational structure of the
system, and the interaction of its components
• Begins with constraints on interactions (behavior)– can be viewed as system specification
– analogous to architecture, where the objective of design is to build spaces favorable to particular kinds of interaction with and within them
– inherently incomplete
• Searches for a system satisfying the constraints– terminates when results suffice (potentially infinite)
– analogous to anytime algorithms
Apr. 9, 2005 FInCo 2005 6
Process of System Design II
• Explores several tentative paths– often necessary when the design artifact cannot be assembled in
an additive way [Simon]– analogous to evolution (process of design of humans)
• Involves resource allocation– cannot explore all design paths– related to bounded rationality in AI
• Interactive– with iterative refinements based on observation of partial results– analogous to the scientific method– example: in safety-critical systems, a feedback path linking
development of system with analysis of system failure
Apr. 9, 2005 FInCo 2005 7
Simon’s discussion did not refer to software systems
(only to mechanical / hardware systems)
Apr. 9, 2005 FInCo 2005 8
The Shift to Interaction in CS
Computation = transforming input to output
Computation = providing a service over time
Logic and search in AI Intelligent agents, partially observable environments, learning
Procedure-oriented programming
Object-oriented programming
Closed systems Open adaptive systems
Compositional behavior Emergent behavior
Rule-based reasoning Simulation, control, semi-Markov processes
Algorithmic Interactive
Apr. 9, 2005 FInCo 2005 9
Towards SI Systems
• From software systems to software-intensive systems– Computing is distributed, real-time, embedded
– Software is only one aspect
– These are complex systems
• Designer’s central concern is organizational structure of the system, and the interaction of its components– Software components, physical components, human participants
• This is design for interaction– Distinct from software design and from human-computer interaction
– Converging with design of systems in general
– Paradigm shift in design
Apr. 9, 2005 FInCo 2005 10
Paradigm Shift in Design
Context-independent (closed systems)
Embedded and embodied (open systems)
Oriented to non-interactive problems
Oriented to systems that provide some service
Time concerns not formalized (algorithmic computation)
Quality of service (real-time computation)
Compositional behavior (actions combine linearly)
Emergent (non-compositional) behavior
Concern: development of algorithms
Concern: management of interaction
Algorithmic Interactive
Apr. 9, 2005 FInCo 2005 11
Design for Interaction
• Interdisciplinary in origin– drawing from economics, architecture, biology, among others
• Empirical observation as part of design process– driven in part by users of artifacts under design
• Involves prototypes– a continuum from first prototype to finished system
– design and development are merged
– analogous to driving home from work
• Underpinned by a theory of interaction– tools and theoretical underpinnings of algorithmic design do not suffice
Apr. 9, 2005 FInCo 2005 12
Towards Principles of Interaction
• Computational phenomena for complex systems – emergent behavior, stigmergy, self-organization, autonomous
and rational agents, coordination, openness– Cannot be properly understood without further study of the
principles of interaction
• Interactive principles – underlie design representation, reasoning, analysis, synthesis– multidisciplinary inspiration– domain-independent (applies to all components of SI systems)– based on new formal models
• Goal: to enunciate the principles of interaction and to characterize its expressiveness– Example: sequential interaction
Apr. 9, 2005 FInCo 2005 13
Sequential Interaction
• Sequential interactive computation:
system continuously interacts with its environment by alternately accepting an input string
and computing a corresponding output string.
• Examples:
- method invocations of an object instance in an OO language
- a C function with static variables- queries/updates to single-user databases- recurrent neural networks
- control systems- online computation- transducers- dynamic algorithms- embedded systems
Apr. 9, 2005 FInCo 2005 14
Persistent Turing Machine (PTM)
• Dynamic stream semantics- Inputs are streams of dynamically generated tokens (strings).
- For each input token, there is an N3TM computation generating the corresponding output token.
• Persistence (memory)- The contents w of the work tape at the beginning of each N3TM
computation is the same as at the end of the previous one.
...
in1
S0
Shout1
w1
in1 in2
S0
w1
Shout2
w2
in2
Apr. 9, 2005 FInCo 2005 15
PTM Computation
PTM: N3TM with persistent stream-based computational semantics
PTM
memory
Environment
Interaction Stream
stream of inputs
stream of outputs
Sequential Interaction Thesis [GSAS’04]
Whenever there is an effective method for performing sequential interactive computation, this computation
can be performed by a Persistent Turing Machine
Apr. 9, 2005 FInCo 2005 16
PTM Examples
• Example 1: Driving Agent
• Example 2: Answering Machine(simulate AM, will-do),
(record hello, ok), (erase, done), (record FInCO, ok),
(record Workshop, ok), (playback, FInCO Workshop), …
Simulation of other sequential interactive systems is analogous.
• Example 2: Universal PTM– simulates any other PTM
– need additional input describing the PTM (only once)
Apr. 9, 2005 FInCo 2005 17
Mathematics of the Science of Design
• First-order logic does not suffice– only suffices for compositional behavior– behavior of complex systems is not compositional– Reducing computing to FOL is not merely hard but impossible
[WG99a]
• Higher-order logics are needed– E.g. temporal logic of reactive systems
• Inductive approaches do not suffice [WG99b]
– Induction suffices for finite and static inputs and behaviors– Inputs and behaviors of complex systems are infinite and dynamic
• Coinductive approaches to definition & reasoning are needed– E.g. greatest-fixpoint approach for the space of systems satisfying a set
of constraints
Apr. 9, 2005 FInCo 2005 18
Looking at the Future
• Multiagent interaction– Multiple autonomous interaction streams
– Concurrent interaction
• Indirect Interaction– Via persistent observable changes to common environment
– In contrast to direct interaction, via message-passing
• Deviceless interaction– via gestures or facial expressions
• This all will require formal models