1 / 18

Interactive Models for Design of Software-Intensive Systems

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)

Download Presentation

Interactive Models for Design of Software-Intensive Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interactive Models for Designof Software-Intensive Systems Dina GoldinUniv. of Connecticut, Brown Universityhttp://www.cse.uconn.edu/~dqg with David Keil, Univ. of Connecticut FInCo 2005

  2. 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 Interactive Computation:Rethinking Basic Assumptions 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 ofcomplex systems • as described by Simon (1969) FInCo 2005

  4. Science of Design • Coined by Herbert Simon • the Sciences of the Artificial, 1969 • Refers to design whose goal is to createcomplex 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. FInCo 2005

  5. Process of System Design I • Process goal is to create acomplex 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 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 FInCo 2005

  7. Simon’s discussion did not refer to software systems (only to mechanical / hardware systems) FInCo 2005

  8. The Shift to Interaction in CS Algorithmic Interactive 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 isdesign for interaction • Distinct from software design and from human-computer interaction • Converging with design of systems in general • Paradigm shift in design FInCo 2005

  10. Paradigm Shift in Design Algorithmic Interactive 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 atheory of interaction • tools and theoretical underpinnings of algorithmic design do not suffice 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 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 FInCo 2005

  14. in1 in1 in2 in2 w1 w1 w2 e out1 e out2 e S0 Sh S0 Sh 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. FInCo 2005

  15. Interaction Stream stream of inputs stream of outputs PTM memory Environment 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 PTM Computation PTM: N3TM with persistent stream-based computational semantics 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) 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 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 FInCo 2005

More Related