Seeding, Evolutionary Growth, and Reseeding

Similar documents
1. Introduction. 2. Problems and Challenges for Future Software Systems. Domain-Oriented Design Environments

Seeding, Evolutionary Growth, and Reseeding: Constructing, Capturing, and Evolving Knowledge in Domain- Oriented Design Environments

Meta Design: Beyond User-Centered and Participatory Design

Domain-Oriented Design Environments: Knowledge-Based Systems for the Real World

Wisdom is not the product of schooling but the lifelong attempt to acquire it. - Albert Einstein

Embedding Critics in Design Environments

Design, Learning, Collaboration and New Media. A Co-Evolutionary HCI Perspective

Chapter 2 Understanding and Conceptualizing Interaction. Anna Loparev Intro HCI University of Rochester 01/29/2013. Problem space

in the New Zealand Curriculum

Articulating the Task at Hand and Making Information Relevant to It

Evolutionary Design of Open, Complex Systems. Gerhard Fischer

Q1 University of Colorado at Boulder

A SYSTEMIC APPROACH TO KNOWLEDGE SOCIETY FORESIGHT. THE ROMANIAN CASE

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

Beyond Binary Choices: Integrating Individual and Social Creativity

Course Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007

Distributed Cognition: A Conceptual Framework for Design-for-All

UNIT-III LIFE-CYCLE PHASES

Seeding, Evolutionary Growth and Reseeding: The Incremental Development of Collaborative Design Environments

Sales Configurator Information Systems Design Theory

Computational Environments Supporting Creativity in the Context of Lifelong Learning and Design

Neuro-Fuzzy and Soft Computing: Fuzzy Sets. Chapter 1 of Neuro-Fuzzy and Soft Computing by Jang, Sun and Mizutani

Despite the euphonic name, the words in the program title actually do describe what we're trying to do:

Thriving Systems Theory:

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

AI Principles, Semester 2, Week 1, Lecture 2, Cognitive Science and AI Applications. The Computational and Representational Understanding of Mind

Adopted CTE Course Blueprint of Essential Standards

Chapter 1: Introduction to Neuro-Fuzzy (NF) and Soft Computing (SC)

Context Sensitive Interactive Systems Design: A Framework for Representation of contexts

Domain Understanding and Requirements Elicitation

Introduction to AI. What is Artificial Intelligence?

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli

Lecture 6: HCI, advanced course, Design rationale for HCI

Design Technology. IB DP course syllabus

Reverse Engineering A Roadmap

HUMAN COMPUTER INTERFACE

Innovative Media in Support of Distributed Intelligence and Lifelong Learning

Design thinking, process and creative techniques

SOFT 423: Software Requirements

UNIT VIII SYSTEM METHODOLOGY 2014

Executive Summary Industry s Responsibility in Promoting Responsible Development and Use:

Systems Engineering Overview. Axel Claudio Alex Gonzalez

UCI Knowledge Management Meeting March 28, David Redmiles

Moving to Model-Based Design

Context-sensitive Approach for Interactive Systems Design: Modular Scenario-based Methods for Context Representation

Map of Human Computer Interaction. Overview: Map of Human Computer Interaction

Grundlagen des Software Engineering Fundamentals of Software Engineering

Towards a Software Engineering Research Framework: Extending Design Science Research

Cover Page. The handle holds various files of this Leiden University dissertation.

Expectation-based Learning in Design

Glossary of terms. Short explanation

Engineered Resilient Systems DoD Science and Technology Priority

Issue Article Vol.30 No.2, April 1998 Article Issue

Software Life Cycle Models

About Software Engineering.

SOFTWARE ARCHITECTURE

Design Science Research Methods. Prof. Dr. Roel Wieringa University of Twente, The Netherlands

The Need for Hypotheses in Informatics

Rajdeep Kaur Aulakh Department of Computer Science and Engineering

Creativity and Evolution: A Metadesign Perspective

Methodology. Ben Bogart July 28 th, 2011

CPE/CSC 580: Intelligent Agents

An introduction to software development. Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University

Creativity and Evolution: A Metadesign Perspective

End-User Development and Meta-Design: Foundations for Cultures of Participation

The Intelligent Computer. Winston, Chapter 1

Artificial Intelligence: An overview

TIES: An Engineering Design Methodology and System

Software-Intensive Systems Producibility

Open Source Voices Interview Series Podcast, Episode 03: How Is Open Source Important to the Future of Robotics? English Transcript

Outline. What is AI? A brief history of AI State of the art

