Tcl/Tk Workshop `95 - Thursday: Session 1
Introductions - William Willbrinks and Ben Bederson
Talked about agenda and introduced Program Committee.
Tcl-Dp Name Server - Peter T Liu, Brian Smith, Lawrence Rowe
Presented by Peter T. Liu
Introduction of what Tcl-Dp is (Distributed Programming for Tcl/Tk). Provides IP connection, blocking and non-blocking RPC, Etc..
Name server provides service management
- Maintain service info
- respond to queries
- Auto start services
- Redundant
- Authentication
- Ticket based (like Kerboros)
- External module interface
- extend functionality of name server
Provides standard client and server provider name server access. Can auto start services, via rsh or inetd.
Provides backup name servers. Implemented as one primary, multiple backups. Keep alive messages used to verify Primary alive by Backup.
Current status:
- ~3,500 lines of code
- All Tcl-DP
- Included info Tcl-Dp 3.3
Futures:
- Do load balancing
- Use backup as replicated servers
Questions:
- Explain Kerboras like authentication
- How does Backups decide on new Primary when Fail Over happens.
- How do the clients find the name server
- How to ensure that Backup that assumes Primary is most up to date
- What additional functionality over CORBA standard
Multiple Trace Composition and Its Use - Adam Sah
Talked about what are variable traces. Talked about using persistent objects and variable traces to "page" objects in and out as needed.
Talked about using trace to implement Constraints and Rule. Using Constraints and Rule together gives data integrity.
Problems are that traces don't compose, since you the order is not guaranteed. Fix is only disable current handler. Test implementation is to write command newtrace, done in Tcl. Semantics is backward compatible, for speed should be in core in C.
Questions:
- Can order be specified/rearranged
- Would apply to C traces as well as Tcl ones
- What are numbers on performance improvements
- Tracing on objects vs variables
TclProp: A Data-Propagation Formula Manager for Tcl and Tk - Joseph A. Konstan
Presented by Joseph A. Konstan
Data-propagation is declarative programming. Declare and enforce relationship among variables. Used to localize programming, don't have to worry about other pieces of program.
Commands:
- TclProp_formula <dest> <src_list> <code>
- TclProp_trigger <src_list> <code>
- TclProp_make_var <varname> [-read code] [-write code] [-rf freq]
- Used to interface to objects/code
Implementation:
Used trace and after commands. Breaks cycles at one repetition.
Limitations:
- Only global variables supported.
- TclProp_make_var is a hack
- Performance is so-so
Observations
- Small implementation, big gain
- Powerful enough for most implementations
- Provided lisp style "quote" command
Conclusions:
- Works http://www.cs.umn.edu/research/GAMS/
- Will be ditributed
Questions:
- Can formulas be disabled (no, not yet)
- Can formula evaluation order be controlled
- Cautions on failure modes with traces
Advances in the Pad++ Zoomable Graphics Widget - Benjamin B. Bederson and James D. Holla
Presented by Benjamin B. Bederson
Gave on-line demo. Claimed again that it will be available soon. Demoed several features: zooms, portals, lens, etc. Talked about mode for bindings. Two positions available, programmer and post-doc. When positions are filled, Pad++ will be made available. Send resumes to mailto:[email protected]
Questions:
- Can a portal show a data in another Toplevel (yes, within one process)
- How is mode different from bind tags (bind tags only apply to widgets, not inside canvas/text)
- Can a portal be created on a portal (yes)
- How does lens work?
- Simple message passing system
- Portals then handle a render message instead of doing defaults
- About coordinate system (Y is inverted from canvas)