Presentation is loading. Please wait.

Presentation is loading. Please wait.

Khoros Yongqun He Dept. of Computer Science, Virginia Tech.

Similar presentations


Presentation on theme: "Khoros Yongqun He Dept. of Computer Science, Virginia Tech."— Presentation transcript:

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/


Download ppt "Khoros Yongqun He Dept. of Computer Science, Virginia Tech."

Similar presentations


Ads by Google