L-06-Snakes.ppt

advertisement
Special Topics in Computer Science
Computational Modeling for
Snake-Based Robots
Design Rationale
Week 4
William Regli
Geometric and Intelligent Computing Laboratory
Department of Computer Science
Drexel University
http://gicl.cs.drexel.edu
1
Design Rationale
Definition: an explanation of why an artifact is designed the way it is:
– Constraints, functional models, behavioral models
– Information
– Deliberation, reasoning, decision making
– Trade-offs
• Design Rationale can be used to
– Structure design problems
– Provide basis exploration of more design options
– Reason among collaborating designers
– Record the history of design process
– Modify and maintain exiting designs
– Adapt existing design to similar design problems
2
Design Rationale is an explanation
of why an artifact is designed the
way it is
It includes information
• deliberation in design
• reasoning in design
• trade-off in design
• decision-making in design
3
Advantages of
using design rationale in
computer aided engineering
design
• Helps to structure design problem
• Provides a basis for designer to
explore more design options
• Used as a basis to discuss and reason
among collaborate designers
• Record the history of design process
• To modify and maintain the exiting
4
designs for design similar artifacts
Design Rationale
• Prototypes to support design activity in:
–
–
–
–
Mechanical Engineering
Architecture, Engineering and Construction
Chemical Engineering
Software Engineering
• Few systems have made it into practical use
• Past work from many disciplines:
– HCI, CSCW, Software Design, AI, Public Policy,
Organization Mgt., AEC, Mechanical Design
5
Major Approaches
• Process-oriented
represents a history of an artifact
• Feature-oriented
logical representation of an artifact
6
Fundamental Research Issues
• Rationale Representation schema
– How to represent the design rationale
• Rationale Capture
– How to record design information and convert it
into logic structure
• Rationale Retrieval
– How to provide design rationale in a design
context
• System Architecture
– How to integrate the many tools
7
Representation Schema
• Approaches:
Argument-based vs Descriptive
• Goals:
– Construction of logical structures based on
captured information
– Query specification and processing
– Machine interpretable
– Inclusion of multimedia information
Some examples (Argumental): IBIS, PHI
8
IBIS:
Issue-Based Information System
Issue
Responds
Position 1
Supports
Argument
Responds
Responds
Position 2
Supports
Argument
Position 3
Supports
Supports
Argument
Argument
Kunz & Rittel, 70
9
PHI:
Procedural Hierarchy of Issues
ISSUE:
What kind of conveyers should be used in material handling?
SUBISSUE:
1. What kind of conveyers should be used in bulk material handling?
…
2. Shat kind of conveyers should be used in unit material handling?
ANSWERS:
1. Gravity conveyers
SUBANSWERS:
1. Chutes, skate wheel conveyers
2. Roller conveyers
ARGUMENTS:
1. Its advantage is low cost, relatively low maintenance,
and negligible breakdown rate.
2. Its requirement is the ability to provide the
necessary gradient in the system configuration.
2. Powered conveyers
…
3. Chain-driven conveyers
…
4. Power-and free conveyers
…
McCall, 1991
10
Design Rationale Capture
• Two Phases
– Knowledge Recording
– Rationale Construction
• Goals:
– Unobtrusive
– Conversion
• captured information to formal knowledge
– Conflict Resolution
– Validity Maintenance
– Capture and indexing of multimedia-based
collaboration
11
Issues for Design Rationale
System Architectures
•
•
•
•
•
CAD-based
Stand alone
CSCW-based
Document-based
Automatic vs Human Input
12
Capture of design rationale
It can occur in the design team’s communications via
Computer-Supported Collaborative Work (CSCW) tools
•Electronic mail
•Phone conversations
•Archived design meeting
•Designers notebooks
13
Goals for
Design Rationale Retrieval
• Two Approaches:
– Navigation
– Automated/Semi-Automated Retrieval
• Goals:
– Ease of use
• convenient, understandable, efficient and user-friendly query
specification
– Understandable results
• Similar to problems in expert systems and KDD
– Triggering when in certain design contexts
• Agents that monitor design process
– Integration with other design support systems
14
Recent and Relevant Work
• EXPRESS Schema for Rationale
(Shah et al, 1999)
• Formal models, Gruber, 91
• McCall et al
– PHI (91), Hypertext (89)
• MacLean et al, 91
– Design Space Analysis (for HCI)
15
Recent and Relevant Work
(cont.)
• Concurrent teams, Klein, 93
• Machine Learning, Gruber et al, 91
• Rhetorical structures, decision
justification: Garcia et al, 92, 97
• Automatic, Myers et al, 1999
• Text analysis, Dong and Agogino, 1997
• From CSCW, Shipman & McCall 97
16
Open Issues: Representation
• Formal languages for Design Rationale
– Can we use KIF, Ontolingua, LOOM, XML, DAML, etc?
• Ontologies for Design Rationale
– Domain specific vs General
• Multidisciplinary representations,
multiple views and lifecycle uses
17
Open Issues: Capture
• Obtrusiveness: how much interference
with design activities?
• Knowledge Acquisition: how to infer
of argumentation and rationale from
design activity and raw communication?
• Non-Monotonicity: how to resolve
conflicts that arise as new knowledge is
acquired?
18
Open Issues: Retrieval
• Databases
– Multimedia, distributed, latency,
synchronization
• Navigation
– Filtering, hiding unneeded details,
generation of different views
• Higher-Level Indexing
– Case-Based Reasoning
19
Design
Repositories
Product
KnowledgeBase
Design
Rationale
Generic Design Rationale System
Architecture
Retrieval
Interactive
Design Rationale
Answer designers’
questions
Retrieve
by query
Navigate
Design Rationale
Formulate
Design document
Product
History
Design
Database
CAD
CAM
CAE
Analysis
Review similar
design cased
Design Reasoning
Evaluate Designs
Capture
Design
Case-base
Design Feedback
What should be
considered?
What have been
done?
Why designed this
way?
Is this against the
criteria and rules?
Representation
Schema
Capture from
Design Reasoning
Capture from
communication
CAD system
CAE system
CAM system
PDM system
Telecommunication
Collaborative Work
20
Recent Work at Drexel
• Integrate CAD tools with CSCW tools
– email, chat, audio/video conferencing
• Automate capture of design rationale in
a distributed engineering environment
• Represent Design Context
• Structure captured information for future
retrieval and case-based indexing of
design process
21
Challenges
• Represent design data as it changes
over time
• Relate collaboration/communication to
design data
• Add semantic content/context to
automatically captured design process
data and structure it for future retrieval
22
Approach
• CAD: SDRC I-DEAS
• CSCW: Collaborative Virtual Workspace (CVW)
from Mitre Corp.
• Email: Netscape Messenger
• Design context and content:
XML message model
• Database: Oracle 8
Objective: retrieval of design collaboration
associated with any model, part of a model,
feature of a part, or participant.
23
CVW Experiments
• Adapt CVW MOO to design space
– Rooms become parts and design constraints
• Design process archival agents
– Follow discussions and designers
– Archive raw design process
• Archive audio via speech-to-text
– CMU Sphinx
24
25
Studio Architecture
Client Tools
CAD System
(SDRC I-DEAS)
Open I-DEAS
(CORBA-based
communication layer)
Design Repository
Internet Client (Browser)
Retrieval Server
Email Client
Archival Server
Conferencing Client
(Whiteboard, Video, Audio,
Text)
Conferencing Server
Collaboration Archive
Message
Message
Message
x
y
z
Client Support Modules
Agents record design process collaboration in CVW MOO
and significant events in design space.
Email, chat, voice communications stored and
cross-referenced with design events and changes.
26
27
28
Representation
schema
It should be designed in the way that
• It is easy to construct the captured
information into logic structure
• It is easy to formulate answers for designers’
queries
• It is machine understandable so that it could
be processed by computer
• It is possible to connect the multimedia
information
29
Message Model Contents
<!ELEMENT COMMUNICATION (CONTEXT, CONTENTS)>
<!ELEMENT CONTENTS (SUBJECT, TEXT, FILE,
ATTACHMENT*)>
<!ELEMENT SUBJECT (#PCDATA)>
<!ELEMENT TEXT (#PCDATA)>
<!ELEMENT FILE EMPTY>
<!ELEMENT ATTACHMENT EMPTY>
<!ATTLIST COMMUNICATION
type (email | voicemail | chat |
conference | whiteboard) #REQUIRED
medium (text | video | audio |
graphics) "text">
<!ATTLIST SUBJECT
type (change_request | inquiry |
inquiry_response | advisory |
solution | problem | other) #REQUIRED>
<!ATTLIST FILE
src CDATA #REQUIRED>
<!ATTLIST ATTACHMENT
src CDATA #REQUIRED>
• subject of a particular
type
• text - contents of the
email, transcript of a
audio conference, etc.
• file - link to the
archived original
communication
• attachment - link to
optional attachment
included with a
communication
(especially for email)
30
Message Model Contexts
<!ELEMENT CONTEXT (DATE, USERS, DESIGNDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT USERS (INITIATOR, PARTICIPANT+)>
<!ELEMENT INITIATOR (FIRSTNAME, LASTNAME,
EMAIL?)>
<!ELEMENT PARTICIPANT (FIRSTNAME, LASTNAME,
EMAIL?)>
<!ELEMENT FIRSTNAME (#PCDATA)>
<!ELEMENT LASTNAME (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
<!ELEMENT DESIGNDATA
(PROJECT,ASSEMBLY,PART*)>
<!ELEMENT PROJECT (#PCDATA)>
<!ELEMENT ASSEMBLY (#PCDATA)>
<!ELEMENT PART (ID, NAME, NUMBER, VERSION)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT NUMBER (#PCDATA)>
<!ELEMENT VERSION (#PCDATA)>
• list of participants,
consisting of an
author/originator and
possibly more than
one recipient
• text - contents of the
email, transcript of an
audio conference, etc.
• design data –
selection of a
designer using
IDEAS, such as a
part, in question
31
Lessons Learned to Date
• Tight integration of CAD and CSCW
needed to capture design process
• COTS software vs. open source
– NetMeeting or CVW?
– Netscape/Eudora/Outlook or JavaMail
• Standard CAD API
– Open I-DEAS, JMDL, Pro/DEVELOP…
• Formal user studies needed for real design
problems
32
Engineering Repositories: Digital
Libraries for Design and Manufacture
 s  M(θ)  θ  V(θ, θ )  G(θ)  F(θ, θ )
Engineering Digital Libraries contain CAD
models, assemblies, plans, revisions, S-B-F
models, project information and workflows, design rationale,
email, collaborative activity...
33
National Design Repository
http://www.designrepository.org
http://repos.mcs.drexel.edu
•
•
•
Over 55,000 CAD and assembly models
Over 10GBs of real data
Contributions from all major CAD
vendors
Our goal: integrate
traditional CAD data with
collaborative design
process
34
Capturing Design Context in
Distributed Communication of
Software Engineers
By Vera Zaychik
Advisor: Dr. William C. Regli
Committee Members:
Dr. Spiros Mancoridis
Dr. Michael E. Atwood
35
Overview
•
•
•
•
•
•
•
Motivation
Background research
Approach
Implementation
Demonstration (CodeLink)
Future work
Conclusion
36
Motivation
• Improve communication between software
developers
– Software development is increasingly distributed
– Communication tools lack context
• Preserve development process history
– Decisions made by the developers are poorly
reflected in the documentation
“It’s been said that if NASA wanted to go to the moon again, it
would have to start from scratch, having lost not the data, but the
human expertise that took it there the last time”
- John Seely Brown, Paul Duguid “The social life of information”
37
Scenarios
• Scenario 1: Communication
– Need to insert a reference to
code
• Scenario 2: History
– Need information about past
decisions, alternatives
considered, changes made
38
My Approach: Enhanced
Collaboration
• Extract context from development
environment
• Include context into email communication
• Archive email exchanges
• Provide search and browsing of the archives
• Extract process history from archived
information
39
Scenarios Modified
• Scenario 1: Communication
– Developer can insert links to specific code
– Recipient just needs to click on the link
• Scenario 2: History
– Look at the messages associated with the
code in question
– Browse/search the collaboration archive
40
Issues
1.
2.
3.
4.
5.
What data to capture
How to represent it
How to capture it
How to store it
How to retrieve it
41
Related Work - Email
• Primary work tool – 97% of workers
• Not adapted for context, workflow, and
negotiation
• Example systems: MESSIE,
Coordinator, COSMOS
42
Related Work - Design
Rationale
• The how and why of development
• Helps in correctness and speed during
maintenance, redesign, etc.
• Example systems in SE: Comet,
COMANCHE, PPIS
• All approaches can be categorized based on:
– Capture (automatic vs. manual)
– Structure (argumentation-based vs. descriptive)
– Retrieval (navigation and query, trigger methods)
43
Automatic DR
• User-intervention approach is rejected:
– Alters the process
– Intrusive, bothersome
• Specialized domain systems:
– SAAMPad
– RCF
• Communication perspective:
– Communication contains process information
– Difficult to structure
– Design History/Design Notebook style
44
Related Work Summary
Lessons:
• Least Interference
• Email – easy to capture, difficult to retrieve
efficiently
• Need context
Conclusion:
• Use automatic capture
• Augment existing tools
• Structure by context information
45
Our Assumptions
• Group software project
• Some communication by email
• Version control software
46
Context
• Background knowledge, cues
Task:
- user actions
- specific task
at hand
Social:
- role in the group
- alliances and
oppositions
Personal:
- pulse
- gaze
Spatio-temporal:
- time
- location
47
Context (cont.)
•
•
•
•
Discourse exists in context
Context can be more or less general
Time matters
Context enables enhanced recall and
precision of results in searching
• Context-aware applications in mobile and
wearable computing (EDC, Augmented
Reality, Conference Assistant, Anchored
Conversations)
48
Context Formalization
• C = <P,T,E> at time t
• P - project information on different levels of
abstraction
–
–
–
–
–
Name and location
File name and version
Class
Function name
Line number
• T – Task
• E – Personal Environment
49
Context in Current
Implementation
Language specific
Field
C++
Function name return_type
name (args) {
Class name
class name {
C
return_type
name (args) {
Java
return_type
name (args)
[throws
exception] {
not applicable class name
[extends,
implements] {
Perl
sub name
[(args)] {
not applicable
Package name not applicable not applicable package name; package name;
Language unspecific
–Project name and location
–Line number
50
Architecture
User Interface Component
Source Code
Editor
Email Client
(VM)
DR Component
Navigation
Annotation/
Structuring
Context Extraction Module
(CodeLink)
Client Side
Server Side
Email Server
Access Control
Module
CVS Repository
Archival Module
WWW Access
Module
Communication Repository
(PostgreSQL)
51
CodeLink
•
•
•
•
•
•
Context Extractor – VM, Emacs, Elisp
MIME Handler – Perl
CVS Access Control - Perl
Message Archiver - Perl
Web Interface – cgi Perl
Message annotated code - Perl
52
53
Message Ontology
54
Context Extraction
Email Client VM
1. codelinkinsert-context
CodeLink
9. vm-attachdaml/code-link
7. version,
location
CVS Access
Control Module
8. encode-daml
2. codelinkextract-context
4. CVSPUT
3. context 5. checkin
Code Editor Emacs
6. version
CVS
55
Retrieval
• Web Interface
– Browse or search
– Add links
– Add notes
– Grouping
• Annotated code
– Mapping back to artifact
56
Limitations
•
•
•
•
Ratio of code-linked messages to all
Extensibility
Security
Privacy
57
Future Work
•
•
•
•
Visualization
Inference
User studies
Integration with other tools and media
58
Conclusions
• Improved communication ability
– Less time
– Less ambiguity
• Automatic DR capture
– Less user intervention
• Better structured data
• Usability:
– Builds on existing software
– Point-and-click
59
For More Information
http://edge.mcs.drexel.edu/GICL/people/
zaychik/thesis.htm
This work was supported in part by the
National Science Foundation Graduate
Research Fellowship
60
Acknowledgments
National Science Foundation
Knowledge & Distributed Intelligence (KDI)
Initiative Grant # CISE/IIS-9873005
“Networked Engineering”
Graduate Research Fellowship Program
SDRC
Bentley Systems
AT&T Labs, Internet Platforms Technology
61
Representation Schema
Issue-Based Information System (IBIS) is one of the
example
Issue
responds to
Position 1
Supports to
Argument 1
responds to
Position 2
Supports to
Argument 1
responds to
Position 3
Supports to
Argument 1
Supports to
Argument 1
62
Representation Schema
Procedural Hierarchy of Issues (PHI) is another example
ISSUE:
What kind of conveyers should be used in material handling?
SUBISSUE:
1. What kind of conveyers should be used in bulk material handling?
…
2. Shat kind of conveyers should be used in unit material handling?
ANSWERS:
1. Gravity conveyers
SUBANSWERS:
1. Chutes, skate wheel conveyers
2. Roller conveyers
ARGUMENTS:
1. Its advantage is low cost, relatively low maintenance, and negligible
breakdown rate.
2. Its requirement is the ability to provide the necessary gradient in the
system configuration.
2. Powered conveyers
…
3. Chain-driven conveyers
…
63
References
•
•
•
•
•
•
HCI Issues in Collaborative and Networked Engineering Design. Regli and
Hewett, ACM Conference on Human-Computer Interaction, Workshop on HCI in
Application Domains, 1999.
Digital Library Support for Engineering Design and Manufacturing. Regli. ASME
Design Technical Conferences, Eleventh Computers in Engineering Conference,
1999
Issues in Building and Evaluating Networked Engineering Environments. Regli,
Zaychik, Hewett and Sevy. Proceedings of the Fourth IFIP WG 5.2 Workshop on
Knowledge Intensive CAD, 2000
Evaluating Collaborative Engineering Environments. Sevy, Zaychik, Hewett and
Regli. IEEE Eighth International Workshops on Enabling Technologies:
Infrastructure for Collaborative Enterprises, 2000.
Design Rationale: Representation, Retrieval and Reuse. Hu, J. Pang, Y. Pang,
Regli, Atwood, and Sun. ASME Design Technical Conferences, Fifth Design for
Manufacturing Conference, 2000.
Managing Digital Libraries for Computer-Aided Design, Regli, Cicirello. Journal
of Computer Aided Design, 2000. Special Issue on ``CAD After 2000''
64
Download