Virtual Model Validation for Economics

Requirement Definition

Infrastructure for Systematic Innovation Enterprise

Interoperable systems that are trusted and secure

Below is provided a chapter summary of the dissertation that lays out the topics under discussion.

A Three Cycle View of Design Science Research

Agent-Based Modeling and Simulation of Collaborative Social Networks Research in Progress

This list supersedes the one published in the November 2002 issue of CR.

Evolving Enterprise Architecture

Recommender Systems TIETS43 Collaborative Filtering

2IMP25 Software Evolution. Software Evolution. Alexander Serebrenik

Introduction to Design Science Methodology

Context-Aware Interaction in a Mobile Environment

Introductions. Characterizing Knowledge Management Tools

The Future of Systems Engineering

CS 3724 Introduction to HCI

Interaction Design in Digital Libraries : Some critical issues

Introduction to adoption of lean canvas in software test architecture design

Embedding Digital Preservation across the Organisation: A Case Study of Internal Collaboration in the National Library of New Zealand

Design Rationale as an Enabling Factor for Concurrent Process Engineering

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS

An Unreal Based Platform for Developing Intelligent Virtual Agents

Chapter 7 Requirements Engineering

Goals of this Course. CSE 473 Artificial Intelligence. AI as Science. AI as Engineering. Dieter Fox Colin Zheng

Socio-cognitive Engineering

Moonzoo Kim. KAIST CS350 Intro. to SE Spring

CIS1109 merged questions

What is a Meme? Brent Silby 1. What is a Meme? By BRENT SILBY. Department of Philosophy University of Canterbury Copyright Brent Silby 2000

The Next Generation Science Standards Grades 6-8

Transcription:

Wisdom is not the product of schooling but the lifelong attempt to acquire it. - Albert Einstein Seeding, Evolutionary Growth, and Reseeding Ernesto Arias & Gerhard Fischer and Andy Gorman, Rogerio de Paula & Eric Scharff ATLAS TAM Course, Spring 2000 Arias / Fischer 1 Spring 2000, Information Society Course

Complex Systems: Why Do They Need to Evolve and How Can Evolution Be Supported the basic message: computational systems of the future - will be complex, embedded systems - need to be open and not closed - will evolve through their use examples: - domain-oriented design environments (DODEs) * kitchen design: extensions for microwaves, critics checking appliances against the wall (unless island kitchens), designs for disabled people (blind, in wheelchairs) * computer network design: new computers, new communication devices - Envisionment and Discovery Collaboratory (EDC) (versus SimCity) - operating systems (Linux) and high-functionality applications (MS-Word, Canvas,...) - courses as seeds - buildings (see Stewart Brand: How Buildings Learn - What Happens after they re built ) Arias / Fischer 2 Spring 2000, Information Society Course

The Past and The Future Theme Past Future focus of interest algorithm complex system relevant theories physics, mathematics biology design methodology building from scratch reuse, redesign, adaptation, evolution claims/challenges: - (many) software systems must evolve (they cannot be completely designed prior to use) - (many) software systems must evolve at the hands of the users - (many) software systems must be designed for evolution Arias / Fischer 3 Spring 2000, Information Society Course

Problems of Complex (Computer) System Design problems in semantically rich domains ----> thin spread of application knowledge modeling a changing world ----> changing and conflicting requirements turning a vague idea about an ill-defined problem into a specification ----> design disasters, up-stream activities symmetry of ignorance ----> communication and coordination problems Arias / Fischer 4 Spring 2000, Information Society Course

Answers to Problems of System Design problems in semantically rich domains thin spread of application knowledge domain-orientation modeling a (changing) world changing and conflicting requirements evolution turning a vague idea about an ill-defined problem into a specification design disasters, up-stream activities integration of problem framing and problem solving symmetry of ignorance communication and coordination problems representation for mutual understanding and mutual learning Arias / Fischer 5 Spring 2000, Information Society Course

Theory and Practice of Design A Quest for Evolution Dawkins The Blind Watchmaker : big-step reductionism cannot work as an explanation of mechanism; we can't explain a complex thing as originating in a single step Simon The Sciences of the Artificial : complex systems evolve faster if they can build on stable subsystems Petroski To Engineer Is Human : the role of failure in successful design Brooks No Silver Bullet : successful software gets changed, because it offers the possibility to evolve Polanyi The Tacit Dimension : knowledge is tacit we know more than we can say Arias / Fischer 6 Spring 2000, Information Society Course

