Visual Programming Languages: ThingLab - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Visual Programming Languages: ThingLab

Description:

Stanford doctoral thesis by Alan Borning, 1979. Developed at Xerox PARC in ... Allows incomprehensible structures. No concept of time or flow. 16. Conclusion ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 17
Provided by: theunsv
Category:

less

Transcript and Presenter's Notes

Title: Visual Programming Languages: ThingLab


1
Visual Programming Languages ThingLab
  • Theuns Verwoerd
  • May 1999

2
Ancestry of the ThingLab system
  • Sketchpad
  • Master/Instance relationships
  • Constraints
  • Merge points
  • Smalltalk
  • Object orientation
  • Inheritance

3
Origins of ThingLab
  • Stanford doctoral thesis by Alan Borning, 1979
  • Developed at Xerox PARC in Smalltalk-76
  • Aims
  • Educational, modelling tool
  • Expanding language boundaries
  • Extensibility to new domains

4
Core concepts
  • Constraints
  • Defines relationships between objects
  • Multidirectional
  • Simplifies component specification
  • Implemented as Rule/Satisfaction Method pairs
  • Managed automatically by ThingLab
  • eg. sum value a value b value

5
Core concepts (2)
  • Object orientation
  • Multiple inheritance
  • Part-whole structure
  • Paths to access subsidiary objects
  • Definition by example - prototypes
  • Merges
  • Identifies parts shared between objects

6
User Interface
  • Panes
  • Class
  • Format
  • Message
  • Argument
  • Work space
  • Displays prototype image

7
User Interface (2)
  • Alternative item views
  • Structure
  • Prototype values

8
Defining new components
  • Done via text source files
  • Constraint format

Constraint owner Plus prototype rule 'sum
value (a valueb value)' methods ('sum
primitiveSet.value a valueb value' 'a
primitiveSet.value sum value-b value' 'b
primitiveSet.value sum value-a value')!
9
Some applications
10
More Applications
11
VPL Aspects
  • Is it a VPL or a toolkit?
  • Abstraction Highly concrete
  • Immersive Encourages experimentation, not
    analysis
  • Rule (constraint) base
  • Usage aimed at novice users, not system
    development

12
VPL Aspects (2)
  • Handling complexity
  • User-defined composite components
  • Problems with large systems
  • Representing relationships
  • Generally by connection
  • Not uniform - sometimes not shown
  • Icons vary by component

13
VPL Aspects (3)
  • Connection structures
  • May form networks
  • Hierarchic structure encouraged by composite
    components
  • Uses gestures to establish associations
  • Animation effects - minimal
  • Colour use - non-existent

14
Good points of ThingLab
  • Very intuitive for users
  • Highly extensible
  • Whole/part decomposition simplifies development
  • Continuous, immediate feedback

15
Problems with ThingLab
  • Installation difficult
  • Minimal documentation available
  • Fragile - no error recovery
  • Scaling problems - time and screen space
  • Allows incomprehensible structures
  • No concept of time or flow

16
Conclusion
  • Attains stated goals well
  • Implementation imperfect, but can be fixed
  • Serious scaling problems
  • Has great potential as a training tool
  • Questions
Write a Comment
User Comments (0)
About PowerShow.com