200 likes | 297 Vues
Design Patterns and Component Frameworks Presentation. Nathan Conklin Spring 2002 CS 6704. Course Context. Design Patterns (Strategy, Visitor, UML) Component Frameworks (JavaBeans, COM+, .NET, CORBA) Midterm Enabling Technologies (EJB, RMI, OAA, XML, CCA, JINI, WO)
E N D
Design Patterns and Component Frameworks Presentation Nathan Conklin Spring 2002 CS 6704
Course Context • Design Patterns (Strategy, Visitor, UML) • Component Frameworks (JavaBeans, COM+, .NET, CORBA) • Midterm • Enabling Technologies (EJB, RMI, OAA, XML, CCA, JINI, WO) • Architectures (Web Services, 2-tier, 3-tier) • Education & Development (Patterns in Education, XP) • End-User Component Programming (AVS, Khoros, Visual Prog.) • Architecture & Component Framework (P2P, STL) • Final
End-User Component Programming Nathan Conklin, Yonqun He Qinwei Zhu, Jiunwei Chen Spring 2002 CS 6704
(IBM’s Data Explorer) PV-Wave Component Programming Tools apE (Animation Production Environment) Sieve
Data Data Reader Statistical Module Output Writer Data Flow Model • Data input • Computational Components • Filters • Mappers • Data output
Further Information • AVS – http://www.avs.com/ • Khoros – http://www.khoral.com/ • PV-Wave – http://www.vni.com/ • IRIS Explorer – http://www.nag.co.uk/Welcome_IEC.html • OpenDX – http://www.opendx.org/ • DataSplash (Tioga) – http://datasplash.cs.berkeley.edu/ • apE – Dyer, D., "A dataflow toolkit for visualization," IEEE Computer Graphics and Applications 10(4), pp. 60--69, 1990. • Sieve – http://simon.cs.vt.edu/sieve/
Nathan Conklin Spring 2002 CS 6704
Overview & History • Application Visualization System • 1989 IEEE Computer Graphics and Applications • Scientific Visualization • Products • AVS/5, AVS/Express • Gsharp, Toolmaster • MUSE, OpenViz, VizWorks
Data Flow Example • AVS Network • Modules • Ports • Image Viewer
Modules and Ports • Data Inputs • Some optional • AVS data type • Types checked as built • Shows possible connections • Input Parameters • How processed • Interactively changed • Data Outputs
Subsystems • Network Editor • Control Panel • Image Viewer • Graph Viewer • Geometry Viewer
Network Editor • CLI • Module Library • Workspace • Network • Modules • Ports • Connections
Example Network #!/usr/bin/avs –network version 5.02 (50.65 sg2) module "read field.user.0" -xy 398,22 -ex $Path/avs_library/mongo module "volume bounds.user.1" -xy 408,172 -ex $Path/avs_library/mongo module "geometry viewer.user.3" -xy 328,262 port_connect "read field.user.0":0 "volume bounds.user.1":0 port_connect "volume bounds.user.1":0 "geometry viewer.user.3":0 panel "read field.user.0" -w panel -p "Top Level Stack" -xy 0,108 -wh 256,324 panel "volume bounds.user.1" -w panel -p "Top Level Stack" -xy 0,108 -wh 138,196 panel "geometry viewer.user.3!display" -w container -p ui -xy 732,469 -wh 542,515 manipulator "read field.user.0:Read Field Browser" -w browser -p "read field.user.0" -xy 10,10 -wh 236,194 manipulator "volume bounds.user.1:Colored Bounds" -w toggle -p "volume bounds.user.1" -xy 10,164 -wh 118,22 manipulator "geometry viewer.user.3":"Update Always" -w none manipulator "geometry viewer.user.3":"Update Image" -w none
Custom Modules • International AVS Centre • http://www.iavsc.org/ • AVS Community • Documentation • News • Module Repository • Source • Documentation
Module Generator • Generates Skeleton Modules • Source in C or FORTRAN • User can customize the module interface • Reserved areas for user-supplied code • Subroutine Modules • Module initialized and process sleeps • AVS Flow Executive wakes module • Module computes and returns output data • Coroutine Modules • Active, autonomous modules • Continually processing and passing data • Typically used for simulations
Further Information • Center for Scientific Visualization and Animation • Director - Ron Kriz (rkriz@vt.edu) • Sun Workstations • pluto.sv.vt.edu • venus.sv.vt.edu • ESM 4714