Advanced SCIRun/BioPSE Elements: GUIs, Core Libs, Contributions Support

advertisement
Developer Session #3
Advanced SCIRun/BioPSE
Elements: GUIs, Core Libs,
Contributions & Support
NCRR
GUIs
Developer Session #3
Expose variables
Visual feedback
Module/UI
synchronization
• GuiVar
• tcl interpreter
$this-c [args]
NCRR
Threads
Developer Session #3
Intra-, inter-module parallelism
Architecture independent
• pthreads
• sgi threads
Inter-thread communication
• mutex, barrier, mailbox
Easy to allocate/launch
NCRR
Persistent I/O (“Pio”)
Developer Session #3
Read/write C++ classes
Recursively descend classes
Fix pointers
Versioning for backward
compatability
XDR for architecture independence
Not meant to be human-edited… no
fault-tolerance!
NCRR
Namespaces, STL
Developer Session #3
Each Package defines its own
namespace: e.g. SCIRun, BioPSE
STL used for maps, vectors, strings
iostream: std::cerr (not iostream.h)
NCRR
Contributing Patches
Developer Session #3
Bugzilla
Open a bug report
Return to bug report, submit
attachment
Preferable to emailing
scirun-develop!
NCRR
Contributing Modules
Developer Session #3
Same as patch, but also need…
1) Design spec (in XML file)
2) Documentation (can be in XML)
3) Validation net
4) Validation datasets
Non-conflicting license
May appear in our next code release
NCRR
Documentation
Developer Session #3
http://internal.sci.utah.edu/developer/doc/
NCRR
Developer Support
Developer Session #3
Documentation
• Programmer’s Guide
• Module descriptions
• Online code views
• FAQ
Mailing List
Direct Contact
• Email and Bugzilla
• Network meetings (Access Grid)
NCRR
Installation Support
Developer Session #3
Documentation
• Quick Start
• Installation Guide
• Third party packages
• FAQ
Mailing List
Direct Contact
• Email and Bugzilla
NCRR
Internal Management
Masterplan
Developer Session #3
• Procedures and content
• Module writing guide
• Dynamic document
Technical Production
• LaTeX, HTML, XML
• Support for content providers
• Online and paper forms
NCRR
Masterplan
Developer Session #3
• Roadmap
• Status report
• Dynamic
links
NCRR
Technical Production
Developer Session #3
Existing Tools
• LaTeX, latex2html,
DocBook (XML)
XML
New Tools
LaTeX
• XML DTDs,
automation
Content Generation HTML
• Voice
recording/recognition
• Technical writer
PDF
NCRR
External Support
Developer Session #3
NCRR documentation website
• Updated daily
Downloaded documentation
• Linked to installed release
• Web based and printable docs
Submitting new documentation
• Required for module submission
NCRR
Submitting New Docs
Format
Developer Session #3
• XML
- required for each module
- can include complete description
- template available, validation soon
• LaTeX
- can include complete description
- template available
NCRR
Making Docs
Developer Session #3
Merged at doc generation time
• XML and LaTeX are sources (not HTML!)
• printed documentation
• web documentation
Tools (soon available)
•
•
•
•
validation of XML and LaTeX
Convert XML to HTML and TeX
Convert LaTeX to HTML
LaTeX/TeX to printed documents
NCRR
Download