Download presentation
Presentation is loading. Please wait.
Published byVernon Gallagher Modified over 9 years ago
1
Khoros Yongqun He Dept. of Computer Science, Virginia Tech
2
What is Khoros Definition: Khoros is a software integration and development environment that emphasizes information processing and data exploration. Goal: provide a complete application development environment that redefines the software engineering process to include all members of the project group, from the application end-users to the infrastructure programmer.
3
What Khoros Offers Solutions for scientific and engineering problems Visual programming environment for solution creation and problem solving Software development environment and tools Libraries for portability, scalability, data access, GUI creation, data visualization Visualization applications More than 90,000 lines of code
4
History of Khoros Originated as a research project at the Univ. of New Mexico Khoros Pro 2001: by Khoral Inc. – no longer free 2001
5
Khoros for End Users Offers > 300 Programs (operators) for: Information processing Data exploration Data visulization All programs are available via Cantata Cantata: visual programming environment
6
Khoros for Developers The Khoros Toolbox Programmer’s System Programming services Software development tools The Software Development Environment Direct manipulation GUI design tool Automatic code generation Standardized user interface and documentation Interactive configuration management Software integration: bring in existing programs
7
Organization of Khoros Toolbox – collection of programs and/or libraries that are managed as a single entity, or object. Data Models
8
Khoros Toolboxes Bootstrap -- Installation & make utilities. Required Dataserv -- Data services. Required Design -- Software development system. Required Support – Utilities for software development system Datamanip -- Polymorphic Data Processing Operators Envision -- Interactive Data Exploration Tools Geometry -- 3D Scalar and Vector Visualization Image -- Image Processing & Analysis Operators Matrix -- Matrix Operators Migration – Utilities for migration from K1 to K2 Sample Data -- Sample Workspaces and Data
9
Khoros Toolbox Dependencies Bootstrap must be installed first Dataserv depends on Bootstrap Similarly, … Sampledata contains only data, independent
10
The Bootstrap Toolbox Contains the base utilities for installing the Khoros software: Installit: the installation script Kconfigure: configures the user environment Kgenimake: generates Imakefiles Kgenmake: generates Makefiles Kimake: on which kgenmake depends Also includes the lowest-level libraries in the Khoros system
11
The Dataserv Toolbox Consists of a collection of libraries which together comprise Data Services, a powerful system for accessing and manipulating data. Objective of Data Services: access and operate on data independent of its file format or its physical characteristics such as size or data type
12
The Design Toolbox -- Programming Tools The Khoros Toolbox Programmer’s System Cantata – Advanced data flow visual language Craftsman – toolbox and software objects manager; create software objects Composer – edit, manipulate, and compile existing software objects Guise – GUI specification editor Khelp – displays online hellp pages Also includes GUI and Visualization Services Libraries
13
Khoros Data Models Polymorphic Data Model: up to N dimensions width, height, depth, time, and elements. Geometry Data Model: dimensions Spheres, triangles, lines, … Color Data Model
14
Data Operators in Toolboxes Address needs of many application domains
15
Cantata Definition : a graphically expressed, data flow visual language which provides a visual programming environment within the Khoros system. Data flow : a "naturally visible" approach in which a visual program is described as a directed graph, where each node represents an operator or function and each directed arc represents a path over which data flows. Icons (Glyphs) represent programs: hundreds Glyphs executed locally or remotely Glyphs process data in both blocks and streams Develop interactive programs visually by combining glyphs into a complete program
16
Standard Glyph Components (Fig)
17
Standard Glyph Components Input (Output) Data Connection Node: Zero to many Yellow: required; Blue: optional Input (Output) Control Connection Node: One for each glyph Delay execution of the glyph until another (this) glyph is executed. Pane Access Button: One for each glyph in the upper-left corner Display the GUI (pane), specify argument values Run Button: Execute the program (operator) by the glyph
18
Input/Output: Glyph Connections Output of one operator becomes input of another one Prevent the 2 nd glyph from executing until the 1 st one has done so
19
Ready to Play ? What is the order to execute ?
20
Manipulating Connections Click left mouse button: Delete Connection Save Data to File: for data flow connections only Connection Options: line width, color, connection type.
21
Control Structures Conditional constructs If/Else Merge: merge two separate data flow paths Switch Trigger: execute under certain condition Expression: set a variable value Looping constructs Count Loop While Loop:
22
References Khoros Manuals: http://rab.ict.pwr.wroc.pl/khoros_root/topmost_toc.html http://rab.ict.pwr.wroc.pl/khoros_root/topmost_toc.html Khoral Inc: -- Khoros Pro 2001 IDE: http://www.khoral.com/ http://www.khoral.com/ Wei Yu Presentation in 1999 for CS6704: http://ei.cs.vt.edu/~cs6704/Khoros_C.pdf http://ei.cs.vt.edu/~cs6704/Khoros_C.pdf Khoros Information at LBNL: http://www-vis.lbl.gov/software/khoros.html http://www-vis.lbl.gov/software/khoros.html Khoros Programming Tutorial: http://www.cab.u-szeged.hu/local/doc/khoros/Tutorial/ http://www.cab.u-szeged.hu/local/doc/khoros/Tutorial/ Khoros Pro 2000 Programming Tutorial http://www.cse.sc.edu/~kubota/csce763/KhorosTutorial/manual/ http://www.cse.sc.edu/~kubota/csce763/KhorosTutorial/manual/ Khoros 1 and 2 Information: http://www.tnt.uni-hannover.de/js/soft/imgproc/khoros/ http://www.tnt.uni-hannover.de/js/soft/imgproc/khoros/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.