Karl Popper: Conjectures and Refutations John Archibald Wheeler: Our whole problem is to make the mistakes as fast as possible. (foreword to the book) breakdowns as opportunities criticism of our conjectures is of decisive importance and all of our knowledge grows only through the correcting of our mistake critiquing systems there are all kinds of sources of our knowledge but none has authority symmetry of ignorance and mutual competency the advance of knowledge consists in the modification of earlier knowledge evolution Arias / Fischer 7 Spring 2000, Information Society Course

The Economic Forces for Evolution in Software Systems the most critical software problem is the cost of maintenance and evolution - empirical studies of software costs: two-thirds of the costs of a large system occur after the system is delivered - claim: much of this cost is due to the fact that a considerable amount of essential information (such as design rationale) is lost during development and must be reconstructed by the designers who maintain and evolve the system make enhancements and evolution first class activities in the lifetime of an artifact - accept the reality of change - acknowledge increased up-front costs (cognitive and economic) Arias / Fischer 8 Spring 2000, Information Society Course

Integrating Problem Framing and Problem Solving Simon: in oil painting every new spot of pigment laid on the canvas creates some kind of pattern that provides a continuing source of new ideas to the painter. The painting process is a process of cyclical interaction between the painter and canvas in which current goals lead to new applications of paint, while the gradually changing pattern suggests new goals. Rittel: one cannot understand a problem without having a concept of the solution in mind one cannot gather information meaningfully unless one has understood the problem but one cannot understand the problem without information about it concepts derived from these quotes: - back-talk of artifacts/situations - reflection-in-action - incremental development - co-evolution between problem and solution - integration / co-evolution of upstream and downstream activities empirical study: McGuckin Arias / Fischer 9 Spring 2000, Information Society Course

AEGIS: Human Nature versus Human Error core of Aegis (worth 600 millions dollars): combat information center (CIC) in the Strait of Hormuz incident - search in a ordinary paperback airline flight guide - scenario fulfillment congressional hearings (Navy, Psychologists,...) - Navy: Aegis system's performance was excellent it functioned as designed - Psychologist: Aegis software was churning out more unrelated data than the crew could readily digest Aegis was the wrong system in the wrong place: designed for the open ocean, not for the twenty-five mile Strait of Hormuz unarticulated background knowledge limits in testing (we test for what we are anticipating) Arias / Fischer 10 Spring 2000, Information Society Course

Three Generations of Design Methods from the History of Architectural Design 1st Generation (before 1970): - directionality and causality - separation of analysis from synthesis - major drawbacks: (a) perceived by the designers as being unnatural, and (b) does not correspond to actual design practice 2nd Generation in the early 70'es: - participation expertise in design is distributed among all participants - argumentation various positions on each issue - major drawback: insisting on total participation neglects expertise possessed by well-informed and skilled designers 3rd Generation (in the late 70'es): - inspired by Popper: the role of the designer is to make expert design conjectures - these conjectures must be open to refutation and rejection by the people for whom they are made (---> end-user modifiability) Arias / Fischer 11 Spring 2000, Information Society Course

Domain-Oriented Design Environments and Evolution support the construction and evolution of domains (program families) empirical fact: reuse is most successful within domains not just objects, but: - case libraries (different granularity) - critiquing (accumulated wisdom of a community of practice, virtual stakeholders) - specification component partial characterization of a situation model - simulation to understand the behavior - argumentation to explore the rationale behind the artifact Arias / Fischer 12 Spring 2000, Information Society Course

(4) (1) (5) (3) (2) Arias / Fischer 13 Spring 2000, Information Society Course

(2) (4) (1) (3) Arias / Fischer 14 Spring 2000, Information Society Course

user interface design Framer Examples of DODEs floor plan design for kitchens Janus, KID graphics software Explainer computer network design Network, Pronet water management Cadswes (with CU research center) Cobol programming and service provisioning GRACE (with NYNEX) voice dialog design VDDE (with USWest) lunar habitat design HERMES (with NASA) graphic arts, information design, information visualization Schemechart, Chart n Art multi-media design environment emma (with SRA) Arias / Fischer 15 Spring 2000, Information Society Course

Seeding, Evolutionary Growth, and Reseeding seeding - seed a domain-specific DODE using the domain-independent, multifaceted architecture - provide representations for mutual learning and understanding between the involved stakeholders - make the seed useful and usable enough that it is used by domain workers evolutionary growth - co-evolution between individual artifacts and the DODE - learning on demand and end-user modifiability complement each other - emerging human resources: local developers, power users, gardeners reseeding - formalize, generalize, structure - a social and technical challenge success example of the SER model: - development of operating systems - open source movement - courses as seeds Arias / Fischer 16 Spring 2000, Information Society Course

Evolution at All Three Levels evolution at the conceptual framework level - end-user modifiable DODEs - example: multifaceted, domain-independent architecture evolution of the domain - evolution was driven by new needs and expectations of users as well as new technology - example: computer network design evolution of individual artifacts - long-term, indirect collaboration - design rationale - example: the computer network at CU Boulder co-evolution - problem framing and problem solving (specification and implementation) - individual artifact and generic, domain-oriented design environment Arias / Fischer 17 Spring 2000, Information Society Course

Ca al t pl r oe r A r gu on mati ent Ca al t pl r oe r Sp cif eic ton ai Ma ch r te A r gu on mati ent The Seeding, Evolutionary Growth, and Reseeding (SER) Model L e g e n d Artifact Artifact A Artifact B build on lower level modify lower level Client Do m ain Design er En vironm e nt Dev eloper levels DODE Seeding Evolutionary Growth ReSeeding Multifaceted Architecture og Cat al pl r Ex oer Specification Catal og og Ex gumen Ar ton at i lor Ilus at r og Cat al pl r Ex oer Specificat ion Catal og og Ex Spe cifica ton i Mat che r tr onti Cons uc on ti Con st uc r Ana lzer y gumen Ar tat oni lorat Ilus r time Arias / Fischer 18 Spring 2000, Information Society Course

The Evolution towards End-User Modifiable DODEs General Programming Environments, e.g., Lisp,... limited reuse Object-Oriented Design, e.g., Smalltalk, Clos, C++,... lack of domain-orientation Domain-Oriented Construction Kits, e.g., Pinball, Music Construction Kits no feedback about quality of artifact Constructive Design Environments, e.g., critics, explanations design is an argumentative process Integrated Design Environments, e.g., combining construction and argumentation lack of shared context Multifaceted Architecture limited evolution Programmable End-User Modifiable Design Environments Arias / Fischer 19 Spring 2000, Information Society Course

Understanding Pitfalls Associated with Evolutionary Design example: - Oregon Experiment (Alexander et al., 1975) - a housing experiment at the University of Oregon instantiating the concept of end user-driven evolution - an interesting case study that end user-driven evolution is no guarantee for success the analysis of its unsustainability indicated two major reasons: - there was a lack of continuity over time - professional developers and users did not collaborate, so there was a lack of synergy rationale for reseeding: - making evolutionary development more predictable) - developers and users engage in intense collaborations with design rationale captured, communication enhanced, and end user modifiability supported, developers have a rich source of information to evolve the system in the way users really need it Arias / Fischer 20 Spring 2000, Information Society Course

Evolution in Biology versus Evolution in the Human-Made World a Word of Caution the evolutionary metaphor must be approached with caution because - there are vast differences between the world of the made and the world of the born - one is the result of purposeful human activity, the other the outcome of a random natural process. does software develop according to the punctuated equilibrium theory? - if yes, what causes the periods of increased change (subroutines, object-oriented programming, the world-wide web)? Arias / Fischer 21 Spring 2000, Information Society Course

Punctuated Equilibrium Arias / Fischer 22 Spring 2000, Information Society Course

Prototypes of Systems Supporting Evolution Modifier (end-user modifiability component of Janus) - mechanisms to add new objects and new behavior by the domain designer Gimme - web-based group memory system - supports communication between all stakeholders Expectation Agents (with NYNEX, UC Irvine) - support communication between developers and end-users - observe actions of end-users and compare them to descriptions of the intended use Chart n Art (self-disclosure) - a gentle transition from direct manipulation interfaces to end-user programming Visual Agent Talk (VAT) - representations of conditions, actions and rules as graphical objects - interface support (drag and drop) for end-user programming Arias / Fischer 23 Spring 2000, Information Society Course

Conclusions complex (software) systems should be regarded as living entities which are open and evolve the seeding, evolutionary growth, reseeding (SER) model is a feasible model for the evolutionary design of complex software systems complex (software) systems need to be evolvable by their users, not just by their developers these requirements create many interesting research challenges for - end-user modifiability - decentralized system development - new conceptualization of the WWW - culture changes in individuals (consumers designers) and organizations Arias / Fischer 24 Spring 2000, Information Society Course